UNPKG

@dccs/react-datagrid-mui

Version:

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

41 lines (40 loc) 1.56 kB
import * as React from "react"; import { SortDirection } from "@dccs/react-table-mui"; import { OnLoadData } from "."; import { IParams } from "./IParams"; import { PropType } from "@dccs/react-table-mui/lib/IColDef"; export interface IDataState<T extends object, F extends object> extends IParams<T, F> { setTotal: (total: number) => void; setPage: (page: number) => void; setRowsPerPage: (rpp: number) => void; setOrderBy: (orderBy: PropType<T>) => void; setSort: (sort: SortDirection | undefined) => void; setFilter: (filter: F | undefined) => void; setFilterProp: (key: keyof F, value: any) => void; allowLoad: boolean; setAllowLoad: React.Dispatch<React.SetStateAction<boolean>>; error: boolean; loading: boolean; data: T[]; reload: () => void; handleChangePage(p: number): void; handleChangeRowsPerPage(rows: number): void; handleChangeOrderBy(ob: PropType<T>): void; handleChangeFilter(ob: PropType<T>, value: any): void; load(): void; } export interface IPersistState { store: "localStorage" | "sessionStorage"; uniqueID: string; } export interface IUseDataStateProps<T extends object, F extends object> { onLoadData: OnLoadData<T, F>; initialRowsPerPage?: number; initialOrderBy?: PropType<T>; initialSort?: SortDirection; initialLoad?: boolean; initialPage?: number; initialFilter?: F; persistState?: IPersistState; } export declare function useDataState<T extends object, F extends object>(props: IUseDataStateProps<T, F>): IDataState<T, F>;