ag-grid-community 35.2.0 → 35.3.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 (131) hide show
  1. package/README.md +36 -36
  2. package/dist/ag-grid-community.js +14153 -1434
  3. package/dist/ag-grid-community.min.js +882 -258
  4. package/dist/ag-grid-community.min.noStyle.js +51 -43
  5. package/dist/ag-grid-community.noStyle.js +2037 -1420
  6. package/dist/package/main.cjs.js +2034 -1402
  7. package/dist/package/main.cjs.min.js +49 -41
  8. package/dist/package/main.esm.min.mjs +46 -38
  9. package/dist/package/main.esm.mjs +2034 -1402
  10. package/dist/package/package.json +5 -8
  11. package/dist/package.json +5 -8
  12. package/dist/types/package.json +5 -8
  13. package/dist/types/src/agStack/interfaces/iIcon.d.ts +1 -1
  14. package/dist/types/src/agStack/popup/popupPositionUtils.d.ts +71 -0
  15. package/dist/types/src/agStack/rendering/agPositionableFeature.d.ts +1 -1
  16. package/dist/types/src/agStack/theming/inject.d.ts +3 -2
  17. package/dist/types/src/agStack/theming/shared/shared-css.d.ts +1 -0
  18. package/dist/types/src/agStack/utils/array.d.ts +9 -0
  19. package/dist/types/src/agStack/utils/dom.d.ts +1 -1
  20. package/dist/types/src/agStack/utils/fuzzyMatch.d.ts +2 -1
  21. package/dist/types/src/agStack/utils/value.d.ts +6 -1
  22. package/dist/types/src/agStack/widgets/agInputTextArea.d.ts +1 -0
  23. package/dist/types/src/api/gridApi.d.ts +60 -1
  24. package/dist/types/src/clientSideRowModel/clientSideRowModel.d.ts +1 -0
  25. package/dist/types/src/clientSideRowModel/deltaSort.d.ts +2 -0
  26. package/dist/types/src/clientSideRowModel/filterStage.d.ts +2 -9
  27. package/dist/types/src/clientSideRowModel/sortStage.d.ts +1 -1
  28. package/dist/types/src/columns/columnDefFactory.d.ts +1 -0
  29. package/dist/types/src/columns/columnModel.d.ts +6 -1
  30. package/dist/types/src/context/context.d.ts +17 -4
  31. package/dist/types/src/edit/cellEditors/largeTextCellEditor.d.ts +4 -0
  32. package/dist/types/src/edit/editService.d.ts +1 -1
  33. package/dist/types/src/edit/strategy/fullRowEditStrategy.d.ts +1 -1
  34. package/dist/types/src/edit/strategy/singleCellEditStrategy.d.ts +1 -1
  35. package/dist/types/src/entities/agColumn.d.ts +3 -5
  36. package/dist/types/src/entities/colDef.d.ts +20 -8
  37. package/dist/types/src/entities/gridOptions.d.ts +70 -5
  38. package/dist/types/src/entities/rowNode.d.ts +17 -2
  39. package/dist/types/src/filter/filterManager.d.ts +1 -5
  40. package/dist/types/src/filter/filterValueService.d.ts +1 -2
  41. package/dist/types/src/filter/provided/date/dateFilterHandler.d.ts +1 -0
  42. package/dist/types/src/gridBodyComp/rowContainer/rowContainerEventsFeature.d.ts +2 -0
  43. package/dist/types/src/gridComp/gridComp.d.ts +1 -0
  44. package/dist/types/src/gridComp/gridCtrl.d.ts +1 -0
  45. package/dist/types/src/gridOptionsDefault.d.ts +3 -0
  46. package/dist/types/src/gridOptionsInitial.d.ts +1 -1
  47. package/dist/types/src/gridOptionsService.d.ts +1 -0
  48. package/dist/types/src/gridOptionsUtils.d.ts +8 -2
  49. package/dist/types/src/headerRendering/row/headerRowCtrl.d.ts +1 -1
  50. package/dist/types/src/interfaces/exportParams.d.ts +12 -0
  51. package/dist/types/src/interfaces/formulas.d.ts +15 -0
  52. package/dist/types/src/interfaces/iCallbackParams.d.ts +3 -0
  53. package/dist/types/src/interfaces/iCellRangeFeature.d.ts +1 -1
  54. package/dist/types/src/interfaces/iExcelCreator.d.ts +40 -1
  55. package/dist/types/src/interfaces/iFilter.d.ts +1 -1
  56. package/dist/types/src/interfaces/iFocusableContainer.d.ts +1 -1
  57. package/dist/types/src/interfaces/iFrameworkOverrides.d.ts +2 -0
  58. package/dist/types/src/interfaces/iModule.d.ts +4 -4
  59. package/dist/types/src/interfaces/iRowGroupPanelBuilder.d.ts +11 -0
  60. package/dist/types/src/interfaces/iRowNode.d.ts +20 -6
  61. package/dist/types/src/interfaces/iRowNodeStage.d.ts +6 -3
  62. package/dist/types/src/interfaces/iServerSideDatasource.d.ts +10 -0
  63. package/dist/types/src/interfaces/iServerSideRowModel.d.ts +6 -0
  64. package/dist/types/src/interfaces/iToolbar.d.ts +178 -0
  65. package/dist/types/src/interfaces/menuItem.d.ts +1 -1
  66. package/dist/types/src/interfaces/notes.d.ts +147 -0
  67. package/dist/types/src/main-internal.d.ts +15 -8
  68. package/dist/types/src/main.d.ts +6 -3
  69. package/dist/types/src/navigation/cellNavigationService.d.ts +0 -3
  70. package/dist/types/src/pagination/{pageSizeSelector/pageSizeSelectorComp.d.ts → pageSizeSelectorComp.d.ts} +3 -4
  71. package/dist/types/src/pagination/pageSummaryComp.d.ts +29 -0
  72. package/dist/types/src/pagination/paginationService.d.ts +0 -1
  73. package/dist/types/src/pagination/paginationUtils.d.ts +3 -0
  74. package/dist/types/src/pagination/rowSummaryComp.d.ts +15 -0
  75. package/dist/types/src/pinnedColumns/pinnedColumnService.d.ts +2 -0
  76. package/dist/types/src/pinnedRowModel/manualPinnedRowModel.d.ts +2 -0
  77. package/dist/types/src/propertyKeys.d.ts +1 -1
  78. package/dist/types/src/publicEventHandlersMap.d.ts +1 -1
  79. package/dist/types/src/rendering/cell/cellCtrl.d.ts +6 -0
  80. package/dist/types/src/rendering/cell/cellPositionFeature.d.ts +0 -2
  81. package/dist/types/src/rendering/row/rowCtrl.d.ts +22 -2
  82. package/dist/types/src/rendering/spanning/rowSpanService.d.ts +2 -0
  83. package/dist/types/src/testing/testIdUtils.d.ts +6 -0
  84. package/dist/types/src/theming/core/core-css.d.ts +16 -0
  85. package/dist/types/src/theming/createTheme.d.ts +3 -1
  86. package/dist/types/src/theming/parts/notes/note-styles.d.ts +37 -0
  87. package/dist/types/src/theming/parts/theme/themes.d.ts +6 -2
  88. package/dist/types/src/utils/icon.d.ts +1 -1
  89. package/dist/types/src/validation/errorMessages/errorText.d.ts +25 -4
  90. package/dist/types/src/validation/validationService.d.ts +7 -1
  91. package/dist/types/src/validation/validationTypes.d.ts +5 -2
  92. package/dist/types/src/valueService/valueCache.d.ts +1 -2
  93. package/dist/types/src/valueService/valueService.d.ts +18 -13
  94. package/dist/types/src/vanillaFrameworkOverrides.d.ts +1 -0
  95. package/dist/types/src/version.d.ts +1 -1
  96. package/dist/types/src/widgets/component.d.ts +1 -1
  97. package/package.json +5 -8
  98. package/styles/_css-content.scss +1290 -310
  99. package/styles/_icon-font-codes.scss +1 -0
  100. package/styles/_index.scss +3 -3
  101. package/styles/ag-grid-no-native-widgets.css +416 -52
  102. package/styles/ag-grid-no-native-widgets.min.css +4 -4
  103. package/styles/ag-grid.css +433 -63
  104. package/styles/ag-grid.min.css +4 -4
  105. package/styles/ag-theme-alpine-no-font.css +21 -11
  106. package/styles/ag-theme-alpine-no-font.min.css +3 -3
  107. package/styles/ag-theme-alpine.css +22 -12
  108. package/styles/ag-theme-alpine.min.css +3 -3
  109. package/styles/ag-theme-balham-no-font.css +15 -2
  110. package/styles/ag-theme-balham-no-font.min.css +3 -3
  111. package/styles/ag-theme-balham.css +16 -3
  112. package/styles/ag-theme-balham.min.css +3 -3
  113. package/styles/ag-theme-material-no-font.css +92 -11
  114. package/styles/ag-theme-material-no-font.min.css +3 -4
  115. package/styles/ag-theme-material.css +93 -12
  116. package/styles/ag-theme-material.min.css +3 -4
  117. package/styles/ag-theme-quartz-no-font.css +49 -30
  118. package/styles/ag-theme-quartz-no-font.min.css +3 -3
  119. package/styles/ag-theme-quartz.css +50 -31
  120. package/styles/ag-theme-quartz.min.css +3 -3
  121. package/styles/agGridAlpineFont.css +1 -1
  122. package/styles/agGridAlpineFont.min.css +1 -1
  123. package/styles/agGridBalhamFont.css +1 -1
  124. package/styles/agGridBalhamFont.min.css +1 -1
  125. package/styles/agGridClassicFont.css +1 -1
  126. package/styles/agGridClassicFont.min.css +1 -1
  127. package/styles/agGridMaterialFont.css +1 -1
  128. package/styles/agGridMaterialFont.min.css +1 -1
  129. package/styles/agGridQuartzFont.css +1 -1
  130. package/styles/agGridQuartzFont.min.css +1 -1
  131. /package/dist/types/src/{export/downloader.d.ts → agStack/utils/download.d.ts} +0 -0
