UNPKG

ag-grid-enterprise

Version:

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

49 lines (48 loc) 2.51 kB
import type { ChangedPath, InitialGroupOrderComparatorParams, IsGroupOpenByDefaultParams, RefreshModelParams, WithoutGridCommon } from 'ag-grid-community'; import { AbstractClientSideNodeManager, RowNode } from 'ag-grid-community'; import { TreeNode } from './treeNode'; export type IsGroupOpenByDefaultCallback = ((params: WithoutGridCommon<IsGroupOpenByDefaultParams>) => boolean) | undefined; export type InitialGroupOrderComparatorCallback = ((params: WithoutGridCommon<InitialGroupOrderComparatorParams>) => number) | undefined; export declare abstract class AbstractClientSideTreeNodeManager<TData> extends AbstractClientSideNodeManager<TData> { private oldGroupDisplayColIds; /** Rows that are pending deletion, this.commitDeletedRows() will finalize removal. */ private rowsPendingDestruction; /** The root node of the tree. */ treeRoot: TreeNode | null; activate(rootNode: RowNode<TData>): void; destroy(): void; deactivate(): void; /** Add or updates the row to a non-root node, preparing the tree correctly for the commit. */ protected treeSetRow(node: TreeNode, newRow: RowNode, created: boolean): boolean; /** * Overwrites the row property of a non-root node to null. * @returns The previous row, if any, that was overwritten. */ protected treeRemove(node: TreeNode, oldRow: RowNode): void; /** Commit the changes performed to the tree */ protected treeCommit(changedPath?: ChangedPath): void; /** Calls commitChild for each invalidated child, recursively. We commit only the invalidated paths. */ private treeCommitChildren; /** Commit the changes performed to a node and its children */ private treeCommitChild; private treeCommitPreOrder; private treeCommitPostOrder; private createFillerRow; private setGroupData; /** Called to clear a subtree. */ treeClear(node: TreeNode): void; /** Called by the deactivate, to destroy the whole tree. */ private treeDestroy; /** * Finalizes the deletion of a row. * @param immediate If true, the row is deleted immediately. * If false, the row is marked for deletion, and will be deleted later with this.deleteDeletedRows() */ private destroyRow; /** * destroyRow can defer the deletion to the end of the commit stage. * This method finalizes the deletion of rows that were marked for deletion. */ private commitDestroyedRows; refreshModel(params: RefreshModelParams<TData>): void; }