UNPKG

@dccs/react-datagrid-mui

Version:

A light datagrid build upon react-table-plain for React in a Material-UI theme.

43 lines (38 loc) 1.47 kB
import { ITableMuiProps } from "@dccs/react-table-mui/lib/Props"; import { IDataState, IUseDataStateProps } from "."; import { IDataGridTexts } from "./IDataGridTexts"; import { IParams } from "./IParams"; // Take everything from the base TableMuiProps and modify it a little bit. export type IDataGridProps<T extends object, F extends object> = Omit<ITableMuiProps<T, F>, "data"> & { texts?: IDataGridTexts; disablePaging?: boolean; renderLoading?: () => React.ReactElement; renderError?: ( load: () => void, errorText?: string, reloadText?: string ) => React.ReactElement; renderPaging?: (props: IRenderPagingProps<T, F>) => React.ReactElement; } export interface IDataGridWithExternalStateProps<T extends object, F extends object> extends IDataGridProps<T, F> { state?: IDataState<T, F>; } export interface IDataGridWithInternalStateProps<T extends object, F extends object> extends IDataGridProps<T, F>, IUseDataStateProps<T, F> {} export interface IRenderPagingProps<T extends object, F extends object> extends IParams<T, F> { backIconButtonText?: string; nextIconButtonText?: string; labelRowsPerPage?: string; // Example labelDisplayedRows={({ from, to, count }) => `${from}-${to} von ${count}`} labelDisplayedRows?: ({ count, from, to, }: { count?: number; from?: number; to?: number; }) => string; handleChangePage: (page: number) => void; handleChangeRowsPerPage: (rows: number) => void; }