@@ -30,4 +30,6 @@ export interface IFrameworkOverrides extends AgFrameworkOverrides {
30
30
  * Required for React to work with StrictMode from v19 with the current implementation of the CtrlsService.
31
31
  */
32
32
  runWhenReadyAsync?(): boolean;
33
+ /** True when modules are provided via AgGridProvider React context, used for accurate missing module error messages */
34
+ readonly usesAgGridProvider?: boolean;
33
35
  }
@@ -67,18 +67,18 @@ export type _ModuleWithoutApi = Module & {
67
67
  export type _ModuleWithLicenseManager = {
68
68
  setLicenseKey: (licenseKey: string) => void;
69
69
  };
70
- type InternalModuleName = 'Aggregation' | 'AnimationFrame' | 'Aria' | 'AutoWidth' | 'CellRendererFunction' | 'ChangedPath' | 'ChangeDetection' | 'CheckboxCellRenderer' | 'ClientSideRowModelFilter' | 'ClientSideRowModelHierarchy' | 'ColumnDelayRender' | 'ColumnFilter' | 'ColumnFlex' | 'ColumnGroupHeaderComp' | 'ColumnGroup' | 'ColumnHeaderComp' | 'ColumnMove' | 'ColumnResize' | 'CommunityCore' | 'CsrmSsrmSharedApi' | 'RowModelSharedApi' | 'DataType' | 'Drag' | 'EditCore' | 'EnterpriseCore' | 'Expression' | 'FilterCore' | 'FilterValue' | 'FindCore' | 'GroupEdit' | 'GroupCellRenderer' | 'GroupColumn' | 'GroupHierarchy' | 'HorizontalResize' | 'InfiniteRowModelCore' | 'KeyboardNavigation' | 'LoadingCellRenderer' | 'MenuCore' | 'MenuItem' | 'Overlay' | 'PinnedColumn' | 'Popup' | 'QuickFilterCore' | 'SharedAggregation' | 'SharedColumnStateUpdateStrategy' | 'SharedDragAndDrop' | 'SharedExport' | 'SharedMasterDetail' | 'SharedMenu' | 'SharedPivot' | 'SharedRowGrouping' | 'SharedRowSelection' | 'SharedTreeData' | 'SideBarShared' | 'SkeletonCellRenderer' | 'Sort' | 'SsrmInfiniteSharedApi' | 'StickyRow' | 'Touch' | 'Testing';
70
+ type InternalModuleName = 'Aggregation' | 'AnimationFrame' | 'Aria' | 'AutoWidth' | 'CellRendererFunction' | 'ChangedPath' | 'ChangeDetection' | 'CheckboxCellRenderer' | 'CsrmFilter' | 'CsrmHierarchy' | 'CsrmGroupStages' | 'ColumnDelayRender' | 'ColumnFilter' | 'ColumnFlex' | 'ColumnGroupHeaderComp' | 'ColumnGroup' | 'ColumnHeaderComp' | 'ColumnMove' | 'ColumnResize' | 'CommunityCore' | 'CsrmSsrmSharedApi' | 'RowModelSharedApi' | 'DataType' | 'Drag' | 'EditCore' | 'EnterpriseCore' | 'Expression' | 'FilterCore' | 'FilterValue' | 'FindCore' | 'GroupEdit' | 'GroupCellRenderer' | 'GroupColumn' | 'GroupHierarchy' | 'HorizontalResize' | 'InfiniteRowModelCore' | 'KeyboardNavigation' | 'LoadingCellRenderer' | 'MenuCore' | 'MenuItem' | 'Overlay' | 'PinnedColumn' | 'Popup' | 'QuickFilterCore' | 'SharedAggregation' | 'SharedColumnStateUpdateStrategy' | 'SharedDragAndDrop' | 'SharedExport' | 'SharedMasterDetail' | 'SharedMenu' | 'SharedPivot' | 'SharedRowGrouping' | 'SharedRowSelection' | 'SharedTreeData' | 'SideBarShared' | 'SkeletonCellRenderer' | 'Sort' | 'SsrmInfiniteSharedApi' | 'StickyRow' | 'Touch' | 'Testing';
71
71
  export type CommunityModuleName = 'AlignedGrids' | 'AllCommunity' | 'CellApi' | 'CellStyle' | 'CheckboxEditor' | 'ClientSideRowModelApi' | 'ClientSideRowModel' | 'ColumnApi' | 'ColumnAutoSize' | 'ColumnHover' | 'CsvExport' | 'CustomEditor' | 'CustomFilter' | 'DateEditor' | 'DateFilter' | 'DragAndDrop' | 'EventApi' | 'ExternalFilter' | 'GridState' | 'HighlightChanges' | 'InfiniteRowModel' | 'LargeTextEditor' | 'Locale' | 'NumberEditor' | 'NumberFilter' | 'BigIntFilter' | 'Pagination' | 'PinnedRow' | 'QuickFilter' | 'RenderApi' | 'RowApi' | 'RowAutoHeight' | 'RowDrag' | 'RowSelection' | 'RowStyle' | 'ScrollApi' | 'SelectEditor' | 'TextEditor' | 'TextFilter' | 'Tooltip' | 'UndoRedoEdit' | 'Validation' | 'ValueCache' | 'CellSpan';
72
- export type EnterpriseModuleName = 'AdvancedFilter' | 'AiToolkit' | 'AllEnterprise' | 'BatchEdit' | 'CellSelection' | 'Clipboard' | 'ColumnMenu' | 'ColumnsToolPanel' | 'ContextMenu' | 'ExcelExport' | 'FiltersToolPanel' | 'Find' | 'GridCharts' | 'IntegratedCharts' | 'GroupFilter' | 'MasterDetail' | 'Menu' | 'MultiFilter' | 'NewFiltersToolPanel' | 'Pivot' | 'RangeSelection' | 'RichSelect' | 'RowNumbers' | 'RowGrouping' | 'RowGroupingPanel' | 'ServerSideRowModelApi' | 'ServerSideRowModel' | 'SetFilter' | 'SideBar' | 'Sparklines' | 'StatusBar' | 'TreeData' | 'ViewportRowModel' | 'Formula' | 'RowGroupingEdit';
72
+ export type EnterpriseModuleName = 'AdvancedFilter' | 'AiToolkit' | 'AllEnterprise' | 'BatchEdit' | 'CellSelection' | 'Clipboard' | 'ColumnMenu' | 'ColumnsToolPanel' | 'ContextMenu' | 'ExcelExport' | 'FiltersToolPanel' | 'Find' | 'GridCharts' | 'IntegratedCharts' | 'GroupFilter' | 'MasterDetail' | 'Menu' | 'MultiFilter' | 'NewFiltersToolPanel' | 'Pivot' | 'RangeSelection' | 'RichSelect' | 'RowNumbers' | 'RowGrouping' | 'RowGroupingPanel' | 'ServerSideRowModelApi' | 'ServerSideRowModel' | 'SetFilter' | 'SideBar' | 'Sparklines' | 'StatusBar' | 'Toolbar' | 'TreeData' | 'ViewportRowModel' | 'Formula' | 'Notes' | 'RowGroupingEdit';
73
73
  /** The names of all publicly available AG Grid modules */
74
- export type AgModuleName = 'AiToolkitModule' | 'AlignedGridsModule' | 'AllCommunityModule' | 'CellApiModule' | 'CellStyleModule' | 'CheckboxEditorModule' | 'ClientSideRowModelApiModule' | 'ClientSideRowModelModule' | 'ColumnApiModule' | 'ColumnAutoSizeModule' | 'ColumnHoverModule' | 'CsvExportModule' | 'CustomEditorModule' | 'CustomFilterModule' | 'DateEditorModule' | 'DateFilterModule' | 'DragAndDropModule' | 'EventApiModule' | 'ExternalFilterModule' | 'GridStateModule' | 'RowGroupingEditModule' | 'HighlightChangesModule' | 'InfiniteRowModelModule' | 'LargeTextEditorModule' | 'LocaleModule' | 'NumberEditorModule' | 'NumberFilterModule' | 'BigIntFilterModule' | 'PaginationModule' | 'PinnedRowModule' | 'QuickFilterModule' | 'RenderApiModule' | 'RowApiModule' | 'RowAutoHeightModule' | 'RowDragModule' | 'RowSelectionModule' | 'RowStyleModule' | 'ScrollApiModule' | 'SelectEditorModule' | 'TextEditorModule' | 'TextFilterModule' | 'TooltipModule' | 'UndoRedoEditModule' | 'ValidationModule' | 'ValueCacheModule' | 'CellSpanModule' | 'AdvancedFilterModule' | 'AllEnterpriseModule' | 'BatchEditModule' | 'CellSelectionModule' | 'ClipboardModule' | 'ColumnMenuModule' | 'ColumnsToolPanelModule' | 'ContextMenuModule' | 'ExcelExportModule' | 'FiltersToolPanelModule' | 'FindModule' | 'GridChartsModule' | 'IntegratedChartsModule' | 'GroupFilterModule' | 'MasterDetailModule' | 'MenuModule' | 'MultiFilterModule' | 'NewFiltersToolPanelModule' | 'PivotModule' | 'RangeSelectionModule' | 'RichSelectModule' | 'RowNumbersModule' | 'RowGroupingModule' | 'RowGroupingPanelModule' | 'ServerSideRowModelApiModule' | 'ServerSideRowModelModule' | 'SetFilterModule' | 'SideBarModule' | 'SparklinesModule' | 'StatusBarModule' | 'TreeDataModule' | 'ViewportRowModelModule' | 'FormulaModule';
74
+ export type AgModuleName = 'AiToolkitModule' | 'AlignedGridsModule' | 'AllCommunityModule' | 'CellApiModule' | 'CellStyleModule' | 'CheckboxEditorModule' | 'ClientSideRowModelApiModule' | 'ClientSideRowModelModule' | 'ColumnApiModule' | 'ColumnAutoSizeModule' | 'ColumnHoverModule' | 'CsvExportModule' | 'CustomEditorModule' | 'CustomFilterModule' | 'DateEditorModule' | 'DateFilterModule' | 'DragAndDropModule' | 'EventApiModule' | 'ExternalFilterModule' | 'GridStateModule' | 'RowGroupingEditModule' | 'HighlightChangesModule' | 'InfiniteRowModelModule' | 'LargeTextEditorModule' | 'LocaleModule' | 'NumberEditorModule' | 'NumberFilterModule' | 'BigIntFilterModule' | 'PaginationModule' | 'PinnedRowModule' | 'QuickFilterModule' | 'RenderApiModule' | 'RowApiModule' | 'RowAutoHeightModule' | 'RowDragModule' | 'RowSelectionModule' | 'RowStyleModule' | 'ScrollApiModule' | 'SelectEditorModule' | 'TextEditorModule' | 'TextFilterModule' | 'TooltipModule' | 'UndoRedoEditModule' | 'ValidationModule' | 'ValueCacheModule' | 'CellSpanModule' | 'AdvancedFilterModule' | 'AllEnterpriseModule' | 'BatchEditModule' | 'CellSelectionModule' | 'ClipboardModule' | 'ColumnMenuModule' | 'ColumnsToolPanelModule' | 'ContextMenuModule' | 'ExcelExportModule' | 'FiltersToolPanelModule' | 'FindModule' | 'GridChartsModule' | 'IntegratedChartsModule' | 'GroupFilterModule' | 'MasterDetailModule' | 'MenuModule' | 'MultiFilterModule' | 'NewFiltersToolPanelModule' | 'PivotModule' | 'RangeSelectionModule' | 'RichSelectModule' | 'RowNumbersModule' | 'RowGroupingModule' | 'RowGroupingPanelModule' | 'ServerSideRowModelApiModule' | 'ServerSideRowModelModule' | 'SetFilterModule' | 'SideBarModule' | 'SparklinesModule' | 'StatusBarModule' | 'ToolbarModule' | 'TreeDataModule' | 'ViewportRowModelModule' | 'FormulaModule' | 'NotesModule';
75
75
  /**
76
76
  * INTERNAL: All public and internal module names
77
77
  * @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time.
78
78
  */
79
79
  export type ModuleName = InternalModuleName | CommunityModuleName | EnterpriseModuleName;
80
80
  /** These are the internal modules that we have mappings for to convert into exported modules */
81
- export type ResolvableModuleName = Extract<InternalModuleName, 'EditCore' | 'MenuCore' | 'EnterpriseCore' | 'ColumnHeaderComp' | 'ColumnFilter' | 'ColumnGroupHeaderComp' | 'SharedDragAndDrop' | 'GroupCellRenderer' | 'MenuItem' | 'CommunityCore' | 'LoadingCellRenderer' | 'Sort' | 'SharedRowSelection' | 'KeyboardNavigation' | 'SharedMenu' | 'ColumnMove' | 'ColumnResize' | 'FilterCore' | 'CsrmSsrmSharedApi' | 'RowModelSharedApi' | 'SsrmInfiniteSharedApi' | 'SharedMasterDetail' | 'SharedRowGrouping' | 'SharedAggregation' | 'SharedPivot' | 'ColumnGroup' | 'Overlay' | 'PinnedColumn' | 'ClientSideRowModelHierarchy' | 'SkeletonCellRenderer' | 'CheckboxCellRenderer' | 'SharedTreeData'>;
81
+ export type ResolvableModuleName = Extract<InternalModuleName, 'EditCore' | 'MenuCore' | 'EnterpriseCore' | 'ColumnHeaderComp' | 'ColumnFilter' | 'ColumnGroupHeaderComp' | 'SharedDragAndDrop' | 'GroupCellRenderer' | 'MenuItem' | 'CommunityCore' | 'LoadingCellRenderer' | 'Sort' | 'SharedRowSelection' | 'KeyboardNavigation' | 'SharedMenu' | 'ColumnMove' | 'ColumnResize' | 'FilterCore' | 'CsrmSsrmSharedApi' | 'RowModelSharedApi' | 'SsrmInfiniteSharedApi' | 'SharedMasterDetail' | 'SharedRowGrouping' | 'SharedAggregation' | 'SharedPivot' | 'ColumnGroup' | 'Overlay' | 'PinnedColumn' | 'CsrmHierarchy' | 'CsrmGroupStages' | 'SkeletonCellRenderer' | 'CheckboxCellRenderer' | 'SharedTreeData'>;
82
82
  /**
83
83
  * These are the types that we can display validations for
84
84
  * @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time.
@@ -0,0 +1,11 @@
1
+ import type { Component } from '../widgets/component';
2
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
3
+ export interface IRowGroupPanelBuilder {
4
+ /**
5
+ * @param horizontal rendered as a header drop zone vs. embedded in the tool panel.
6
+ * @param embedded true when the drop zone is hosted inside another focus container
7
+ * (e.g. the Toolbar) and should not register its own tab hand-off.
8
+ */
9
+ createRowGroupDropZone(horizontal: boolean, embedded?: boolean): Component;
10
+ createPivotDropZone(horizontal: boolean, embedded?: boolean): Component;
11
+ }
@@ -208,6 +208,14 @@ interface GroupRowNode<TData = any> {
208
208
  /** If using footers, reference to the footer node for this group. */
209
209
  sibling: IRowNode<TData>;
210
210
  }
