ag-grid-enterprise
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
26 lines (25 loc) • 1.4 kB
TypeScript
import type { Bean, BeanCollection, Column, GridOptionsService, GroupingApproach, RowNode, StageExecuteParams } from 'ag-grid-community';
export interface IRowGroupingStrategy<TData = any> extends Bean {
execute(params: StageExecuteParams<TData>, approach: GroupingApproach): boolean | undefined | void;
/** Called to reset the state when the strategy changes */
reset?(): void;
/** Gets a group or a filler node, as those nodes do not exists in ClientSideNodeManager */
getNode(id: string): RowNode<TData> | undefined;
}
export interface GroupingRowNode<TData = any> extends RowNode<TData> {
parent: this | null;
allLeafChildren: this[] | null;
childrenAfterGroup: this[] | null;
treeParent: this | null;
treeNodeFlags: number;
sibling: this;
sourceRowIndex: number;
}
/**
* Returns if the node and all of its parents are all firstChild until ancestor node is reached
* This is to check for [groupHideOpenParents] where we only show the expand controls for first child of a group
*
* @returns returns if node and all of its parents are first child until ancestor node is reached
*/
export declare function _isHiddenParent(node: RowNode, ancestor: RowNode, gos: GridOptionsService): boolean;
export declare function _getGroupValue(column: Column | null | undefined, node: RowNode, displayedNode: RowNode, beans: BeanCollection): string | null;