ag-grid-community 32.0.2 → 32.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +503 -85
  2. package/dist/ag-grid-community.js +9676 -6678
  3. package/dist/ag-grid-community.min.js +1 -1
  4. package/dist/ag-grid-community.min.noStyle.js +1 -1
  5. package/dist/ag-grid-community.noStyle.js +9577 -6573
  6. package/dist/package/main.cjs.js +9425 -6504
  7. package/dist/package/main.cjs.min.js +81 -70
  8. package/dist/package/main.esm.min.mjs +92 -81
  9. package/dist/package/main.esm.mjs +9424 -6503
  10. package/dist/package/package.json +34 -7
  11. package/dist/types/client-side-row-model/clientSideRowModel/clientSideNodeManager.d.ts +16 -3
  12. package/dist/types/client-side-row-model/clientSideRowModel/clientSideRowModel.d.ts +27 -7
  13. package/dist/types/client-side-row-model/clientSideRowModel/clientSideRowModelApi.d.ts +1 -0
  14. package/dist/types/client-side-row-model/clientSideRowModel/immutableService.d.ts +2 -1
  15. package/dist/types/client-side-row-model/clientSideRowModel/sortService.d.ts +1 -0
  16. package/dist/types/client-side-row-model/clientSideRowModelModule.d.ts +3 -4
  17. package/dist/types/client-side-row-model/version.d.ts +1 -1
  18. package/dist/types/core/alignedGridsModule.d.ts +1 -2
  19. package/dist/types/core/alignedGridsService.d.ts +1 -0
  20. package/dist/types/core/api/apiFunctionService.d.ts +6 -5
  21. package/dist/types/core/api/apiModule.d.ts +10 -11
  22. package/dist/types/core/api/apiUtils.d.ts +1 -1
  23. package/dist/types/core/api/gridApi.d.ts +621 -523
  24. package/dist/types/core/api/gridApiFunctions.d.ts +255 -0
  25. package/dist/types/core/api/sharedApiModule.d.ts +2 -3
  26. package/dist/types/core/api/ssrmInfiniteSharedApi.d.ts +1 -0
  27. package/dist/types/core/columns/columnEventDispatcher.d.ts +6 -4
  28. package/dist/types/core/columns/columnFactory.d.ts +6 -1
  29. package/dist/types/core/columns/columnModel.d.ts +11 -4
  30. package/dist/types/core/columns/columnModule.d.ts +2 -3
  31. package/dist/types/core/columns/columnUtils.d.ts +1 -0
  32. package/dist/types/core/columns/columnViewportService.d.ts +1 -0
  33. package/dist/types/core/columns/controlsColService.d.ts +11 -0
  34. package/dist/types/core/columns/dataTypeService.d.ts +3 -10
  35. package/dist/types/core/components/componentUtil.d.ts +2 -2
  36. package/dist/types/core/components/emptyBean.d.ts +21 -0
  37. package/dist/types/core/components/framework/componentTypes.d.ts +1 -0
  38. package/dist/types/core/components/framework/frameworkComponentWrapper.d.ts +1 -2
  39. package/dist/types/core/components/framework/userComponentFactory.d.ts +3 -1
  40. package/dist/types/core/components/framework/userComponentRegistry.d.ts +3 -1
  41. package/dist/types/core/context/beanStub.d.ts +2 -3
  42. package/dist/types/core/context/context.d.ts +8 -3
  43. package/dist/types/core/ctrlsService.d.ts +9 -6
  44. package/dist/types/core/dragAndDrop/dragAndDropImageComponent.d.ts +24 -0
  45. package/dist/types/core/dragAndDrop/dragAndDropService.d.ts +22 -10
  46. package/dist/types/core/dragAndDrop/dragModule.d.ts +1 -2
  47. package/dist/types/core/dragAndDrop/dragService.d.ts +4 -0
  48. package/dist/types/core/edit/cellEditors/simpleCellEditor.d.ts +2 -2
  49. package/dist/types/core/edit/editModule.d.ts +9 -10
  50. package/dist/types/core/edit/editService.d.ts +1 -1
  51. package/dist/types/core/edit/rowEditService.d.ts +1 -1
  52. package/dist/types/core/entities/agColumn.d.ts +4 -2
  53. package/dist/types/core/entities/agColumnGroup.d.ts +5 -0
  54. package/dist/types/core/entities/colDef.d.ts +26 -16
  55. package/dist/types/core/entities/dataType.d.ts +7 -0
  56. package/dist/types/core/entities/gridOptions.d.ts +248 -13
  57. package/dist/types/core/entities/rowNode.d.ts +69 -25
  58. package/dist/types/core/environment.d.ts +7 -4
  59. package/dist/types/core/eventService.d.ts +3 -3
  60. package/dist/types/core/eventTypes.d.ts +3 -3
  61. package/dist/types/core/events.d.ts +58 -12
  62. package/dist/types/core/filter/columnFilterService.d.ts +3 -1
  63. package/dist/types/core/filter/filterManager.d.ts +2 -0
  64. package/dist/types/core/filter/filterModule.d.ts +13 -14
  65. package/dist/types/core/filter/provided/iScalarFilter.d.ts +2 -0
  66. package/dist/types/core/filter/provided/providedFilter.d.ts +1 -1
  67. package/dist/types/core/focusService.d.ts +12 -2
  68. package/dist/types/core/grid.d.ts +10 -1
  69. package/dist/types/core/gridBodyComp/abstractFakeScrollComp.d.ts +3 -2
  70. package/dist/types/core/gridBodyComp/gridBodyCtrl.d.ts +8 -1
  71. package/dist/types/core/gridBodyComp/gridBodyScrollFeature.d.ts +10 -5
  72. package/dist/types/core/gridBodyComp/navigationService.d.ts +3 -1
  73. package/dist/types/core/gridBodyComp/rowContainer/rowContainerCtrl.d.ts +7 -3
  74. package/dist/types/core/gridBodyComp/rowDragFeature.d.ts +3 -2
  75. package/dist/types/core/gridBodyComp/scrollVisibleService.d.ts +10 -2
  76. package/dist/types/core/gridComp/gridCtrl.d.ts +5 -1
  77. package/dist/types/core/gridCoreModule.d.ts +2 -8
  78. package/dist/types/core/gridOptionsService.d.ts +10 -38
  79. package/dist/types/core/gridOptionsUtils.d.ts +54 -0
  80. package/dist/types/core/headerRendering/cells/abstractCell/abstractHeaderCellCtrl.d.ts +9 -6
  81. package/dist/types/core/headerRendering/cells/column/headerCellCtrl.d.ts +7 -6
  82. package/dist/types/core/headerRendering/cells/column/selectAllFeature.d.ts +6 -0
  83. package/dist/types/core/headerRendering/cells/columnGroup/headerGroupCellComp.d.ts +1 -0
  84. package/dist/types/core/headerRendering/cells/columnGroup/headerGroupCellCtrl.d.ts +6 -1
  85. package/dist/types/core/headerRendering/cells/floatingFilter/headerFilterCellCtrl.d.ts +2 -1
  86. package/dist/types/core/headerRendering/columnDrag/bodyDropPivotTarget.d.ts +1 -0
  87. package/dist/types/core/headerRendering/columnDrag/bodyDropTarget.d.ts +2 -0
  88. package/dist/types/core/headerRendering/columnDrag/moveColumnFeature.d.ts +21 -4
  89. package/dist/types/core/headerRendering/columnMoveHelper.d.ts +20 -10
  90. package/dist/types/core/headerRendering/gridHeaderCtrl.d.ts +1 -0
  91. package/dist/types/core/headerRendering/row/headerRowCtrl.d.ts +4 -8
  92. package/dist/types/core/headerRendering/rowContainer/headerRowContainerCtrl.d.ts +8 -8
  93. package/dist/types/core/interfaces/IRangeService.d.ts +3 -2
  94. package/dist/types/core/interfaces/IServerSideStore.d.ts +1 -1
  95. package/dist/types/core/interfaces/gridState.d.ts +28 -9
  96. package/dist/types/core/interfaces/iAdvancedFilterCtrl.d.ts +5 -1
  97. package/dist/types/core/interfaces/iCallbackParams.d.ts +5 -2
  98. package/dist/types/core/interfaces/iCellEditor.d.ts +4 -0
  99. package/dist/types/core/interfaces/iClientSideRowModel.d.ts +2 -6
  100. package/dist/types/core/interfaces/iColumn.d.ts +5 -1
  101. package/dist/types/core/interfaces/iExcelCreator.d.ts +69 -36
  102. package/dist/types/core/interfaces/iFrameworkOverrides.d.ts +6 -4
  103. package/dist/types/core/interfaces/iMenuFactory.d.ts +2 -1
  104. package/dist/types/core/interfaces/iModule.d.ts +10 -1
  105. package/dist/types/core/interfaces/iRowNode.d.ts +9 -2
  106. package/dist/types/core/interfaces/iRowNodeStage.d.ts +1 -3
  107. package/dist/types/core/interfaces/masterDetail.d.ts +2 -0
  108. package/dist/types/core/main.d.ts +11 -9
  109. package/dist/types/core/misc/menuService.d.ts +4 -2
  110. package/dist/types/core/misc/resizeObserverService.d.ts +0 -4
  111. package/dist/types/core/misc/state/stateModelMigration.d.ts +2 -0
  112. package/dist/types/core/misc/state/stateModule.d.ts +3 -4
  113. package/dist/types/core/misc/state/stateService.d.ts +2 -2
  114. package/dist/types/core/pagination/pageSizeSelector/pageSizeSelectorComp.d.ts +3 -1
  115. package/dist/types/core/pagination/paginationComp.d.ts +5 -4
  116. package/dist/types/core/pagination/paginationModule.d.ts +3 -4
  117. package/dist/types/core/pinnedRowModel/pinnedRowModel.d.ts +11 -9
  118. package/dist/types/core/pinnedRowModel/pinnedRowModule.d.ts +1 -2
  119. package/dist/types/core/propertyKeys.d.ts +2 -1
  120. package/dist/types/core/rendering/ariaAnnouncementService.d.ts +6 -1
  121. package/dist/types/core/rendering/cell/cellCtrl.d.ts +13 -10
  122. package/dist/types/core/rendering/cell/cellRangeFeature.d.ts +1 -1
  123. package/dist/types/core/rendering/columnAnimationService.d.ts +1 -0
  124. package/dist/types/core/rendering/columnHoverService.d.ts +1 -0
  125. package/dist/types/core/rendering/features/stickyRowFeature.d.ts +1 -0
  126. package/dist/types/core/rendering/overlays/loadingOverlayComponent.d.ts +1 -1
  127. package/dist/types/core/rendering/overlays/noRowsOverlayComponent.d.ts +1 -1
  128. package/dist/types/core/rendering/overlays/overlayModule.d.ts +1 -2
  129. package/dist/types/core/rendering/overlays/overlayService.d.ts +14 -1
  130. package/dist/types/core/rendering/overlays/overlayWrapperComponent.d.ts +6 -1
  131. package/dist/types/core/rendering/renderModule.d.ts +1 -2
  132. package/dist/types/core/rendering/row/rowComp.d.ts +0 -2
  133. package/dist/types/core/rendering/row/rowCtrl.d.ts +10 -8
  134. package/dist/types/core/rendering/rowRenderer.d.ts +1 -0
  135. package/dist/types/core/rowNodeCache/rowNodeBlockModule.d.ts +1 -2
  136. package/dist/types/core/selection/selectionService.d.ts +3 -2
  137. package/dist/types/core/syncService.d.ts +0 -1
  138. package/dist/types/core/utils/dom.d.ts +1 -1
  139. package/dist/types/core/utils/function.d.ts +2 -2
  140. package/dist/types/core/utils/icon.d.ts +76 -1
  141. package/dist/types/core/validation/apiFunctionValidator.d.ts +0 -1
  142. package/dist/types/core/validation/rules/gridOptionsValidations.d.ts +3 -0
  143. package/dist/types/core/validation/rules/selectionValidations.d.ts +3 -0
  144. package/dist/types/core/validation/validationService.d.ts +1 -4
  145. package/dist/types/core/validation/validationTypes.d.ts +2 -2
  146. package/dist/types/core/valueService/valueService.d.ts +6 -0
  147. package/dist/types/core/version.d.ts +1 -1
  148. package/dist/types/core/widgets/popupService.d.ts +1 -1
  149. package/dist/types/core/widgets/tooltipStateManager.d.ts +1 -0
  150. package/dist/types/csv-export/csvExportModule.d.ts +3 -4
  151. package/dist/types/csv-export/version.d.ts +1 -1
  152. package/dist/types/infinite-row-model/infiniteRowModel/infiniteRowModel.d.ts +1 -1
  153. package/dist/types/infinite-row-model/infiniteRowModel/infiniteRowModelApi.d.ts +0 -1
  154. package/dist/types/infinite-row-model/infiniteRowModelModule.d.ts +3 -4
  155. package/dist/types/infinite-row-model/version.d.ts +1 -1
  156. package/package.json +34 -7
  157. package/styles/_css-content.scss +332 -114
  158. package/styles/ag-grid-no-native-widgets.css +71 -36
  159. package/styles/ag-grid-no-native-widgets.min.css +3 -3
  160. package/styles/ag-grid.css +71 -36
  161. package/styles/ag-grid.min.css +3 -3
  162. package/styles/ag-theme-alpine-no-font.css +18 -5
  163. package/styles/ag-theme-alpine-no-font.min.css +1 -1
  164. package/styles/ag-theme-alpine.css +18 -5
  165. package/styles/ag-theme-alpine.min.css +1 -1
  166. package/styles/ag-theme-balham-no-font.css +18 -0
  167. package/styles/ag-theme-balham-no-font.min.css +1 -1
  168. package/styles/ag-theme-balham.css +18 -0
  169. package/styles/ag-theme-balham.min.css +1 -1
  170. package/styles/ag-theme-material-no-font.css +41 -6
  171. package/styles/ag-theme-material-no-font.min.css +1 -1
  172. package/styles/ag-theme-material.css +41 -6
  173. package/styles/ag-theme-material.min.css +1 -1
  174. package/styles/ag-theme-quartz-no-font.css +18 -10
  175. package/styles/ag-theme-quartz-no-font.min.css +1 -1
  176. package/styles/ag-theme-quartz.css +18 -10
  177. package/styles/ag-theme-quartz.min.css +1 -1
  178. package/dist/types/core/utils/rowNode.d.ts +0 -14
  179. package/gulpfile.js +0 -34
  180. package/webpackBuild.sh +0 -17