211
+ /** The row ID of the root node (`'ROOT_NODE_ID'`). Use with `api.getRowNode(ROOT_NODE_ID)`. */
212
+ export declare const ROOT_NODE_ID = "ROOT_NODE_ID";
213
+ /** Prefix for group total (footer) row IDs (`'rowGroupFooter_'`). A group total row ID is `GROUP_TOTAL_ROW_ID_PREFIX + groupRowNode.id`. */
214
+ export declare const GROUP_TOTAL_ROW_ID_PREFIX = "rowGroupFooter_";
215
+ /** Prefix for detail row IDs in master-detail grids (`'detail_'`). A detail row ID is `DETAIL_ROW_ID_PREFIX + masterRowNode.id`. */
216
+ export declare const DETAIL_ROW_ID_PREFIX = "detail_";
217
+ /** The row ID of the grand total row (`'rowGroupFooter_ROOT_NODE_ID'`). Use with `api.getRowNode(GRAND_TOTAL_ROW_ID)`. */
218
+ export declare const GRAND_TOTAL_ROW_ID: string;
211
219
  export interface IRowNode<TData = any> extends BaseRowNode<TData>, GroupRowNode<TData> {
212
220
  /**
213
221
  * The primary (canonical) row node, resolving footer and pinned sibling relationships.
@@ -320,7 +328,9 @@ export interface IRowNode<TData = any> extends BaseRowNode<TData>, GroupRowNode<
320
328
  * Returns the data value from the `rowNode` for the specified column.
321
329
  *
322
330
  * By default, returns committed data ignoring any pending edits. For group rows, returns
323
- * aggregated values or the group key. For formula cells, returns the computed result.
331
+ * aggregated values or the group key. For formula cells in `'data'` / `'value'` modes,
332
+ * returns the **computed result**; in `'edit'` / `'batch'` / `'data-raw'` modes, returns
333
+ * the **raw formula string** (so the edit pipeline can round-trip it).
324
334
  *
325
335
  * To get the **displayed** value (with formatting and value formatter applied), use `api.getCellValue()` instead.
326
336
  *
@@ -330,12 +340,16 @@ export interface IRowNode<TData = any> extends BaseRowNode<TData>, GroupRowNode<
330
340
  *
331
341
  * - `'data'` (default) — Returns the aggregated value for group rows, otherwise committed data.
332
342
  * May return an `IAggFuncResult<TValue>` wrapper for aggregation columns; use `'value'` to unwrap.
343
+ * Formulas are resolved to their computed value.
333
344
  * - `'edit'` — Returns the active editor's value if editing, or the pending batch value if not editing,
334
- * then falls back to aggregation and committed data.
335
- * - `'batch'` Returns the pending batch value if batching, then falls back to aggregation and committed data.
336
- * - `'value'` — Same as `'data'` but unwraps `IAggFuncResult` (e.g. from `avg` or `count`) to its scalar value.
337
- * - `'data-raw'`Always returns committed data, skipping aggregation results (`rowNode.aggData`).
338
- * For group rows this is typically `undefined` since group rows do not hold leaf data.
345
+ * then falls back to aggregation and committed data. **Formulas are NOT resolved** — returns the raw
346
+ * formula string to mirror the edit-pipeline buffer.
347
+ * - `'batch'` — Returns the pending batch value if batching, then falls back to aggregation and committed
348
+ * data. **Formulas are NOT resolved** — returns the raw formula string to mirror the edit-pipeline buffer.
349
+ * - `'value'` Same as `'data'` but unwraps `IAggFuncResult` (e.g. from `avg` or `count`) to its scalar
350
+ * value. Formulas are resolved to their computed value.
351
+ * - `'data-raw'` — Always returns committed data, skipping aggregation results (`rowNode.aggData`) and
352
+ * formula resolution. For group rows this is typically `undefined` since group rows do not hold leaf data.
339
353
  *
340
354
  * @param colKey The column to read (field name, `colId`, or `Column` object)
341
355
  * @param from Controls value resolution. Defaults to `'data'`.
@@ -3,20 +3,23 @@ import type { GridOptions } from '../entities/gridOptions';
3
3
  import type { RowNode } from '../entities/rowNode';
4
4
  import type { ChangedPath } from '../utils/changedPath';
5
5
  import type { ClientSideRowModelStage, RefreshModelParams } from './iClientSideRowModel';
6
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
6
7
  export interface IRowNodeStage<TData = any> {
7
8
  readonly step: ClientSideRowModelStage;
8
- readonly refreshProps: (keyof GridOptions<TData>)[];
9
+ readonly refreshProps: (keyof GridOptions<TData>)[] | null;
9
10
  }
11
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
10
12
  export interface IRowNodeSortStage<TData = any> extends IRowNodeStage<TData> {
11
13
  execute(changedPath: ChangedPath | undefined, changedRowNodes: ChangedRowNodes<TData> | undefined): void;
12
14
  }
15
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
13
16
  export interface IRowNodeFilterStage<TData = any> extends IRowNodeStage<TData> {
14
17
  execute(changedPath: ChangedPath | undefined): void;
15
18
  }
16
19
  /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
17
20
  export interface IRowNodePivotStage<TData = any> extends IRowNodeStage<TData> {
18
21
  /** Returns `true` if the changedPath should be deactivated (e.g. pivot columns changed). */
19
- execute(changedPath: ChangedPath | undefined): boolean;
22
+ execute(changedPath: ChangedPath | undefined, changedProps: Set<keyof GridOptions> | undefined): boolean;
20
23
  }
