UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

57 lines (56 loc) 2.59 kB
import { IRowModel } from './iRowModel'; import { RowNodeTransaction } from './rowNodeTransaction'; import { RowDataTransaction } from './rowDataTransaction'; import { RowNode } from '../entities/rowNode'; import { RowHighlightPosition } from '../interfaces/iRowNode'; import { ChangedPath } from '../utils/changedPath'; export declare type ClientSideRowModelStep = `${ClientSideRowModelSteps}`; export declare enum ClientSideRowModelSteps { EVERYTHING = "group", FILTER = "filter", SORT = "sort", MAP = "map", AGGREGATE = "aggregate", FILTER_AGGREGATES = "filter_aggregates", PIVOT = "pivot", NOTHING = "nothing" } export interface IClientSideRowModel<TData = any> extends IRowModel { onRowGroupOpened(): void; updateRowData(rowDataTran: RowDataTransaction<TData>, rowNodeOrder?: { [id: string]: number; } | null): RowNodeTransaction<TData> | null; setRowData(rowData: any[]): void; refreshModel(paramsOrStep: RefreshModelParams | ClientSideRowModelStep | undefined): void; expandOrCollapseAll(expand: boolean): void; forEachLeafNode(callback: (node: RowNode, index: number) => void): void; forEachNodeAfterFilter(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean): void; forEachNodeAfterFilterAndSort(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean): void; forEachPivotNode(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean): void; resetRowHeights(): void; onRowHeightChanged(): void; onRowHeightChangedDebounced(): void; batchUpdateRowData(rowDataTransaction: RowDataTransaction<TData>, callback?: (res: RowNodeTransaction<TData>) => void): void; flushAsyncTransactions(): void; getRootNode(): RowNode; doAggregate(changedPath?: ChangedPath): void; getTopLevelNodes(): RowNode[] | null; ensureRowsAtPixel(rowNode: RowNode[], pixel: number, increment: number): boolean; highlightRowAtPixel(rowNode: RowNode | null, pixel?: number): void; getHighlightPosition(pixel: number, rowNode?: RowNode): RowHighlightPosition; getLastHighlightedRowNode(): RowNode | null; isRowDataLoaded(): boolean; } export interface RefreshModelParams<TData = any> { step: ClientSideRowModelSteps; keepRenderedRows?: boolean; animate?: boolean; keepEditingRows?: boolean; rowNodeTransactions?: RowNodeTransaction<TData>[]; rowNodeOrder?: { [id: string]: number; }; newData?: boolean; afterColumnsChanged?: boolean; keepUndoRedoStack?: boolean; }