UNPKG

@activecollab/components

Version:

ActiveCollab Components

50 lines 1.63 kB
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