21
24
  /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
22
25
  export interface IRowNodeAggregationStage<TData = any> extends IRowNodeStage<TData> {
@@ -46,7 +49,7 @@ export interface IRowNodeGroupStage<TData = any> extends IRowNodeStage<TData> {
46
49
  loadLeafs(node: RowNode<TData>): RowNode<TData>[] | null;
47
50
  /** Used to lazily compute and store groupData for a row node - not for siblings */
48
51
  loadGroupData(node: RowNode<TData>): Record<string, any> | null;
49
- /** Clears all stored group rows / tree data fillers */
52
+ /** Clears all stored group rows / tree data fillers without dispatching position events. */
50
53
  clearNonLeafs(): void;
51
54
  /** Called when row group columns might have changed */
52
55
  invalidateGroupCols(): void;
@@ -39,6 +39,16 @@ export interface IServerSideGetRowsParams<TData = any, TContext = any> extends A
39
39
  * This is NOT part fo the request as it cannot be serialised to JSON (a rowNode has methods).
40
40
  */
41
41
  parentNode: IRowNode<TData>;
42
+ /**
43
+ * A hint indicating the grid does not yet have grand total data cached.
44
+ * When `true`, the server should include grand total data in the response via `grandTotalData`
45
+ * or as a row in `rowData` whose `getRowId` returns `'rowGroupFooter_ROOT_NODE_ID'`.
46
+ *
47
+ * This is only a hint — the server may always provide updated grand total data regardless of
48
+ * this flag, and the grid will accept it. Providing grand total data when this is `false`
49
+ * will update the existing grand total row.
50
+ */
51
+ needsGrandTotal: boolean;
42
52
  /**
43
53
  * Success callback, pass the rows back to the grid that were requested.
44
54
  */
@@ -53,4 +53,10 @@ export interface LoadSuccessParams<TData = any> {
53
53
  * The pivot fields in the response - if provided the grid will attempt to generate secondary columns.
54
54
  */
55
55
  pivotResultFields?: string[];
56
+ /**
57
+ * Data for the grand total row. When provided, the grid will display or update the grand total footer row.
58
+ * Set to `null` to remove an existing grand total row. Takes priority over a grand total row found in `rowData`.
59
+ * Only the fields you want to display need to be provided; the grid assigns the row ID automatically.
60
+ */
61
+ grandTotalData?: Partial<TData> | null;
56
62
  }
@@ -0,0 +1,178 @@
1
+ import type { IComponent } from '../agStack/interfaces/iComponent';
2
+ import type { ToolbarItemComponentName } from '../context/context';
3
+ import type { IconName } from '../utils/icon';
4
+ import type { AgGridCommon } from './iCommon';
5
+ import type { DefaultMenuItem, MenuItemDef } from './menuItem';
6
+ /**
7
+ * Configure the [Quick Access Toolbar](https://ag-grid.com/javascript-data-grid/toolbar/)
8
+ */
9
+ export type Toolbar = {
10
+ /** Default alignment for items in the toolbar. Defaults to `'left'`. Item-level `alignment` takes precedence. */
11
+ alignment?: 'left' | 'right';
12
+ /** Items to render in the toolbar. Each entry is either a shorthand string identifier or a full item definition object. */
13
+ items: (ToolbarItemDef | ToolbarItemShorthand)[];
14
+ };
15
+ /**
16
+ * Shorthand string identifiers that can be used in `Toolbar.items` or on a toolbar item's `toolbarItem`.
17
+ * Includes the provided toolbar item components and `'separator'`.
18
+ */
19
+ export type ToolbarItemShorthand = ToolbarItemComponentName | 'separator' | (string & {});
20
+ /**
21
+ * A component reference for a toolbar item. Either a shorthand string identifier,
22
+ * a component class (AG Grid / Angular / React class component), or a component
23
+ * function (React functional component).
24
+ */
25
+ export type ToolbarItemComponent<T> = ToolbarItemShorthand | T;
26
+ /** Params passed to a toolbar item's `action` callback when the item is activated. */
27
+ export interface ToolbarItemActionParams<TData = any, TContext = any> extends AgGridCommon<TData, TContext> {
28
+ /** The toolbar item `key` identifying which item triggered the action. */
29
+ key: string;
30
+ }
31
+ /** Properties common to every toolbar item definition variant. */
32
+ interface ToolbarItemDefBase {
33
+ /**
34
+ * Unique identifier used to look up this item via `api.getToolbarItemInstance(key)`.
35
+ * Optional — items without a key still render. Set a key only on items you want to
36
+ * access via the API.
37
+ */
38
+ key?: string;
39
+ /** Alignment within the toolbar. Falls back to the toolbar-level `alignment`. */
40
+ alignment?: 'left' | 'right';
41
+ }
42
+ /**
43
+ * Action Button shorthand — renders a default button using `label`, `icon` and `action`,
44
+ * without requiring a component reference. Provide at least one of `label`, `icon` or `action`.
45
+ */
46
+ export interface ToolbarButtonItemDef<TData = any, TContext = any> extends ToolbarItemDefBase {
47
+ /** Visible text rendered next to the icon. Omit to render an icon-only button. */
48
+ label?: string;
49
+ /** Hover tooltip and `aria-label`. Falls back to `label` when omitted. */
50
+ tooltip?: string;
51
+ /** Icon displayed on the default button. */
52
+ icon?: IconName;
53
+ /** Function invoked when the default button is clicked. */
54
+ action?: (params: ToolbarItemActionParams<TData, TContext>) => void;
55
+ /** Not used for action buttons — set `toolbarItem` to use a built-in or custom component instead. */
56
+ toolbarItem?: never;
57
+ /** Not used for action buttons — set `toolbarItem` to use a built-in or custom component instead. */
58
+ toolbarItemParams?: never;
59
+ }
60
+ /** Params accepted by the `agMenuToolbarItem` built-in toolbar item. */
61
+ export interface ToolbarMenuItemParams<TData = any, TContext = any> {
62
+ /** Items shown in the dropdown. Accepts `MenuItemDef` objects or built-in string names (e.g. `'copy'`, `'export'`, `'separator'`). */
63
+ menuItems?: (MenuItemDef<TData, TContext> | DefaultMenuItem)[];
64
+ }
65
+ /**
66
+ * Reference to a built-in toolbar item component (or `'separator'`) that does not accept params.
67
+ */
68
+ export interface ToolbarBuiltInItemDef extends ToolbarItemDefBase {
69
+ /** A built-in toolbar item component name, or `'separator'`. */
70
+ toolbarItem: Exclude<ToolbarItemComponentName, 'agMenuToolbarItem'> | 'separator';
71
+ /** Built-in items (other than `agMenuToolbarItem`) do not accept params. */
72
+ toolbarItemParams?: never;
73
+ /** Not used for built-in items — use the Action Button variant for label/icon/action. */
74
+ label?: never;
75
+ /** Not used for built-in items — use the Action Button variant for label/icon/action. */
76
+ icon?: never;
77
+ /** Not used for built-in items — use the Action Button variant for label/icon/action. */
78
+ action?: never;
79
+ }
80
+ /**
81
+ * Reference to the `agMenuToolbarItem` built-in toolbar item — a button that opens a dropdown
82
+ * menu. Configure `label`, `icon`, and `tooltip` at the top level; `toolbarItemParams` carries
83
+ * the menu contents.
84
+ */
85
+ export interface ToolbarMenuBuiltInItemDef<TData = any, TContext = any> extends ToolbarItemDefBase {
86
+ /** The `agMenuToolbarItem` built-in component. */
87
+ toolbarItem: 'agMenuToolbarItem';
88
+ /** Configuration for the menu button (menu items). */
89
+ toolbarItemParams?: ToolbarMenuItemParams<TData, TContext>;
90
+ /** Visible text rendered next to the icon. Omit to render an icon-only button. */
91
+ label?: string;
92
+ /** Hover tooltip and `aria-label`. Falls back to `label`, then to the locale "Menu" text. */
93
+ tooltip?: string;
94
+ /** Icon displayed on the button. Defaults to the `menu` icon. */
95
+ icon?: IconName;
96
+ /** Not used for menu items. */
97
+ action?: never;
98
+ }
99
+ /**
100
+ * Reference to a user-provided custom toolbar item component.
101
+ * `toolbarItem` is a component class/function, or the name of a registered custom component.
102
+ */
103
+ export interface ToolbarCustomItemDef<TParams = any, TCustom = any> extends ToolbarItemDefBase {
104
+ /** Custom component reference, or the name of a registered custom component. */
105
+ toolbarItem: TCustom;
106
+ /** Parameters forwarded to the custom component. */
107
+ toolbarItemParams?: TParams;
108
+ /** Not used for custom items — use the Action Button variant for label/icon/action. */
109
+ label?: never;
110
+ /** Not used for custom items — use the Action Button variant for label/icon/action. */
111
+ icon?: never;
112
+ /** Not used for custom items — use the Action Button variant for label/icon/action. */
113
+ action?: never;
114
+ }
115
+ /**
116
+ * A toolbar item definition. One of the following variants:
117
+ * - {@link ToolbarButtonItemDef} — action button shorthand (`label`/`icon`/`action`)
118
+ * - {@link ToolbarBuiltInItemDef} — reference to a built-in component or `'separator'`
119
+ * - {@link ToolbarMenuBuiltInItemDef} — reference to the `agMenuToolbarItem` dropdown menu button
120
+ * - {@link ToolbarCustomItemDef} — reference to a custom component
121
+ */
122
+ export type ToolbarItemDef<TData = any, TContext = any, TParams = any, TCustom = any> = ToolbarButtonItemDef<TData, TContext> | ToolbarBuiltInItemDef | ToolbarMenuBuiltInItemDef<TData, TContext> | ToolbarCustomItemDef<TParams, TCustom>;
123
+ /**
124
+ * Params delivered to a toolbar item component. Mirrors the runtime shape produced by the
125
+ * grid: a flat object containing the item-definition fields the grid forwards, merged with
126
+ * `AgGridCommon`. The `toolbarItem` reference itself is intentionally not forwarded — the
127
+ * component already knows what it is.
128
+ */
129
+ export interface IToolbarItemParams<TData = any, TContext = any, TParams = any> extends AgGridCommon<TData, TContext> {
130
+ /**
131
+ * Identifier for the item. Mirrors the `key` set on the item definition, or an
132
+ * auto-generated key when none was provided. Used internally; only items with an
133
+ * explicit key on the definition are reachable via `api.getToolbarItemInstance(key)`.
134
+ */
135
+ key: string;
136
+ /** Explicit alignment, when set on the item definition. */
137
+ alignment?: 'left' | 'right';
138
+ /** Custom params forwarded from the item definition's `toolbarItemParams`. */
139
+ toolbarItemParams?: TParams;
140
+ /** Label, when set on the item definition (action-button shorthand or `agMenuToolbarItem`). */
141
+ label?: string;
142
+ /** Tooltip / aria-label, when set on the item definition. */
143
+ tooltip?: string;
144
+ /** Icon name, when set on the item definition. */
145
+ icon?: IconName;
146
+ /** Action callback, when using the action-button shorthand. */
147
+ action?: (params: ToolbarItemActionParams<TData, TContext>) => void;
148
+ }
149
+ /**
150
+ * Interface that custom toolbar item components may implement to receive lifecycle callbacks from the grid.
151
+ * Implement `refresh` to update in-place when the `toolbar` option changes, avoiding a full destroy/recreate cycle.
152
+ */
153
+ export interface IToolbarItem<TData = any, TContext = any> {
154
+ /**
155
+ * Called when the `toolbar` grid option updates.
156
+ * Return `true` if the component updates itself with the new params.
157
+ * Return `false` (or omit) to have the grid destroy and recreate the component.
158
+ */
159
+ refresh?(params: IToolbarItemParams<TData, TContext>): boolean;
160
+ }
161
+ /**
162
+ * Full interface for toolbar item components: combines `IToolbarItem` (optional `refresh` callback)
163
+ * with the standard AG Grid component lifecycle (`IComponent`).
164
+ * Custom toolbar components that are class-based should implement this interface.
165
+ */
166
+ export interface IToolbarItemComp<TData = any, TContext = any> extends IToolbarItem<TData, TContext>, IComponent<IToolbarItemParams<TData, TContext>> {
167
+ }
168
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
169
+ export interface IToolbarService {
170
+ setToolbar(toolbar: IToolbarComp): void;
171
+ clearToolbar(toolbar: IToolbarComp): void;
172
+ getToolbarItemInstance<T = IToolbarItem>(key: string): T | undefined;
173
+ }
174
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
175
+ export interface IToolbarComp {
176
+ getToolbarItemInstance<T = IToolbarItem>(key: string): T | undefined;
177
+ }
178
+ export {};
@@ -139,4 +139,4 @@ export interface IMenuItem extends BaseMenuItem {
139
139
  }
140
140
  export interface IMenuItemComp<TData = any, TContext = any> extends IComponent<IMenuItemParams<TData, TContext>>, IMenuItem {
141
141
  }
142
- export type DefaultMenuItem = 'pinSubMenu' | 'pinLeft' | 'pinRight' | 'pinRowSubMenu' | 'pinTop' | 'pinBottom' | 'unpinRow' | 'clearPinned' | 'valueAggSubMenu' | 'autoSizeThis' | 'autoSizeAll' | 'rowGroup' | 'rowUnGroup' | 'resetColumns' | 'expandAll' | 'contractAll' | 'copy' | 'copyWithHeaders' | 'copyWithGroupHeaders' | 'cut' | 'paste' | 'export' | 'csvExport' | 'excelExport' | 'separator' | 'pivotChart' | 'chartRange' | 'columnFilter' | 'columnChooser' | 'sortAscending' | 'sortDescending' | 'sortAbsoluteAscending' | 'sortAbsoluteDescending' | 'sortUnSort';
142
+ export type DefaultMenuItem = 'pinSubMenu' | 'pinLeft' | 'pinRight' | 'pinRowSubMenu' | 'pinTop' | 'pinBottom' | 'unpinRow' | 'clearPinned' | 'valueAggSubMenu' | 'autoSizeThis' | 'autoSizeAll' | 'rowGroup' | 'rowUnGroup' | 'resetColumns' | 'expandAll' | 'contractAll' | 'copy' | 'copyWithHeaders' | 'copyWithGroupHeaders' | 'cut' | 'paste' | 'note' | 'export' | 'csvExport' | 'excelExport' | 'separator' | 'pivotChart' | 'chartRange' | 'columnFilter' | 'columnChooser' | 'sortAscending' | 'sortDescending' | 'sortAbsoluteAscending' | 'sortAbsoluteDescending' | 'sortUnSort';
@@ -0,0 +1,147 @@
1
+ import type { Bean } from '../context/bean';
2
+ import type { AgColumn } from '../entities/agColumn';
3
+ import type { ColKey } from '../entities/colDef';
4
+ import type { CellCtrl } from '../rendering/cell/cellCtrl';
5
+ import type { RowCtrl } from '../rendering/row/rowCtrl';
6
+ import type { Column } from './iColumn';
7
+ import type { AgGridCommon } from './iCommon';
8
+ import type { IRowNode } from './iRowNode';
9
+ export interface Note<TMetadata = any> {
10
+ /** Text content of the note. */
11
+ text: string;
12
+ /** Set to `true` to make this note readonly. */
13
+ readOnly?: boolean;
14
+ /** Optional author of the note. */
15
+ author?: string;
16
+ /** Optional creation timestamp. */
17
+ createdAt?: string;
18
+ /** Optional updated timestamp. */
19
+ updatedAt?: string;
20
+ /** Optional application metadata to be associated with this note. */
21
+ metadata?: TMetadata;
22
+ }
23
+ export interface NoteParams {
24
+ /** Column that the note is for. */
25
+ column: ColKey;
26
+ /** Row that the note is for. */
27
+ rowNode: IRowNode;
28
+ /** If using fullWidthRows the location is `cell` for normal cells. */
29
+ location?: 'cell';
30
+ }
31
+ export interface FullWidthRowNoteParams {
32
+ /** Full width row */
33
+ rowNode: IRowNode;
34
+ /** Location is `fullWidthRow` for full width row notes. */
35
+ location: 'fullWidthRow';
36
+ /** If `embedFullWidthRows=true` identifies the pinned section the note has been applied to. */
37
+ pinned?: 'left' | 'right';
38
+ }
39
+ export type GetNoteParams = NoteParams | FullWidthRowNoteParams;
40
+ export type SetNoteParams<TMetadata = any> = GetNoteParams & {
41
+ /** Note to be saved. */
42
+ note: Note<TMetadata> | undefined;
43
+ };
44
+ export interface NotesDataSourceNoteParams {
45
+ /** Column for the note. */
46
+ column: Column;
47
+ /** Row for the note. */
48
+ rowNode: IRowNode;
49
+ /** Location of the note. */
50
+ location?: 'cell';
51
+ }
52
+ export interface NotesDataSourceFullWidthRowNoteParams {
53
+ /** Row for the note. */
54
+ rowNode: IRowNode;
55
+ /** Location of the note. */
56
+ location: 'fullWidthRow';
57
+ /** If `embedFullWidthRows=true` identifies the pinned section the note has been applied to. */
58
+ pinned?: 'left' | 'right';
59
+ }
60
+ export type NotesDataSourceGetNoteParams = NotesDataSourceNoteParams;
61
+ export interface NotesDataSourceSetNoteParams<TMetadata = any> extends NotesDataSourceNoteParams {
62
+ /** Note to be saved. */
63
+ note: Note<TMetadata> | undefined;
64
+ }
65
+ export type FullWidthNotesDataSourceGetNoteParams = NotesDataSourceNoteParams | NotesDataSourceFullWidthRowNoteParams;
66
+ export type FullWidthNotesDataSourceSetNoteParams<TMetadata = any> = NotesDataSourceSetNoteParams<TMetadata> | (NotesDataSourceFullWidthRowNoteParams & {
67
+ /** Note to be saved. */
68
+ note: Note<TMetadata> | undefined;
69
+ });
70
+ export interface NotesDataSourceParams extends AgGridCommon<any, any> {
71
+ }
72
+ interface BaseNotesDataSource {
73
+ /** Initialise the data source so that the user can take a reference to the gridApi if needed. */
74
+ init?(params: NotesDataSourceParams): void;
75
+ /** Called by the grid when the data source is being disposed. */
76
+ destroy?(): void;
77
+ }
78
+ /**
79
+ * Control where notes are stored/retrieved from.
80
+ * An implementation can store note state separately from the row data, or persist it remotely.
81
+ */
82
+ export interface NotesDataSource<TMetadata = any> extends BaseNotesDataSource {
83
+ /** Return the note for the given cell. */
84
+ getNote(params: NotesDataSourceGetNoteParams): Note<TMetadata> | undefined;
85
+ /** Set or clear the note for the given cell. */
86
+ setNote(params: NotesDataSourceSetNoteParams<TMetadata>): void;
87
+ }
88
+ /**
89
+ * Control where notes are stored/retrieved from for both cells and full width rows.
90
+ */
91
+ export interface FullWidthNotesDataSource<TMetadata = any> extends BaseNotesDataSource {
92
+ /** Enables full width row notes for this datasource. */
93
+ supportsFullWidthRows: true;
94
+ /** Return the note for the given cell or full width row. */
95
+ getNote(params: FullWidthNotesDataSourceGetNoteParams): Note<TMetadata> | undefined;
96
+ /** Set or clear the note for the given cell or full width row. */
97
+ setNote(params: FullWidthNotesDataSourceSetNoteParams<TMetadata>): void;
98
+ }
99
+ export interface RefreshNotesParams {
100
+ /** Only refresh the provided rowNodes. If `undefined` refresh all rows. */
101
+ rowNodes?: IRowNode[];
102
+ /** Only refresh the provided columns. If `undefined` refresh all columns. */
103
+ columns?: (string | Column)[];
104
+ }
105
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
106
+ export interface INoteAccess {
107
+ params: GetNoteParams;
108
+ rowNode: IRowNode;
109
+ column: AgColumn;
110
+ note: Note | undefined;
111
+ isReadOnly: boolean;
112
+ isSuppressed: boolean;
113
+ canView: boolean;
114
+ canCreate: boolean;
115
+ canEdit: boolean;
116
+ canDelete: boolean;
117
+ }
118
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
119
+ export interface INotesFeature {
120
+ refresh(): void;
121
+ show(params?: {
122
+ focusEditor?: boolean;
123
+ pinned?: 'left' | 'right';
124
+ }): void;
125
+ hide(save?: boolean): void;
126
+ destroy(): void;
127
+ }
128
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
129
+ export interface INotesDataService extends Bean {
130
+ hasDataSource(): boolean;
131
+ supportsFullWidthRows(): boolean;
132
+ getNote(params: GetNoteParams): Note | undefined;
133
+ setNote(params: SetNoteParams): void;
134
+ }
135
+ /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
136
+ export interface INotesService extends Bean {
137
+ hasDataSource(): boolean;
138
+ onDataSourceChanged(): void;
139
+ createNotesFeature(ctrl: CellCtrl): INotesFeature | undefined;
140
+ createFullWidthNotesFeature(ctrl: RowCtrl): INotesFeature | undefined;
141
+ getNoteAccess(params: GetNoteParams): INoteAccess | undefined;
142
+ getNote(params: GetNoteParams): Note | undefined;
143
+ showNote(params: GetNoteParams, focusEditor?: boolean): boolean;
144
+ setNote(params: SetNoteParams): void;
145
+ refreshNotes(params?: RefreshNotesParams): void;
146
+ }
147
+ export {};