ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
57 lines (56 loc) • 2.59 kB
TypeScript
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;
}