@dccs/react-table-mui
Version:
A Material-UI implementation of react-table-plain
32 lines (31 loc) • 1.37 kB
TypeScript
import { IColDef, PropType } from "./IColDef";
import * as React from "react";
import { ChangeFilterHandler, SortDirection } from "./index";
import { ITableElements } from "./ITableElements";
export interface ITableMuiProps<T extends object, F extends object> {
data: T[];
colDef?: IColDef<T>[];
orderBy?: PropType<T>;
sort?: SortDirection;
onChangeOrderBy?: (orderBy: PropType<T>) => void;
onChangeFilter?: ChangeFilterHandler<T>;
onRowClick?: (data: T) => void;
renderRoot?: (children: React.ReactNode) => React.ReactNode;
renderHeaderCell?: (col: IColDef<T>, idx: number) => React.ReactNode;
renderFooterCell?: (col: IColDef<T>, data: T[], idx: number) => React.ReactNode;
renderFilter?: (col: IColDef<T>, idx: number) => React.ReactNode;
renderExpansionIndicator?: (expanded: boolean) => React.ReactNode;
subComponent?: (data: T) => React.ReactNode;
rowProps?: (data: T) => object;
cellProps?: (data: T) => object;
filter?: F;
defaultFilter?: F;
alternateRowBackgroundColor?: string;
ellipsis?: boolean;
selectedRow?: T | T[];
onChangeSelectedRow?: (data: T) => void;
selectedRowProps?: (data: T) => object;
rowSelectionColumnName?: string;
filterBlur?: boolean;
}
export type TableProps<T extends object, F extends object> = ITableMuiProps<T, F> & ITableElements<T>;