@adaptabletools/adaptable 22.0.0-canary.1 → 22.0.0-canary.2

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 (133) hide show
  1. package/index.css +3 -14
  2. package/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  5. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  6. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  7. package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
  8. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  9. package/src/AdaptableState/InitialState.d.ts +1 -1
  10. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  11. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  12. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  13. package/src/Api/Implementation/AlertApiImpl.js +1 -0
  14. package/src/Api/Implementation/ApiBase.js +1 -0
  15. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  16. package/src/Api/Implementation/ChartingApiImpl.js +4 -0
  17. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  18. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  19. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  20. package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
  21. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  22. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  23. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  24. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  25. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  26. package/src/Api/Implementation/EventApiImpl.js +16 -14
  27. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  28. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  29. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  30. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  31. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
  32. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
  33. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  34. package/src/Api/Implementation/GridApiImpl.js +1 -0
  35. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  36. package/src/Api/Implementation/LayoutApiImpl.js +1 -0
  37. package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
  38. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  39. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  40. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  41. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  42. package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
  43. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  44. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  45. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
  46. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  47. package/src/Redux/Store/AdaptableStore.js +49 -43
  48. package/src/Strategy/AdaptableModuleBase.js +4 -0
  49. package/src/Strategy/AlertModule.js +1 -0
  50. package/src/Strategy/CalculatedColumnModule.js +1 -0
  51. package/src/Strategy/CellSummaryModule.js +1 -1
  52. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  53. package/src/Strategy/FlashingCellModule.js +1 -0
  54. package/src/Strategy/FreeTextColumnModule.js +1 -0
  55. package/src/Strategy/LayoutModule.js +2 -1
  56. package/src/Strategy/PlusMinusModule.js +2 -0
  57. package/src/Strategy/ScheduleModule.js +1 -0
  58. package/src/Strategy/ShortcutModule.js +2 -0
  59. package/src/Strategy/TeamSharingModule.js +10 -10
  60. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -1
  61. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  62. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  63. package/src/Utilities/MenuItem.js +18 -0
  64. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  65. package/src/Utilities/Services/AlertService.js +6 -4
  66. package/src/Utilities/Services/AnnotationsService.js +3 -0
  67. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  68. package/src/Utilities/Services/ChartingService.js +1 -0
  69. package/src/Utilities/Services/DataService.js +10 -2
  70. package/src/Utilities/Services/Fdc3Service.js +5 -3
  71. package/src/Utilities/Services/FlashingCellService.js +5 -0
  72. package/src/Utilities/Services/LicenseService/index.js +1 -1
  73. package/src/Utilities/Services/MetamodelService.js +2 -2
  74. package/src/Utilities/Services/ModuleService.js +1 -0
  75. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  76. package/src/Utilities/Services/RowFormService.js +1 -0
  77. package/src/Utilities/Services/RowSummaryService.js +10 -7
  78. package/src/Utilities/Services/TeamSharingService.js +3 -1
  79. package/src/Utilities/Services/ThemeService.js +11 -9
  80. package/src/Utilities/Services/ValidationService.js +1 -0
  81. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  82. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +1 -0
  83. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
  84. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -0
  85. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  86. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  87. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  88. package/src/View/Components/ExpressionWizard.js +5 -5
  89. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  90. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  91. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  92. package/src/View/CustomSort/CustomSortSummary.js +13 -13
  93. package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
  94. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
  95. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  96. package/src/View/Theme/ThemePopup.js +13 -16
  97. package/src/agGrid/Adaptable.js +4 -0
  98. package/src/agGrid/AdaptableAgGrid.js +99 -33
  99. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  100. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  101. package/src/agGrid/AdaptableLogger.js +10 -0
  102. package/src/agGrid/AgGridAdapter.js +11 -1
  103. package/src/agGrid/AgGridColumnAdapter.js +2 -0
  104. package/src/agGrid/AgGridExportAdapter.js +10 -9
  105. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  106. package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
  107. package/src/agGrid/AgGridMenuAdapter.js +1 -0
  108. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  109. package/src/agGrid/AgGridOptionsService.js +3 -0
  110. package/src/agGrid/AgGridThemeAdapter.js +2 -0
  111. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  112. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  113. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  114. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  115. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  116. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  117. package/src/agGrid/index.d.ts +6 -0
  118. package/src/agGrid/index.js +6 -0
  119. package/src/components/Datepicker/index.js +1 -1
  120. package/src/components/overlayBaseZIndex.js +1 -1
  121. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  122. package/src/devTools/index.js +54 -53
  123. package/src/env.js +2 -2
  124. package/src/layout-manager/src/LMEmitter.js +11 -11
  125. package/src/layout-manager/src/LMLogger.js +7 -0
  126. package/src/layout-manager/src/index.js +56 -51
  127. package/src/metamodel/adaptable.metamodel.d.ts +57 -0
  128. package/src/metamodel/adaptable.metamodel.js +1 -1
  129. package/src/migration/AdaptableUpgradeHelper.js +3 -0
  130. package/src/migration/VersionUpgrade.js +1 -0
  131. package/src/migration/VersionUpgrade17.js +1 -2
  132. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  133. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -4,5 +4,11 @@ AdaptableNoCodeWizard as ABWizard, } from './Adaptable';