@@ -1,5 +1,6 @@
1
1
  import type { UserCompDetails } from '../../../components/framework/userComponentFactory';
2
2
  import { HorizontalDirection } from '../../../constants/direction';
3
+ import type { BeanStub } from '../../../context/beanStub';
3
4
  import type { BeanCollection } from '../../../context/context';
4
5
  import type { DragItem } from '../../../dragAndDrop/dragAndDropService';
5
6
  import type { AgColumnGroup } from '../../../entities/agColumnGroup';
@@ -22,7 +23,10 @@ export declare class HeaderGroupCellCtrl extends AbstractHeaderCellCtrl<IHeaderG
22
23
  private displayName;
23
24
  private tooltipFeature;
24
25
  constructor(columnGroup: AgColumnGroup, beans: BeanCollection, parentRowCtrl: HeaderRowCtrl);
25
- setComp(comp: IHeaderGroupCellComp, eGui: HTMLElement, eResize: HTMLElement): void;
26
+ setComp(comp: IHeaderGroupCellComp, eGui: HTMLElement, eResize: HTMLElement, eHeaderCompWrapper: HTMLElement, compBean: BeanStub<any> | undefined): void;
27
+ private addHighlightListeners;
28
+ private onLeafColumnHighlightChanged;
29
+ getColumn(): AgColumnGroup;
26
30
  protected resizeHeader(delta: number, shiftKey: boolean): void;
