UNPKG

ag-grid-enterprise

Version:

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

95 lines (94 loc) 4.29 kB
import type { AdvancedFilterModel, AgColumn, BeanCollection, ColumnVO, FilterModel, IServerSideDatasource, IServerSideRowModel, IServerSideStore, LoadSuccessParams, NamedBean, RefreshServerSideParams, RowBounds, RowModelType, ServerSideGroupLevelState, SortModelItem, StoreRefreshAfterParams } from 'ag-grid-community'; import { BeanStub, NumberSequence, RowNode } from 'ag-grid-community'; export interface SSRMParams { sortModel: SortModelItem[]; filterModel: FilterModel | AdvancedFilterModel | null; lastAccessedSequence: NumberSequence; dynamicRowHeight: boolean; rowGroupCols: ColumnVO[]; valueCols: ColumnVO[]; pivotCols: ColumnVO[]; pivotMode: boolean; datasource?: IServerSideDatasource; } export declare class ServerSideRowModel extends BeanStub implements NamedBean, IServerSideRowModel { beanName: "rowModel"; private columnModel; private columnNameService; private pivotResultColsService; private funcColsService; private filterManager?; private sortController; private rowRenderer; private nodeManager; private storeFactory; private beans; private pivotColDefService?; wireBeans(beans: BeanCollection): void; private onRowHeightChanged_debounced; private rootNode; private datasource; private storeParams; private pauseStoreUpdateListening; private started; private managingPivotResultColumns; ensureRowHeightsValid(): boolean; start(): void; private destroyDatasource; postConstruct(): void; private updateDatasource; private verifyProps; setDatasource(datasource: IServerSideDatasource): void; applyRowData(rowDataParams: LoadSuccessParams, startRow: number, route: string[]): void; isLastRowIndexKnown(): boolean; private onColumnEverything; private destroyRootStore; refreshAfterSort(newSortModel: SortModelItem[], params: StoreRefreshAfterParams): void; generateSecondaryColumns(pivotFields: string[]): void; resetRowHeights(): void; private resetRowHeightsForAllRowNodes; resetRootStore(): void; columnsToValueObjects(columns: AgColumn[]): ColumnVO[]; private createStoreParams; getParams(): SSRMParams; private dispatchModelUpdated; private onStoreUpdated; /** This method is debounced. It is used for row auto-height. If we don't debounce, * then the Row Models will end up recalculating each row position * for each row height change and result in the Row Renderer laying out rows. * This is particularly bad if using print layout, and showing eg 1,000 rows, * each row will change it's height, causing Row Model to update 1,000 times. */ onRowHeightChangedDebounced(): void; onRowHeightChanged(): void; updateRowIndexesAndBounds(): void; retryLoads(): void; getRow(index: number): RowNode | undefined; /** * Pauses the store, to prevent it updating the UI. This is used when doing batch updates to the store. */ setPaused(paused: boolean): void; expandAll(value: boolean): void; refreshAfterFilter(newFilterModel: FilterModel | AdvancedFilterModel | null, params: StoreRefreshAfterParams): void; getRootStore(): IServerSideStore | undefined; getRowCount(): number; getTopLevelRowCount(): number; getTopLevelRowDisplayedIndex(topLevelIndex: number): number; getRowBounds(index: number): RowBounds; getBlockStates(): any; getRowIndexAtPixel(pixel: number): number; isEmpty(): boolean; isRowsToRender(): boolean; getType(): RowModelType; forEachNode(callback: (rowNode: RowNode, index: number) => void): void; forEachNodeAfterFilterAndSort(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean): void; /** @return false if store hasn't started */ executeOnStore(route: string[], callback: (cache: IServerSideStore) => void): boolean; refreshStore(params?: RefreshServerSideParams): void; getStoreState(): ServerSideGroupLevelState[]; getNodesInRangeForSelection(firstInRange: RowNode, lastInRange: RowNode): RowNode[]; getRowNode(id: string): RowNode | undefined; isRowPresent(rowNode: RowNode): boolean; setRowCount(rowCount: number, lastRowIndexKnown?: boolean): void; destroy(): void; }