UNPKG

visual-grid

Version:
74 lines (73 loc) 1.74 kB
import { CellRenderer, CellEditor, CellTransformer } from "./grid/cell"; import Grid from "./grid"; export interface MenuItem { separator?: boolean; disabled?: boolean; name?: string; icon?: string; action?: () => void; subMenus?: MenuItem[]; } export interface GetContextMenuItemsParams { row: string; column: string; grid: Grid; } export interface Styles { [key: string]: string; } export interface CellPosition { row: string; column: string; } export interface Coordinate { x: number; y: number; } export interface Boundary { left: boolean; right: boolean; top: boolean; bottom: boolean; } export interface RowData { id: string; [key: string]: any; } interface ICellRenderer { new (): CellRenderer<unknown>; } interface ICellEditor { new (): CellEditor<unknown>; } export declare type Pinned = 'left' | 'right' | undefined; export interface BaseColumnOptions { width?: number; minWidth?: number; flex?: number; resizable?: boolean; pinned?: Pinned; transformer?: CellTransformer; cellRender?: ICellRenderer; cellParams?: any; cellEditor?: ICellEditor; } export interface ColumnOptions extends BaseColumnOptions { field: string; headerName?: string; readonly?: boolean; } export declare type Fillable = 'x' | 'y' | 'xy' | undefined; export interface GridOptions { width?: string; height?: string; columns: ColumnOptions[]; defaultColumnOption?: BaseColumnOptions; rows: RowData[]; headerHeight?: number; rowHeight?: number; preloadRowCount?: number; fillable?: Fillable; getContextMenuItems?: (params: GetContextMenuItemsParams) => MenuItem[]; } export {};