27
31
  protected moveHeader(hDirection: HorizontalDirection): void;
28
32
  private restoreFocus;
@@ -43,4 +47,5 @@ export declare class HeaderGroupCellCtrl extends AbstractHeaderCellCtrl<IHeaderG
43
47
  setDragSource(eHeaderGroup: HTMLElement): void;
44
48
  getDragItemForGroup(columnGroup: AgColumnGroup): DragItem;
45
49
  private isSuppressMoving;
50
+ destroy(): void;
46
51
  }
@@ -1,3 +1,4 @@
1
+ import type { BeanStub } from '../../../context/beanStub';
1
2
  import type { BeanCollection } from '../../../context/context';
2
3
  import type { AgColumn } from '../../../entities/agColumn';
3
4
  import type { HeaderRowCtrl } from '../../row/headerRowCtrl';
@@ -14,7 +15,7 @@ export declare class HeaderFilterCellCtrl extends AbstractHeaderCellCtrl<IHeader
14
15
  private destroySyncListener;
15
16
  private destroyFilterChangedListener;
16
17
  constructor(column: AgColumn, beans: BeanCollection, parentRowCtrl: HeaderRowCtrl);
17
- setComp(comp: IHeaderFilterCellComp, eGui: HTMLElement, eButtonShowMainFilter: HTMLElement, eFloatingFilterBody: HTMLElement): void;
18
+ setComp(comp: IHeaderFilterCellComp, eGui: HTMLElement, eButtonShowMainFilter: HTMLElement, eFloatingFilterBody: HTMLElement, compBean: BeanStub | undefined): void;
18
19
  protected resizeHeader(): void;
19
20
  protected moveHeader(): void;
20
21
  private setupActive;
@@ -21,4 +21,5 @@ export declare class BodyDropPivotTarget extends BeanStub implements DropListene
21
21
  onDragging(draggingEvent: DraggingEvent): void;
22
22
  /** Callback for when drag stops */
23
23
  onDragStop(draggingEvent: DraggingEvent): void;
24
+ onDragCancel(): void;
24
25
  }
@@ -9,6 +9,7 @@ export interface DropListener {
9
9
  onDragLeave(params: DraggingEvent): void;
10
10
  onDragging(params: DraggingEvent): void;
11
11
  onDragStop(params: DraggingEvent): void;
12
+ onDragCancel(): void;
12
13
  }
