tabletable
Version:
A simple and extremely flexible table component written in React.
26 lines (25 loc) • 841 B
TypeScript
import { List, Map } from 'immutable';
export type Data = List<Map<string, any>>;
export type Row = Map<string, any>;
export type Context = any;
export type Column = {
create?: (fieldError: boolean) => React.ReactNode;
data?: (Row: any, number: number, Context: any) => React.ReactNode;
edit?: (Row: any, number: number, Context: any, fieldError: boolean) => React.ReactNode;
display: string;
elementCssClass?: ((Row: any, number: number, Context: any) => string) | string;
headerCssClass?: string;
key?: string;
sortable?: boolean;
visible?: boolean;
};
export type RowError = {
key?: string;
errorMessage: string;
};
export type SortDirection = 'asc' | 'desc';
export type SortCriteria = {
key: string;
direction: SortDirection;
};
export type TableMode = 'create' | 'edit' | 'display';