4
4
  import { AdaptableLogger as ABLogger } from './AdaptableLogger';
5
5
  export { default as AdaptableWizardView } from '../View/AdaptableWizardView';
6
6
  export default Adaptable;
7
+ /**
8
+ * AdapTable's No Code Wizard
9
+ */
7
10
  export const AdaptableNoCodeWizard = ABWizard;
11
+ /**
12
+ * AdapTable's Logger
13
+ */
8
14
  export const AdaptableLogger = ABLogger;
@@ -112,7 +112,7 @@ export const Datepicker = React.forwardRef((props, ref) => {
112
112
  }, accessLevel: 'Full' })) : null;
113
113
  const calendarButton = (React.createElement(SimpleButton, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, className: "twa:p-0", onClick: () => setVisible(true) }));
114
114
  const overlayDOMRef = useRef(null);
115
- return (React.createElement(Flex, null,
115
+ return (React.createElement(Flex, { className: "twa:flex-1" },
116
116
  React.createElement(OverlayTrigger, { visible: visible, render: () => (React.createElement(DatepickerOverlay, { overlayDOMRef: overlayDOMRef, onMouseDown: props.onMouseDown, onHide: () => setVisible(false), onKeyDown: (e) => {
117
117
  if (e.key === 'Escape' || e.key === 'Enter') {
118
118
  setVisible(false, e.key);
@@ -1 +1 @@
1
- export const OVERLAY_BASE_Z_INDEX = 9999999;
1
+ export const OVERLAY_BASE_Z_INDEX = 9_999_999;
@@ -1,20 +1,11 @@
1
1
  import { useCallback, useRef } from 'react';
2
2
  class SectionSelector {
3
+ scrollTop = 0;
4
+ node;
5
+ boxHeight;
6
+ childrenHeights = [];
7
+ maxScrollTop;
3
8
  constructor(node) {
4
- this.scrollTop = 0;
5
- this.childrenHeights = [];
6
- this.select = (scrollTop) => {
7
- this.refreshFromDOM();
8
- const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
9
- let heightSum = 0;
10
- for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
11
- heightSum += this.childrenHeights[i];
12
- if (heightSum > relativeCurrentHeight) {
13
- return i;
14
- }
15
- }
16
- return this.childrenHeights.length - 1;
17
- };
18
9
  this.node = node;
19
10
  this.refreshFromDOM();
20
11
  }
@@ -33,6 +24,18 @@ class SectionSelector {
33
24
  height,
34
25
  };
35
26
  }
27
+ select = (scrollTop) => {
28
+ this.refreshFromDOM();
29
+ const relativeCurrentHeight = (scrollTop * this.boxHeight) / this.maxScrollTop;
30
+ let heightSum = 0;
31
+ for (let i = 0, len = this.childrenHeights.length; i < len; i++) {
32
+ heightSum += this.childrenHeights[i];
33
+ if (heightSum > relativeCurrentHeight) {
34
+ return i;
35
+ }
36
+ }
37
+ return this.childrenHeights.length - 1;
38
+ };
36
39
  }
37
40
  export const useContainerScrollObserver = (callback) => {
38
41
  const containerNodeRef = useRef(null);
@@ -22,66 +22,32 @@ function getColor(identifier) {
22
22
  return color;
23
23
  }
24
24
  export class DevToolsMarker {
25
+ adaptableId;
25
26
  static create(adaptableId) {
26
27
  return new DevToolsMarker(adaptableId);
27
28
  }
29
+ markerDetails = {
30
+ label: '',
31
+ track: '',
32
+ trackGroup: undefined,
33
+ color: undefined,
34
+ details: [],
35
+ tooltip: undefined,
36
+ };
37
+ stopped = false;
28
38
  constructor(adaptableId) {
29
39
  this.adaptableId = adaptableId;
30
- this.markerDetails = {
31
- label: '',
32
- track: '',
33
- trackGroup: undefined,
34
- color: undefined,
35
- details: [],
36
- tooltip: undefined,
37
- };
38
- this.stopped = false;
39
- this.start = (startDetails) => {
40
- if (this.markerDetails.startTs) {
41
- return this;
42
- }
43
- const start = performance.now();
44
- this.markerDetails.details = startDetails?.details ?? [];
45
- this.markerDetails.startTs = start;
46
- return this;
47
- };
48
- this.end = (markerDetails = {}) => {
49
- if (this.stopped) {
50
- return this;
51
- }
52
- this.stopped = true;
53
- const start = markerDetails.startTs ?? this.markerDetails.startTs;
54
- const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
55
- let color = markerDetails.color || this.markerDetails.color || '';
56
- const trackGroup = markerDetails.trackGroup ||
57
- this.markerDetails.trackGroup ||
58
- `AdapTable (${this.adaptableId})`;
59
- const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
60
- const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
61
- const label = markerDetails.label || this.markerDetails.label || 'Unknown';
62
- const track = markerDetails.track || this.markerDetails.track || 'Unknown';
63
- if (!color) {
64
- const identifier = `${trackGroup}:${track}:${label}`;
65
- color = getColor(identifier);
66
- }
67
- performance.measure(label, {
68
- start,
69
- end,
70
- detail: {
71
- devtools: {
72
- dataType: 'track-entry',
73
- trackGroup,
74
- track,
75
- color: color || 'primary',
76
- properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
77
- tooltipText: tooltip,
78
- },
79
- },
80
- });
81
- return this;
82
- };
83
40
  this.adaptableId = adaptableId;
84
41
  }
42
+ start = (startDetails) => {
43
+ if (this.markerDetails.startTs) {
44
+ return this;
45
+ }
46
+ const start = performance.now();
47
+ this.markerDetails.details = startDetails?.details ?? [];
48
+ this.markerDetails.startTs = start;
49
+ return this;
50
+ };
85
51
  get startTimestamp() {
86
52
  return this.markerDetails.startTs;
87
53
  }
@@ -131,6 +97,41 @@ export class DevToolsMarker {
131
97
  return acc;
132
98
  }, {});
133
99
  }
100
+ end = (markerDetails = {}) => {
101
+ if (this.stopped) {
102
+ return this;
103
+ }
104
+ this.stopped = true;
105
+ const start = markerDetails.startTs ?? this.markerDetails.startTs;
106
+ const end = markerDetails.endTs ?? this.markerDetails.endTs ?? performance.now();
107
+ let color = markerDetails.color || this.markerDetails.color || '';
108
+ const trackGroup = markerDetails.trackGroup ||
109
+ this.markerDetails.trackGroup ||
110
+ `AdapTable (${this.adaptableId})`;
111
+ const details = [...(this.markerDetails.details || []), ...(markerDetails.details || [])];
112
+ const tooltip = markerDetails.tooltip || this.markerDetails.tooltip;
113
+ const label = markerDetails.label || this.markerDetails.label || 'Unknown';
114
+ const track = markerDetails.track || this.markerDetails.track || 'Unknown';
115
+ if (!color) {
116
+ const identifier = `${trackGroup}:${track}:${label}`;
117
+ color = getColor(identifier);
118
+ }
119
+ performance.measure(label, {
120
+ start,
121
+ end,
122
+ detail: {
123
+ devtools: {
124
+ dataType: 'track-entry',
125
+ trackGroup,
126
+ track,
127
+ color: color || 'primary',
128
+ properties: details.length > 0 ? details.map((detail) => [detail.name, detail.value]) : undefined,
129
+ tooltipText: tooltip,
130
+ },
131
+ },
132
+ });
133
+ return this;
134
+ };
134
135
  }
135
136
  export function areAdaptableProfileTracksEnabled(adaptableId) {
136
137
  const trakcsSupported = typeof performance !== 'undefined' &&
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
3
- PUBLISH_TIMESTAMP: 1769179404024 || Date.now(),
4
- VERSION: "22.0.0-canary.1" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1769449912969 || Date.now(),
4
+ VERSION: "22.0.0-canary.2" || '--current-version--',
5
5
  };
@@ -2,20 +2,20 @@ import { LMLogger } from './LMLogger';
2
2
  function x(a, b) { }
3
3
  const xtype = [1, '2'];
4
4
  export class LMEmitter extends LMLogger {
5
+ destroyed = false;
6
+ suspended = false;
5
7
  constructor(options) {
6
8
  super(options);
7
- this.destroyed = false;
8
- this.suspended = false;
9
- /**
10
- * For each supported event, we have a Set that holds all the callbacks that should be executed
11
- * when the event is triggered.
12
- */
13
- this.eventSets = {
14
- gridLayoutChanged: new Set(),
15
- columnDefsChanged: new Set(),
16
- rowModelUpdated: new Set(),
17
- };
18
9
  }
10
+ /**
11
+ * For each supported event, we have a Set that holds all the callbacks that should be executed
12
+ * when the event is triggered.
13
+ */
14
+ eventSets = {
15
+ gridLayoutChanged: new Set(),
16
+ columnDefsChanged: new Set(),
17
+ rowModelUpdated: new Set(),
18
+ };
19
19
  on(event, callback) {
20
20
  this.eventSets[event].add(callback);
21
21
  return () => {
@@ -4,6 +4,13 @@ const performanceTime = (previousTime) => {
4
4
  return Math.round(previousTime ? now - previousTime : now);
5
5
  };
6
6
  export class LMLogger {
7
+ debugger;
8
+ infoLogger;
9
+ successLogger;
10
+ warnLogger;
11
+ errorLogger;
12
+ perfLogger;
13
+ debugId;
7
14
  constructor(options) {
8
15
  this.debugId = options.debugId;
9
16
  this.debugger = debugFactory(this.debugId ? `LayoutManager:${this.debugId}` : 'LayoutManager');
@@ -139,59 +139,20 @@ function getDefaultColumnSizeStateForColDef(colId, colDef, options) {
139
139
  return undefined;
140
140
  }
141
141
  export class LayoutManager extends LMEmitter {
142
+ gridApi;
143
+ fieldsToIds = {};
144
+ idsToFields = {};
145
+ idsToColDefs = {};
146
+ initialColumnWidths = {};
147
+ currentLayout = null;
148
+ layoutChangeDebounce;
149
+ _prevFiredLayout;
150
+ setGridOption_default;
151
+ suppressGlobalAgGridEventListener = false;
152
+ supressGlobalAgGridEventTimeoutId = null;
153
+ layoutManagerDebugId;
142
154
  constructor(options) {
143
155
  super({ debugId: options.debugId });
144
- this.fieldsToIds = {};
145
- this.idsToFields = {};
146
- this.idsToColDefs = {};
147
- this.initialColumnWidths = {};
148
- this.currentLayout = null;
149
- this.suppressGlobalAgGridEventListener = false;
150
- this.supressGlobalAgGridEventTimeoutId = null;
151
- this.globalAgGridEventListener = (type, event) => {
152
- if (this.destroyed || this.suppressGlobalAgGridEventListener) {
153
- return;
154
- }
155
- if (type in COLUMN_EVENTS_THAT_TRIGGERS_AUTO_LAYOUT_SAVE) {
156
- if (type === 'columnResized' && !event.finished) {
157
- return;
158
- }
159
- // called while dragging a column from the sidebar, to the row groups panel
160
- if (type === 'displayedColumnsChanged' && event.source === 'uiColumnDragged') {
161
- return;
162
- }
163
- this.warn(`globalAgGridEventListener-${type}`, event);
164
- if (!this.currentLayout) {
165
- const gridLayout = this.getLayoutModelFromGrid();
166
- // if there's no layout set currently in AG Grid
167
- // then emit the gridLayoutChanged event directly
168
- // as we don't have a current layout to compare to
169
- this.onGridLayoutChanged(gridLayout);
170
- return;
171
- }
172
- const gridLayout = this.getLayoutModelFromGrid();
173
- // but if we do have a current layout set
174
- // then only emit the event if the layout has changed
175
- if (!isGridLayoutSame({
176
- layoutFromGrid: gridLayout,
177
- layoutFromModel: this.currentLayout,
178
- })) {
179
- this.onGridLayoutChanged(gridLayout);
180
- return;
181
- }
182
- }
183
- };
184
- this.columnDefsChanged = (colDefs) => {
185
- if (this.suppressGlobalAgGridEventListener) {
186
- return;
187
- }
188
- this.warn('onColumnDefsChanged');
189
- this.indexColumns();
190
- if (this.currentLayout) {
191
- this.applyLayout(this.currentLayout);
192
- }
193
- this.emitSync('columnDefsChanged', colDefs);
194
- };
195
156
  this.layoutChangeDebounce = options.layoutChangeDebounce ?? 0;
196
157
  if (this.layoutChangeDebounce) {
197
158
  this.onGridLayoutChanged = debounce(this.onGridLayoutChanged, {
@@ -246,6 +207,50 @@ export class LayoutManager extends LMEmitter {
246
207
  };
247
208
  this.gridApi.setGridOption = setGridOption;
248
209
  }
210
+ globalAgGridEventListener = (type, event) => {
211
+ if (this.destroyed || this.suppressGlobalAgGridEventListener) {
212
+ return;
213
+ }
214
+ if (type in COLUMN_EVENTS_THAT_TRIGGERS_AUTO_LAYOUT_SAVE) {
215
+ if (type === 'columnResized' && !event.finished) {
216
+ return;
217
+ }
218
+ // called while dragging a column from the sidebar, to the row groups panel
219
+ if (type === 'displayedColumnsChanged' && event.source === 'uiColumnDragged') {
220
+ return;
221
+ }
222
+ this.warn(`globalAgGridEventListener-${type}`, event);
223
+ if (!this.currentLayout) {
224
+ const gridLayout = this.getLayoutModelFromGrid();
225
+ // if there's no layout set currently in AG Grid
226
+ // then emit the gridLayoutChanged event directly
227
+ // as we don't have a current layout to compare to
228
+ this.onGridLayoutChanged(gridLayout);
229
+ return;
230
+ }
231
+ const gridLayout = this.getLayoutModelFromGrid();
232
+ // but if we do have a current layout set
233
+ // then only emit the event if the layout has changed
234
+ if (!isGridLayoutSame({
235
+ layoutFromGrid: gridLayout,
236
+ layoutFromModel: this.currentLayout,
237
+ })) {
238
+ this.onGridLayoutChanged(gridLayout);
239
+ return;
240
+ }
241
+ }
242
+ };
243
+ columnDefsChanged = (colDefs) => {
244
+ if (this.suppressGlobalAgGridEventListener) {
245
+ return;
246
+ }
247
+ this.warn('onColumnDefsChanged');
248
+ this.indexColumns();
249
+ if (this.currentLayout) {
250
+ this.applyLayout(this.currentLayout);
251
+ }
252
+ this.emitSync('columnDefsChanged', colDefs);
253
+ };
249
254
  indexColumns() {
250
255
  const colDefs = this.gridApi.getColumnDefs();
251
256
  this.fieldsToIds = {};
@@ -314,6 +314,11 @@ export declare const ADAPTABLE_METAMODEL: {
314
314
  isOpt: boolean;
315
315
  }[];
316
316
  };
317
+ AdaptableColumnSummary: {
318
+ name: string;
319
+ kind: string;
320
+ desc: string;
321
+ };
317
322
  AdaptableColumnType: {
318
323
  name: string;
319
324
  kind: string;
@@ -443,6 +448,11 @@ export declare const ADAPTABLE_METAMODEL: {
443
448
  kind: string;
444
449
  desc: string;
445
450
  };
451
+ AdaptableFilterComponentLocation: {
452
+ name: string;
453
+ kind: string;
454
+ desc: string;
455
+ };
446
456
  AdaptableFilterState: {
447
457
  name: string;
448
458
  kind: string;
@@ -547,6 +557,11 @@ export declare const ADAPTABLE_METAMODEL: {
547
557
  kind: string;
548
558
  desc: string;
549
559
  };
560
+ AdaptableLogger: {
561
+ name: string;
562
+ kind: string;
563
+ desc: string;
564
+ };
550
565
  AdaptableMenuItem: {
551
566
  name: string;
552
567
  kind: string;
@@ -3896,6 +3911,22 @@ export declare const ADAPTABLE_METAMODEL: {
3896
3911
  isOpt: boolean;
3897
3912
  })[];
3898
3913
  };
3914
+ GridCellWithCount: {
3915
+ name: string;
3916
+ kind: string;
3917
+ desc: string;
3918
+ props: ({
3919
+ name: string;
3920
+ kind: string;
3921
+ desc: string;
3922
+ isOpt?: undefined;
3923
+ } | {
3924
+ name: string;
3925
+ kind: string;
3926
+ desc: string;
3927
+ isOpt: boolean;
3928
+ })[];
3929
+ };
3899
3930
  GridDataContextMapping: {
3900
3931
  name: string;
3901
3932
  kind: string;
@@ -5168,6 +5199,22 @@ export declare const ADAPTABLE_METAMODEL: {
5168
5199
  ref?: undefined;
5169
5200
  })[];
5170
5201
  };
5202
+ RowDataChangedInfo: {
5203
+ name: string;
5204
+ kind: string;
5205
+ desc: string;
5206
+ props: ({
5207
+ name: string;
5208
+ kind: string;
5209
+ desc: string;
5210
+ ref?: undefined;
5211
+ } | {
5212
+ name: string;
5213
+ kind: string;
5214
+ desc: string;
5215
+ ref: string;
5216
+ })[];
5217
+ };
5171
5218
  RowDataChangeTrigger: {
5172
5219
  name: string;
5173
5220
  kind: string;
@@ -6070,6 +6117,16 @@ export declare const ADAPTABLE_METAMODEL: {
6070
6117
  ref: string;
6071
6118
  }[];
6072
6119
  };
6120
+ UniqueGridCell: {
6121
+ name: string;
6122
+ kind: string;
6123
+ desc: string;
6124
+ props: {
6125
+ name: string;
6126
+ kind: string;
6127
+ desc: string;
6128
+ }[];
6129
+ };
6073
6130
  UpgradeConfig: {
6074
6131
  name: string;
6075
6132
  kind: string;