@activecollab/components
Version:
ActiveCollab Components
50 lines • 1.63 kB
TypeScript
import { FC, ReactNode } from "react";
import { ITableProps } from "./Table";
export declare enum SortDirection {
None = "none",
Asc = "asc",
Desc = "desc"
}
interface IHeaderDefinition {
key: string;
label?: string;
sortable?: boolean;
renderCallback?: (row: object, key?: string, index?: number) => ReactNode;
style?: object;
hideCollapsed?: boolean;
}
export interface IDataTableProps extends ITableProps {
/** Object of header name, sort and style. */
header: IHeaderDefinition[];
/** Object of rows. */
rows?: object[];
/** CSS classes. */
className?: string;
/** Name of row by which we are sorting. */
sortBy?: string;
/** Direction by which we are sorting. */
sortDirection?: SortDirection;
/** Callback for sorting. */
onSortCallback?: (sortKey: string, sortDirection: SortDirection) => void;
/** Switch for column highlighting. */
columnHighlight?: boolean;
/** CSS classes for thead. */
theadClass?: string;
/** Column by which is data-table grouped. */
groupBy?: string;
/** No results Callback. */
noResultsCallback?: () => ReactNode;
/** Header of grouped list in data-table. */
groupHead?: (row: object, index: string | null) => ReactNode;
/** Grouped rows can be collapsed */
isCollapsible?: boolean;
/** Value to replace when column is empty */
emptyValue?: object;
/** loading indicator */
loading?: boolean;
/** loading rows */
loadingRows?: number;
}
export declare const DataTable: FC<IDataTableProps>;
export {};
//# sourceMappingURL=DataTable.d.ts.map