UNPKG

@dccs/react-datagrid-plain

Version:
66 lines (65 loc) 2.6 kB
import * as React from "react"; import { IColDef, ITablePlainProps as ITableProps, SortDirection } from "@dccs/react-table-plain"; import { IState } from "./IState"; import { IDataState, IUseDataStateProps } from "./useDataState"; export declare type OnLoadData = (page: number, rowsPerPage: number, orderBy: string | undefined, sort: SortDirection | undefined, filter: { [key: string]: any; } | undefined) => Promise<{ total: number; data: any[]; }>; export interface IRenderPagingProps extends IState { backIconButtonText?: string; nextIconButtonText?: string; labelRowsPerPage?: string; labelDisplayedRows?: ({ count, from, to, }: { count?: number; from?: number; to?: number; }) => string; handleChangePage: (page: number) => void; handleChangeRowsPerPage: (rows: number) => void; } export interface IDataGridTexts { errorText?: string; loadingText?: string; pagingText?: string; reloadText?: string; backIconButtonText?: string; nextIconButtonText?: string; labelRowsPerPage?: string; labelDisplayedRows?: ({ count, from, to, }: { count?: number; from?: number; to?: number; }) => string; } export interface IDataGridWithExternalStateProps extends IDataGridProps { state?: IDataState; } export interface IDataGridWithInternalStateProps extends IDataGridProps, IUseDataStateProps { } export interface IDataGridProps { texts?: IDataGridTexts; colDef: IColDef[]; disablePaging?: boolean; tableTheme?: any; onRowClick?: (data: any) => void; subComponent?: (data: any) => React.ReactNode; renderTable?: (ps: ITableProps) => React.ReactElement; renderLoading?: () => React.ReactElement; renderError?: (load: () => void, errorText?: string, reloadText?: string) => React.ReactElement; renderPaging?: (props: IRenderPagingProps) => React.ReactElement; renderHeaderCell?: (col: IColDef, idx: number) => React.ReactNode; renderFooterCell?: (col: IColDef, data: any[], idx: number) => React.ReactNode; renderFilter?: (col: IColDef, idx: number) => React.ReactNode; renderExpansionIndicator?: (expanded: boolean) => React.ReactNode; rowProps?: (data: any) => object; cellProps?: (data: any) => object; ellipsis?: boolean; selectedRow?: any | any[]; onChangeSelectedRow?: (data: any) => void; selectedRowProps?: (data: any) => object; rowSelectionColumnName?: string; } export declare function DataGridPlain(props: IDataGridWithInternalStateProps | IDataGridWithExternalStateProps): JSX.Element;