13
14
  export declare class BodyDropTarget extends BeanStub implements DropTarget {
14
15
  private dragAndDropService;
@@ -32,4 +33,5 @@ export declare class BodyDropTarget extends BeanStub implements DropTarget {
32
33
  onDragLeave(params: DraggingEvent): void;
33
34
  onDragging(params: DraggingEvent): void;
34
35
  onDragStop(params: DraggingEvent): void;
36
+ onDragCancel(): void;
35
37
  }
@@ -20,20 +20,37 @@ export declare class MoveColumnFeature extends BeanStub implements DropListener
20
20
  private pinned;
21
21
  private isCenterContainer;
22
22
  private lastDraggingEvent;
23
+ private lastHighlightedColumn;
23
24
  private lastMovedInfo;
24
25
  private failedMoveAttempts;
25
26
  constructor(pinned: ColumnPinnedType);
26
27
  postConstruct(): void;
27
28
  getIconName(): DragAndDropIcon;
28
29
  onDragEnter(draggingEvent: DraggingEvent): void;
30
+ onDragging(draggingEvent?: DraggingEvent | null, fromEnter?: boolean, fakeEvent?: boolean, finished?: boolean): void;
29
31
  onDragLeave(): void;
30
- setColumnsVisible(columns: AgColumn[] | null | undefined, visible: boolean, source: ColumnEventType): void;
31
- setColumnsPinned(columns: AgColumn[] | null | undefined, pinned: ColumnPinnedType, source: ColumnEventType): void;
32
32
  onDragStop(): void;
33
- private checkCenterForScrolling;
34
- onDragging(draggingEvent?: DraggingEvent, fromEnter?: boolean, fakeEvent?: boolean, finished?: boolean): void;
33
+ onDragCancel(): void;
34
+ setColumnsVisible(columns: AgColumn[] | null | undefined, visible: boolean, source: ColumnEventType): void;
35
+ private finishColumnMoving;
36
+ private handleColumnDragWhileSuppressingMovement;
37
+ private handleColumnDragWhileAllowingMovement;
38
+ private getAllMovingColumns;
39
+ private getMoveColumnParams;
40
+ private findFirstAndLastMovingColumns;
41
+ private highlightHoveredColumn;
42
+ private getNormalisedXPositionInfo;
43
+ private getColumnMoveAndTargetInfo;
35
44
  private normaliseDirection;
45
+ private getNormalisedColumnLeft;
46
+ private isAttemptingToPin;
47
+ private moveColumnsAfterHighlight;
48
+ private clearHighlighted;
49
+ private checkCenterForScrolling;
36
50
  private ensureIntervalStarted;
37
51
  private ensureIntervalCleared;
38
52
  private moveInterval;
53
+ private getPinDirection;
54
+ private attemptToPinColumns;
55
+ destroy(): void;
39
56
  }
@@ -1,16 +1,14 @@
1
1
  import type { ColumnModel } from '../columns/columnModel';
2
2
  import type { ColumnMoveService } from '../columns/columnMoveService';
3
3
  import type { VisibleColsService } from '../columns/visibleColsService';
4
- import { HorizontalDirection } from '../constants/direction';
5
4
  import type { CtrlsService } from '../ctrlsService';
6
5
  import type { AgColumn } from '../entities/agColumn';
7
- import type { ColumnEventType } from '../events';
8
6
  import type { GridOptionsService } from '../gridOptionsService';
9
7
  import type { ColumnPinnedType } from '../interfaces/iColumn';
