ag-grid-enterprise
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
24 lines (23 loc) • 1.55 kB
TypeScript
import type { Bean, GridOptions, GridOptionsService, NestedDataGetter, RefreshModelParams, RowNode } from 'ag-grid-community';
export interface IRowGroupingStrategy<TData = any> extends Bean {
/** Getter for grid option treeDataChildrenField, only not null for tree nested data. */
readonly nestedDataGetter?: NestedDataGetter<TData> | null;
/** Map of group nodes (for grouping) or filler nodes (for treeData) by their id. Used by ClientSideRowModel. */
readonly nonLeafsById: ReadonlyMap<string, RowNode<TData>> | null;
onPropChange?(changedProps: ReadonlySet<keyof GridOptions<any>> | null): void;
onShowRowGroupColsSetChanged(): void;
execute(rootNode: RowNode<TData>, params: RefreshModelParams<TData>): boolean | undefined | void;
/** Used to lazily compute and store groupData for a row node */
loadGroupData(node: RowNode<TData>): Record<string, any> | null;
/** Clears any cached group/filler nodes maintained by the strategy without dispatching position events. */
clearNonLeafs(): void;
/** Called when row group columns changes */
invalidateGroupCols?(): void;
}
/**
* 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;