envoc-change-logs
Version:
Provides a consistent table for showing change log info provided by Envoc.Core.EF.ChangeLogging
34 lines (33 loc) • 1.28 kB
TypeScript
import type { ReactNode, TableHTMLAttributes } from 'react';
import type { Column as RTColumn } from 'react-table';
import type { EntityChange } from './ChangeLogging';
export declare let defaultColumns: Column<EntityChange>[];
declare type TableContext<TData extends object = {}> = {
rowState: any;
setRowState: (state: any) => void;
pageIndex: number;
setPageIndex: (page: number) => void;
pageSize?: number;
setPageSize: (page: number) => void;
requestBodyState: any;
setRequestBodyState: (state: any) => void;
loading: boolean;
error: any;
submitRequest: () => void;
data: TData[];
columns: Column<TData>[];
totalFilteredRecords: number;
totalRecords: number;
};
export declare type BasicTableProps<T extends object = {}> = {
columns?: Column<T>[];
loadingComponent?: ReactNode;
noDataComponent?: ReactNode;
overrideColumns?: (columns: Column<T>[]) => Column<T>[];
tableContextInstance?: TableContext<T>;
} & TableHTMLAttributes<HTMLTableElement>;
export declare type Column<T extends object = {}> = {
sortable?: boolean;
} & RTColumn<T>;
export default function ChangeLoggingTable<T extends EntityChange>(props: BasicTableProps<T>): JSX.Element;
export {};