10
- export declare function attemptMoveColumns(params: {
8
+ export interface ColumnMoveParams {
11
9
  allMovingColumns: AgColumn[];
12
10
  isFromHeader: boolean;
13
- hDirection?: HorizontalDirection;
11
+ fromLeft: boolean;
14
12
  xPosition: number;
15
13
  fromEnter: boolean;
16
14
  fakeEvent: boolean;
@@ -18,13 +16,25 @@ export declare function attemptMoveColumns(params: {
18
16
  gos: GridOptionsService;
19
17
  columnModel: ColumnModel;
20
18
  columnMoveService: ColumnMoveService;
21
- presentedColsService: VisibleColsService;
22
- }): {
19
+ visibleColsService: VisibleColsService;
20
+ }
21
+ export declare function getBestColumnMoveIndexFromXPosition(params: ColumnMoveParams): {
23
22
  columns: AgColumn[];
24
23
  toIndex: number;
25
- } | null | undefined;
26
- export declare function moveColumns(columns: AgColumn[], toIndex: number, source: ColumnEventType, finished: boolean, columnMoveService: ColumnMoveService): {
24
+ } | undefined;
25
+ export declare function attemptMoveColumns(params: ColumnMoveParams & {
26
+ finished: boolean;
27
+ }): {
27
28
  columns: AgColumn[];
28
29
  toIndex: number;
29
- } | null;
30
- export declare function normaliseX(x: number, pinned: ColumnPinnedType, fromKeyboard: boolean, gos: GridOptionsService, ctrlsService: CtrlsService): number;
30
+ } | null | undefined;
31
+ export declare function normaliseX(params: {
32
+ x: number;
33
+ pinned?: ColumnPinnedType;
34
+ fromKeyboard?: boolean;
35
+ useHeaderRow?: boolean;
36
+ skipScrollPadding?: boolean;
37
+ gos: GridOptionsService;
38
+ ctrlsService: CtrlsService;
39
+ }): number;
40
+ export declare function setColumnsMoving(columns: AgColumn[], isMoving: boolean): void;
@@ -5,6 +5,7 @@ export interface IGridHeaderComp {
5
5
  setHeightAndMinHeight(height: string): void;
6
6
  }
7
7
  export declare class GridHeaderCtrl extends BeanStub {
8
+ private animationFrameService;
8
9
  private headerNavigationService;
9
10
  private focusService;
10
11
  private columnModel;
@@ -5,8 +5,6 @@ import type { AgColumnGroup } from '../../entities/agColumnGroup';
5
5
  import type { BrandedType } from '../../interfaces/brandedType';
6
6
  import type { ColumnPinnedType } from '../../interfaces/iColumn';
7
7
  import type { AbstractHeaderCellCtrl } from '../cells/abstractCell/abstractHeaderCellCtrl';
8
- import { HeaderCellCtrl } from '../cells/column/headerCellCtrl';
9
- import { HeaderGroupCellCtrl } from '../cells/columnGroup/headerGroupCellCtrl';
10
8
  import { HeaderRowType } from './headerRowComp';
11
9
  export interface IHeaderRowComp {
12
10
  setTop(top: string): void;
@@ -18,18 +16,17 @@ export type HeaderRowCtrlInstanceId = BrandedType<number, 'HeaderRowCtrlInstance
18
16
  export declare class HeaderRowCtrl extends BeanStub {
19
17
  private beans;
20
18
  wireBeans(beans: BeanCollection): void;
19
+ readonly instanceId: HeaderRowCtrlInstanceId;
21
20
  private comp;
22
21
  private rowIndex;
23
22
  private pinned;
24
23
  private type;
25
24
  private headerRowClass;
26
- private instanceId;
27
25
  private headerCellCtrls;
28
26
  private isPrintLayout;
29
27
  private isEnsureDomOrder;
30
28
  constructor(rowIndex: number, pinned: ColumnPinnedType, type: HeaderRowType);
31
29
  postConstruct(): void;
32
- getInstanceId(): HeaderRowCtrlInstanceId;
33
30
  /** Checks that every header cell that is currently visible has been rendered.
34
31
  * Can only be false under some circumstances when using React
35
32
  */
@@ -39,12 +36,11 @@ export declare class HeaderRowCtrl extends BeanStub {
39
36
  * @param comp Proxy to the actual component
40
37
  * @param initCompState Should the component be initialised with the current state of the controller. Default: true
41
38
  */
42
- setComp(comp: IHeaderRowComp, initCompState?: boolean): void;
39
+ setComp(comp: IHeaderRowComp, compBean: BeanStub | undefined, initCompState?: boolean): void;
43
40
  getHeaderRowClass(): string;
44
41
  getAriaRowIndex(): number;
45
42
  private addEventListeners;
46
- getHeaderCellCtrl(column: AgColumnGroup): HeaderGroupCellCtrl | undefined;
47
- getHeaderCellCtrl(column: AgColumn): HeaderCellCtrl | undefined;
43
+ getHeaderCellCtrl(column: AgColumn | AgColumnGroup): any;
48
44
  private onDisplayedColumnsChanged;
49
45
  getType(): HeaderRowType;
50
46
  private onColumnResized;
@@ -65,7 +61,7 @@ export declare class HeaderRowCtrl extends BeanStub {
65
61
  private getColumnsInViewportPrintLayout;
66
62
  private getActualDepth;
67
63
  private getColumnsInViewportNormalLayout;
68
- findHeaderCellCtrl(column: AgColumn | AgColumnGroup): AbstractHeaderCellCtrl | undefined;
64
+ findHeaderCellCtrl(column: AgColumn | AgColumnGroup | ((cellCtrl: AbstractHeaderCellCtrl) => boolean)): AbstractHeaderCellCtrl | undefined;
69
65
  focusHeader(column: AgColumn | AgColumnGroup, event?: KeyboardEvent): boolean;
70
66
  destroy(): void;
71
67
  }
@@ -2,9 +2,8 @@ import { BeanStub } from '../../context/beanStub';
2
2
  import type { BeanCollection } from '../../context/context';
3
3
  import type { AgColumn } from '../../entities/agColumn';
4
4
  import type { AgColumnGroup } from '../../entities/agColumnGroup';
5
+ import type { ScrollPartner } from '../../gridBodyComp/gridBodyScrollFeature';
5
6
  import type { ColumnPinnedType } from '../../interfaces/iColumn';
6
- import type { HeaderCellCtrl } from '../cells/column/headerCellCtrl';
7
- import type { HeaderGroupCellCtrl } from '../cells/columnGroup/headerGroupCellCtrl';
8
7
  import { HeaderRowType } from '../row/headerRowComp';
9
8
  import { HeaderRowCtrl } from '../row/headerRowCtrl';
10
9
  export interface IHeaderRowContainerComp {
@@ -14,7 +13,7 @@ export interface IHeaderRowContainerComp {
14
13
  setDisplayed(displayed: boolean): void;
15
14
  setCtrls(ctrls: HeaderRowCtrl[]): void;
16
15
  }
17
- export declare class HeaderRowContainerCtrl extends BeanStub {
16
+ export declare class HeaderRowContainerCtrl extends BeanStub implements ScrollPartner {
18
17
  private ctrlsService;
19
18
  private scrollVisibleService;
20
19
  private pinnedWidthService;
@@ -34,15 +33,16 @@ export declare class HeaderRowContainerCtrl extends BeanStub {
34
33
  setComp(comp: IHeaderRowContainerComp, eGui: HTMLElement): void;
35
34
  getAllCtrls(): HeaderRowCtrl[];
36
35
  refresh(keepColumns?: boolean): void;
37
- getHeaderCtrlForColumn(column: AgColumn): HeaderCellCtrl | undefined;
38
- getHeaderCtrlForColumn(column: AgColumnGroup): HeaderGroupCellCtrl | undefined;
39
- getHtmlElementForColumnHeader(column: AgColumnGroup): HTMLElement | null;
40
- getHtmlElementForColumnHeader(column: AgColumn): HTMLElement | null;
36
+ getHeaderCtrlForColumn(column: AgColumn | AgColumnGroup): any;
37
+ getHtmlElementForColumnHeader(column: AgColumn | AgColumnGroup): HTMLElement | null;
41
38
  getRowType(rowIndex: number): HeaderRowType | undefined;
42
39
  focusHeader(rowIndex: number, column: AgColumn | AgColumnGroup, event?: KeyboardEvent): boolean;
43
- getViewport(): HTMLElement;
40
+ getViewportElement(): HTMLElement;
41
+ getGroupRowCount(): number;
42
+ getGroupRowCtrlAtIndex(index: number): HeaderRowCtrl;
44
43
  getRowCount(): number;
45
44
  setHorizontalScroll(offset: number): void;
45
+ onScrollCallback(fn: () => void): void;
46
46
  destroy(): void;
47
47
  private setupDragAndDrop;
48
48
  private restoreFocusOnHeader;
@@ -48,6 +48,7 @@ export declare enum CellRangeType {
48
48
  VALUE = 0,
49
49
  DIMENSION = 1
50
50
  }
51
+ /** Describes a single range of cells */
51
52
  export interface CellRange {
52
53
  id?: string;
53
54
  type?: CellRangeType;
@@ -81,8 +82,8 @@ export interface ClearCellRangeParams {
81
82
  cellRanges?: CellRange[];
82
83
  /** Source passed to `cellValueChanged` event */
83
84
  cellEventSource?: string;
84
- /** `true` to dispatch `rangeDeleteStart` and `rangeDeleteEnd` events */
85
+ /** `true` to dispatch `cellSelectionDeleteStart` and `cellSelectionDeleteEnd` events */
85
86
  dispatchWrapperEvents?: boolean;
86
- /** Source passed to `rangeDeleteStart` and `rangeDeleteEnd` events */
87
+ /** Source passed to `cellSelectionDeleteStart` and `cellSelectionDeleteEnd` events */
87
88
  wrapperEventSource?: 'deleteKey';
88
89
  }
@@ -9,7 +9,7 @@ export interface IServerSideStore extends Bean {
9
9
  isDisplayIndexInStore(displayIndex: number): boolean;
10
10
  setDisplayIndexes(displayIndexSeq: NumberSequence, nextRowTop: {
11
11
  value: number;
12
- }): void;
12
+ }, uiLevel: number): void;
13
13
  forEachStoreDeep(callback: (rowNode: IServerSideStore, index: number) => void, sequence?: NumberSequence): void;
14
14
  forEachNodeDeep(callback: (rowNode: IRowNode, index: number) => void, sequence?: NumberSequence): void;
15
15
  forEachNodeDeepAfterFilterAndSort(callback: (rowNode: IRowNode, index: number) => void, sequence?: NumberSequence, includeFooterNodes?: boolean): void;
@@ -8,7 +8,7 @@ export interface FilterState {
8
8
  filterModel?: FilterModel;
9
9
  advancedFilterModel?: AdvancedFilterModel;
10
10
  }
11
- export interface RangeSelectionCellState {
11
+ export interface CellSelectionCellState {
12
12
  id?: string;
13
13
  type?: CellRangeType;
14
14
  /** The start row of the range */
@@ -20,6 +20,13 @@ export interface RangeSelectionCellState {
20
20
  /** The start column for the range */
21
21
  startColId: string;
22
22
  }
23
+ /** @deprecated v32.2 Use `CellSelectionCellState` instead. */
24
+ export interface RangeSelectionCellState extends CellSelectionCellState {
25
+ }
26
+ export interface CellSelectionState {
27
+ cellRanges: CellSelectionCellState[];
28
+ }
29
+ /** @deprecated v32.2 Use `CellSelectionState` instead. */
23
30
  export interface RangeSelectionState {
24
31
  cellRanges: RangeSelectionCellState[];
25
32
  }
@@ -100,17 +107,19 @@ export interface RowGroupExpansionState {
100
107
  expandedRowGroupIds: string[];
101
108
  }
102
109
  export interface GridState {
103
- /** Includes aggregation functions */
110
+ /** Grid version number */
111
+ version?: string;
112
+ /** Includes aggregation functions (column state) */
104
113
  aggregation?: AggregationState;
105
114
  /** Includes opened groups */
106
115
  columnGroup?: ColumnGroupState;
107
- /** Includes column ordering */
116
+ /** Includes column ordering (column state) */
108
117
  columnOrder?: ColumnOrderState;
109
- /** Includes left/right pinned columns */
118
+ /** Includes left/right pinned columns (column state) */
110
119
  columnPinning?: ColumnPinningState;
111
- /** Includes column width/flex */
120
+ /** Includes column width/flex (column state) */
112
121
  columnSizing?: ColumnSizingState;
113
- /** Includes hidden columns */
122
+ /** Includes hidden columns (column state) */
114
123
  columnVisibility?: ColumnVisibilityState;
115
124
  /** Includes Column Filters and Advanced Filter */
116
125
  filter?: FilterState;
@@ -118,11 +127,16 @@ export interface GridState {
118
127
  focusedCell?: FocusedCellState;
119
128
  /** Includes current page */
120
129
  pagination?: PaginationState;
121
- /** Includes current pivot mode and pivot columns */
130
+ /** Includes current pivot mode and pivot columns (column state) */
122
131
  pivot?: PivotState;
123
132
  /** Includes currently selected cell ranges */
133
+ cellSelection?: CellSelectionState;
134
+ /**
135
+ * Includes currently selected cell ranges
136
+ * @deprecated v32.2 Use `cellSelection` instead.
137
+ */
124
138
  rangeSelection?: RangeSelectionState;
125
- /** Includes current row group columns */
139
+ /** Includes current row group columns (column state) */
126
140
  rowGroup?: RowGroupState;
127
141
  /** Includes currently expanded group rows */
128
142
  rowGroupExpansion?: RowGroupExpansionState;
@@ -136,6 +150,11 @@ export interface GridState {
136
150
  scroll?: ScrollState;
137
151
  /** Includes current Side Bar positioning and opened tool panel */
138
152
  sideBar?: SideBarState;
139
- /** Includes current sort columns and direction */
153
+ /** Includes current sort columns and direction (column state) */
140
154
  sort?: SortState;
155
+ /**
156
+ * When providing a partial `initialState` with some but not all column state properties, set this to `true`.
157
+ * Not required if passing the whole state object retrieved from the grid.
158
+ */
159
+ partialColumnState?: boolean;
141
160
  }
@@ -2,5 +2,9 @@ export interface IAdvancedFilterCtrl {
2
2
  setupHeaderComp(eCompToInsertBefore: HTMLElement): void;
3
3
  focusHeaderComp(): boolean;
4
4
  getHeaderHeight(): number;
5
- toggleFilterBuilder(source: 'api' | 'ui', force?: boolean): void;
5
+ toggleFilterBuilder(params: {
6
+ source: 'api' | 'ui';
7
+ force?: boolean;
8
+ eventSource?: HTMLElement;
9
+ }): void;
6
10
  }
@@ -36,8 +36,11 @@ export interface PostProcessPopupParams<TData = any, TContext = any> extends AgG
36
36
  rowNode?: IRowNode<TData> | null;
37
37
  /** The popup we are showing */
38
38
  ePopup: HTMLElement;
39
- /** The different types are:
40
- * 'contextMenu', 'columnMenu', 'aggFuncSelect', 'popupCellEditor' */
39
+ /**
40
+ * The different types are:
41
+ * 'contextMenu', 'columnMenu', 'aggFuncSelect', 'popupCellEditor', 'chart',
42
+ * 'advancedFilterBuilder', 'colorPicker', 'columnChooser', 'subMenu'
43
+ */
41
44
  type: string;
42
45
  /** If the popup is as a result of a button click (eg menu button),
43
46
  * this is the component that the user clicked */
@@ -88,3 +88,7 @@ export interface ICellEditorParams<TData = any, TValue = any, TContext = any> ex
88
88
  }
89
89
  export interface ICellEditorComp<TData = any, TValue = any, TContext = any> extends ICellEditor<TValue>, IPopupComponent<ICellEditorParams<TData, TValue, TContext>> {
90
90
  }
91
+ /** This is only used internally within the grid */
92
+ export interface DefaultProvidedCellEditorParams {
93
+ suppressPreventDefault?: boolean;
94
+ }
@@ -17,9 +17,7 @@ export declare enum ClientSideRowModelSteps {
17
17
  }
18
18
  export interface IClientSideRowModel<TData = any> extends IRowModel {
19
19
  onRowGroupOpened(): void;
20
- updateRowData(rowDataTran: RowDataTransaction<TData>, rowNodeOrder?: {
21
- [id: string]: number;
22
- } | null): RowNodeTransaction<TData> | null;
20
+ updateRowData(rowDataTran: RowDataTransaction<TData>): RowNodeTransaction<TData> | null;
23
21
  setRowData(rowData: any[]): void;
24
22
  refreshModel(paramsOrStep: RefreshModelParams | ClientSideRowModelStep | undefined): void;
25
23
  expandOrCollapseAll(expand: boolean): void;
@@ -47,9 +45,7 @@ export interface RefreshModelParams<TData = any> {
47
45
  animate?: boolean;
48
46
  keepEditingRows?: boolean;
49
47
  rowNodeTransactions?: RowNodeTransaction<TData>[];
50
- rowNodeOrder?: {
51
- [id: string]: number;
52
- };
48
+ rowNodesOrderChanged?: boolean;
53
49
  newData?: boolean;
54
50
  afterColumnsChanged?: boolean;
55
51
  keepUndoRedoStack?: boolean;
@@ -47,8 +47,12 @@ interface IProvidedColumn {
47
47
  getId(): string;
48
48
  }
49
49
  export type ColumnPinnedType = 'left' | 'right' | boolean | null | undefined;
50
- export type ColumnEventName = 'movingChanged' | 'leftChanged' | 'widthChanged' | 'lastLeftPinnedChanged' | 'firstRightPinnedChanged' | 'visibleChanged' | 'filterChanged' | 'filterActiveChanged' | 'sortChanged' | 'colDefChanged' | 'menuVisibleChanged' | 'columnRowGroupChanged' | 'columnPivotChanged' | 'columnValueChanged' | 'columnStateUpdated';
50
+ export type ColumnEventName = 'movingChanged' | 'leftChanged' | 'widthChanged' | 'lastLeftPinnedChanged' | 'firstRightPinnedChanged' | 'visibleChanged' | 'filterChanged' | 'filterActiveChanged' | 'headerHighlightChanged' | 'sortChanged' | 'colDefChanged' | 'menuVisibleChanged' | 'columnRowGroupChanged' | 'columnPivotChanged' | 'columnValueChanged' | 'columnStateUpdated';
51
51
  export type ColumnInstanceId = BrandedType<number, 'ColumnInstanceId'>;
52
+ export declare enum ColumnHighlightPosition {
53
+ Before = 0,
54
+ After = 1
55
+ }
52
56
  export interface Column<TValue = any> extends IHeaderColumn<TValue, ColumnEventName>, IProvidedColumn, IEventEmitter<ColumnEventName> {
53
57
  /**
54
58
  * Returns the column definition provided by the application.
@@ -1,6 +1,7 @@
1
1
  import type { Column } from '../interfaces/iColumn';
2
2
  import type { ExportFileNameGetter, ExportParams } from './exportParams';
3
3
  import type { AgGridCommon } from './iCommon';
4
+ import type { IRowNode } from './iRowNode';
4
5
  import type { XmlElement } from './iXmlFactory';
5
6
  export interface ExcelStyle {
6
7
  /** The id of the Excel Style, this should match a CSS cell class. */
@@ -327,6 +328,15 @@ export declare enum ExcelFactoryMode {
327
328
  export interface ExcelSheetNameGetterParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> {
328
329
  }
329
330
  export type ExcelSheetNameGetter = (params?: ExcelSheetNameGetterParams) => string;
331
+ export interface ExcelFreezeRowsGetterParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> {
332
+ /** Row node. */
333
+ node?: IRowNode<TData>;
334
+ }
335
+ export interface ExcelFreezeColumnsGetterParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> {
336
+ column: Column;
337
+ }
338
+ export type ExcelFreezeRowsGetter = (params: ExcelFreezeRowsGetterParams) => boolean;
339
+ export type ExcelFreezeColumnsGetter = (params: ExcelFreezeColumnsGetterParams) => boolean;
330
340
  export interface ColumnWidthCallbackParams {
331
341
  column: Column | null;
332
342
  index: number;
@@ -334,12 +344,7 @@ export interface ColumnWidthCallbackParams {
334
344
  export interface RowHeightCallbackParams {
335
345
  rowIndex: number;
336
346
  }
337
- export interface ExcelExportParams extends ExportParams<ExcelRow[]> {
338
- /**
339
- * The author of the exported file.
340
- * @default "AG Grid"
341
- * */
342
- author?: string;
347
+ export interface ExcelWorksheetConfigParams {
343
348
  /**
344
349
  * If set to `true`, this will try to convert any cell that starts with `=` to a formula, instead of setting the cell value as regular string that starts with `=`.
345
350
  * @default false
@@ -349,11 +354,6 @@ export interface ExcelExportParams extends ExportParams<ExcelRow[]> {
349
354
  * Defines the default column width. If no value is present, each column will have value currently set in the application with a min value of 75px. This property can also be supplied a callback function that returns a number.
350
355
  */
351
356
  columnWidth?: number | ((params: ColumnWidthCallbackParams) => number);
352
- /**
353
- * The default value for the font size of the Excel document.
354
- * @default 11
355
- */
356
- fontSize?: number;
357
357
  /**
358
358
  * The height in pixels of header rows. Defaults to Excel default value. This property can also be supplied a callback function that returns a number.
359
359
  */
@@ -369,9 +369,17 @@ export interface ExcelExportParams extends ExportParams<ExcelRow[]> {
369
369
  * @default 'ag-grid'
370
370
  */
371
371
  sheetName?: string | ExcelSheetNameGetter;
372
- /** The Excel document page margins. Relevant for printing. */
372
+ /**
373
+ * The configuration for header and footers.
374
+ */
375
+ headerFooterConfig?: ExcelHeaderFooterConfig;
376
+ /**
377
+ * The Excel document page margins. Relevant for printing.
378
+ */
373
379
  margins?: ExcelSheetMargin;
374
- /** Allows you to setup the page orientation and size. */
380
+ /**
381
+ * Allows you to setup the page orientation and size.
382
+ */
375
383
  pageSetup?: ExcelSheetPageSetup;
376
384
  /**
377
385
  * Used to add an Excel table to the spreadsheet.
@@ -380,8 +388,14 @@ export interface ExcelExportParams extends ExportParams<ExcelRow[]> {
380
388
  * @default false
381
389
  **/
382
390
  exportAsExcelTable?: boolean | ExcelTableConfig;
383
- /** The configuration for header and footers. */
384
- headerFooterConfig?: ExcelHeaderFooterConfig;
391
+ /**
392
+ * The expand/collapse state of each row group in the Excel Document.
393
+ * - expanded: All row groups will be expanded by default.
394
+ * - collapsed: All row groups will be collapsed by default.
395
+ * - match: The row groups will match their current state in the Grid.
396
+ * @default 'expanded'
397
+ */
398
+ rowGroupExpandState?: 'expanded' | 'collapsed' | 'match';
385
399
  /**
386
400
  * If `true`, the outline (controls to expand and collapse) for Row Groups will not be added automatically to the Excel Document.
387
401
  * @default false.
@@ -393,40 +407,45 @@ export interface ExcelExportParams extends ExportParams<ExcelRow[]> {
393
407
  */
394
408
  suppressColumnOutline?: boolean;
395
409
  /**
396
- * The expand/collapse state of each row group in the Excel Document.
397
- * - expanded: All row groups will be expanded by default.
398
- * - collapsed: All row groups will be collapsed by default.
399
- * - match: The row groups will match their current state in the Grid.
400
- * @default 'expanded'
410
+ * Use this property to select to freeze rows at the top of the exported sheet.
411
+ * - `headers` - Freeze all grid headers at the top.
412
+ * - `headersAndPinnedRows` - Freeze all headers and pinned top rows.
413
+ * - A callback function that will freeze rows until a value other than `true` is returned, after that, this callback will no longer be executed. Note that using a callback will automatically freeze all header rows.
401
414
  */
402
- rowGroupExpandState?: 'expanded' | 'collapsed' | 'match';
415
+ freezeRows?: 'headers' | 'headersAndPinnedRows' | ExcelFreezeRowsGetter;
403
416
  /**
404
- * The mimeType of the Excel file.
405
- * @default 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
417
+ * Use this property to select to freeze columns at the start of the grid (this will be the columns at the right for RTL).
418
+ * - `pinned` - Freeze all pinned left (right for RTL grids) columns.
419
+ * - A callback function that will freeze columns until a value other than `true` is returned. After that, this callback will no longer be executed.
420
+ */
421
+ freezeColumns?: 'pinned' | ExcelFreezeColumnsGetter;
422
+ /**
423
+ * Use to set the direction for the worksheet.
424
+ * - `true`: Sets the direction to right-to-left (RTL).
425
+ * - `false`: Sets the direction to left-to-right (LTR).
426
+ * - `undefined`: Exports the worksheet according to the current direction of the grid as set by `gridOptions.enableRtl`.
427
+ * @default undefined
428
+ */
429
+ rightToLeft?: boolean;
430
+ /**
431
+ * Use to export an image for the gridCell in question.
406
432
  */
407
- mimeType?: string;
408
- /** Use to export an image for the gridCell in question. */
409
433
  addImageToCell?: (rowIndex: number, column: Column, value: string) => {
410
434
  image: ExcelImage;
411
435
  value?: string;
412
436
  } | undefined;
413
437
  }
414
- export interface ExcelExportMultipleSheetParams {
415
- /**
416
- * The author of the exported file.
417
- * @default 'AG Grid'
418
- */
419
- author?: string;
420
- /**
421
- * Array of strings containing the raw data for Excel workbook sheets.
422
- * This property is only used when exporting to multiple sheets using `api.exportMultipleSheetsAsExcel()` and the data for each sheet is obtained by calling `api.getSheetDataForExcel()`.
423
- */
424
- data: string[];
438
+ interface ExcelFileParams {
425
439
  /**
426
440
  * String to use as the file name or a function that returns a string.
427
441
  * @default 'export.xlsx'
428
442
  */
429
443
  fileName?: string | ExportFileNameGetter;
444
+ /**
445
+ * The author of the exported file.
446
+ * @default "AG Grid"
447
+ * */
448
+ author?: string;
430
449
  /**
431
450
  * The default value for the font size of the Excel document.
432
451
  * @default 11
@@ -438,6 +457,20 @@ export interface ExcelExportMultipleSheetParams {
438
457
  */
439
458
  mimeType?: string;
440
459
  }
460
+ export interface ExcelExportParams extends ExcelFileParams, ExcelWorksheetConfigParams, ExportParams<ExcelRow[]> {
461
+ }
462
+ export interface ExcelExportMultipleSheetParams extends ExcelFileParams {
463
+ /**
464
+ * Array of strings containing the raw data for Excel workbook sheets.
465
+ * This property is only used when exporting to multiple sheets using `api.exportMultipleSheetsAsExcel()` and the data for each sheet is obtained by calling `api.getSheetDataForExcel()`.
466
+ */
467
+ data: string[];
468
+ /**
469
+ * The index of the sheet to be marked as active by default.
470
+ * @default 0
471
+ */
472
+ activeSheetIndex?: number;
473
+ }
441
474
  export interface ExcelHeaderFooterConfig {
442
475
  /** The configuration for header and footer on every page. */
443
476
  all?: ExcelHeaderFooter;
@@ -37,10 +37,12 @@ export interface IFrameworkOverrides {
37
37
  * @param path Optional path to append to the base url. i.e 'aligned-grids' Does not need the leading `/`
38
38
  */
39
39
  getDocLink(path?: string): string;
40
- /** Used by `RowRenderer` when getting lock. Allows React 17- async refreshes to work. */
40
+ /** Used by `RowRenderer` when getting lock. Allows React async refreshes to work. */
41
41
  getLockOnRefresh?(): void;
42
- /** Used by `RowRenderer` when releasing lock. Allows React 17- async refreshes to work. */
42
+ /** Used by `RowRenderer` when releasing lock. Allows React async refreshes to work. */
43
43
  releaseLockOnRefresh?(): void;
44
- /** Used by `RowRenderer` when a refresh happens whilst another refresh is ongoing. */
45
- getLockOnRefreshError?(): string;
44
+ /** Used by the CtrlsService to decide whether to trigger the whenReady callbacks asynchronously.
45
+ * Required for React to work with StrictMode from v19 with the current implementation of the CtrlsService.
46
+ */
47
+ runWhenReadyAsync?(): boolean;
46
48
  }
@@ -1,9 +1,10 @@
1
1
  import type { AgColumn } from '../entities/agColumn';
2
+ import type { AgProvidedColumnGroup } from '../entities/agProvidedColumnGroup';
2
3
  import type { ContainerType } from './iAfterGuiAttachedParams';
3
4
  export interface IMenuFactory {
4
5
  showMenuAfterButtonClick(column: AgColumn | undefined, eventSource: HTMLElement, containerType: ContainerType, filtersOnly?: boolean): void;
5
6
  showMenuAfterMouseEvent(column: AgColumn | undefined, mouseEvent: MouseEvent | Touch, containerType: ContainerType, filtersOnly?: boolean): void;
6
- showMenuAfterContextMenuEvent(column: AgColumn | undefined, mouseEvent?: MouseEvent | null, touchEvent?: TouchEvent | null): void;
7
+ showMenuAfterContextMenuEvent(column: AgColumn | AgProvidedColumnGroup | undefined, mouseEvent?: MouseEvent | null, touchEvent?: TouchEvent | null): void;
7
8
  isMenuEnabled(column: AgColumn): boolean;
8
9
  hideActiveMenu(): void;
9
10
  }