UNPKG

@visualjs/grid

Version:
74 lines (73 loc) 2.22 kB
import { Pinned, ColumnsDef, ColumnOptions, BaseColumnOptions, GetColumnMenuItemsParams, MenuItem, GroupData } from "../../../types"; import { Store as BaseStore } from "../../../grid/store"; export interface Actions { updateColumnPinned: { field: string; pinned: Pinned; }; updateColumnVisible: { field: string; visible: boolean; }; updateColumnWidth: { field: string; width?: number; flex?: number; }; updateColumnName: { field: string; name: string; }; updateGroupCollapsed: { group: string; collapsed: boolean; }; updateGroupName: { group: string; name: string; }; setColumns: { columns: ColumnsDef; defaultOptions?: BaseColumnOptions; }; setHeight: number; } export interface State { columnsDef: ColumnsDef; pinnedLeftColumns: string[]; pinnedRightColumns: string[]; normalColumns: string[]; columns: Record<string, ColumnOptions>; groups: string[][]; groupsData: Record<string, GroupData>; height: number; getColumnMenuItems?: (params: GetColumnMenuItemsParams) => MenuItem[]; } export declare const defaultColumnOptions: BaseColumnOptions; export declare class Store extends BaseStore<State, Actions> { constructor(initial?: Partial<State>); protected setColumns: (columnOptions: ColumnOptions[], defaultColumnOption?: BaseColumnOptions) => { pinnedLeftColumns: string[]; pinnedRightColumns: string[]; normalColumns: string[]; columns: Record<string, ColumnOptions>; }; /** * Actions */ getColumnOptions(column: string): ColumnOptions; getColumnOptionsByIndex(x: number): ColumnOptions; getColumnIndex(field: string): number; getColumnByIndex(x: number): string; getGroupWidth(id: string, columns?: string[]): { width: number; flex: number; }; toggleGroupCollapsed(group: string): void; protected lookForColumn(columnsDef: ColumnsDef, field: string): { parent: ColumnsDef; index: number; }; moveColumn(column: string, toColumn: string): void; } export default Store;