@adaptabletools/adaptable 18.0.0-canary.26 → 18.0.0-canary.27

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 (68) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/MenuOptions.d.ts +7 -19
  3. package/src/AdaptableOptions/MenuOptions.js +1 -96
  4. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -9
  5. package/src/Api/Implementation/LayoutApiImpl.js +0 -4
  6. package/src/Api/Internal/CommentsInternalApi.d.ts +1 -1
  7. package/src/Api/Internal/CommentsInternalApi.js +1 -1
  8. package/src/Api/Internal/NoteInternalApi.d.ts +1 -1
  9. package/src/Api/Internal/NoteInternalApi.js +1 -1
  10. package/src/Api/LayoutApi.d.ts +0 -12
  11. package/src/PredefinedConfig/Common/Menu.d.ts +4 -4
  12. package/src/PredefinedConfig/Common/Menu.js +17 -18
  13. package/src/Strategy/AdaptableModuleBase.d.ts +3 -4
  14. package/src/Strategy/AdaptableModuleBase.js +5 -9
  15. package/src/Strategy/AlertModule.d.ts +1 -1
  16. package/src/Strategy/AlertModule.js +1 -1
  17. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  18. package/src/Strategy/BulkUpdateModule.js +3 -2
  19. package/src/Strategy/CalculatedColumnModule.d.ts +2 -2
  20. package/src/Strategy/CalculatedColumnModule.js +2 -2
  21. package/src/Strategy/CellSummaryModule.d.ts +2 -2
  22. package/src/Strategy/CellSummaryModule.js +2 -2
  23. package/src/Strategy/ColumnFilterModule.d.ts +2 -2
  24. package/src/Strategy/ColumnFilterModule.js +17 -42
  25. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  26. package/src/Strategy/ColumnInfoModule.js +2 -2
  27. package/src/Strategy/CommentModule.d.ts +1 -2
  28. package/src/Strategy/CommentModule.js +29 -30
  29. package/src/Strategy/CustomSortModule.d.ts +1 -1
  30. package/src/Strategy/CustomSortModule.js +1 -1
  31. package/src/Strategy/DashboardModule.d.ts +2 -2
  32. package/src/Strategy/DashboardModule.js +3 -14
  33. package/src/Strategy/DataImportModule.d.ts +3 -3
  34. package/src/Strategy/DataImportModule.js +3 -3
  35. package/src/Strategy/ExportModule.d.ts +1 -2
  36. package/src/Strategy/ExportModule.js +12 -41
  37. package/src/Strategy/Fdc3Module.d.ts +1 -1
  38. package/src/Strategy/Fdc3Module.js +1 -14
  39. package/src/Strategy/FlashingCellModule.d.ts +2 -2
  40. package/src/Strategy/FlashingCellModule.js +2 -2
  41. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  42. package/src/Strategy/FormatColumnModule.js +28 -47
  43. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  44. package/src/Strategy/FreeTextColumnModule.js +1 -1
  45. package/src/Strategy/GridInfoModule.d.ts +2 -2
  46. package/src/Strategy/GridInfoModule.js +2 -2
  47. package/src/Strategy/Interface/IModule.d.ts +3 -3
  48. package/src/Strategy/LayoutModule.d.ts +4 -4
  49. package/src/Strategy/LayoutModule.js +46 -71
  50. package/src/Strategy/NoteModule.d.ts +1 -2
  51. package/src/Strategy/NoteModule.js +28 -30
  52. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  53. package/src/Strategy/PlusMinusModule.js +1 -1
  54. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  55. package/src/Strategy/SettingsPanelModule.js +3 -3
  56. package/src/Strategy/SmartEditModule.d.ts +1 -1
  57. package/src/Strategy/SmartEditModule.js +3 -2
  58. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  59. package/src/Strategy/StyledColumnModule.js +10 -9
  60. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  61. package/src/Strategy/SystemStatusModule.js +4 -3
  62. package/src/Utilities/Services/ModuleService.js +2 -2
  63. package/src/agGrid/AgGridColumnAdapter.js +2 -2
  64. package/src/agGrid/AgGridMenuAdapter.d.ts +18 -8
  65. package/src/agGrid/AgGridMenuAdapter.js +240 -51
  66. package/src/env.js +2 -2
  67. package/src/metamodel/adaptable.metamodel.js +1 -1
  68. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -1,4 +1,3 @@
1
- import { DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, } from '../AdaptableOptions/MenuOptions';
2
1
  import { isAdaptableElementIcon } from '../components/Icon';
3
2
  import { iconToString } from '../components/icons';
4
3
  import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
@@ -25,7 +24,8 @@ export class AgGridMenuAdapter {
25
24
  }
26
25
  const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
27
26
  const menuContext = this.createColumnMenuContextObject(adaptableColumn, params.column);
28
- const { adaptableMenuItems, structuredAdaptableMenuItems } = this.buildStructuredAdaptableColumnItems(menuContext);
27
+ const adaptableMenuItems = this.createAdaptableColumnMenuItems(menuContext);
28
+ const defaultColumnMenuStructure = this.buildColumnMenuDefaultStructure(adaptableMenuItems, menuContext);
29
29
  // 1. first check if there is a custom column menu defined
30
30
  if (typeof menuOptions.customColumnMenu === 'function') {
31
31
  const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
@@ -35,7 +35,7 @@ export class AgGridMenuAdapter {
35
35
  const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
36
36
  const customMenuItems = menuOptions
37
37
  .customColumnMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
38
- defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
38
+ defaultAdaptableMenuItems, defaultAdaptableMenuStructure: this.mapAdaptableMenuItemToSystemMenuItems(defaultColumnMenuStructure) }))
39
39
  .filter(Boolean);
40
40
  return customMenuItems
41
41
  .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
@@ -45,16 +45,10 @@ export class AgGridMenuAdapter {
45
45
  const defaultContextMenu = [
46
46
  ...agGridMenuItems,
47
47
  'separator',
48
- ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
48
+ ...defaultColumnMenuStructure.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
49
49
  ];
50
50
  return defaultContextMenu;
51
51
  }
52
- buildStructuredAdaptableColumnItems(menuContext) {
53
- const adaptableMenuItems = this.createAdaptableColumnMenuItems(menuContext);
54
- // sort Adaptable menu items by default order
55
- const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, adaptableMenuItems);
56
- return { adaptableMenuItems, structuredAdaptableMenuItems };
57
- }
58
52
  buildContextMenu(params, originalGetContextMenuItems) {
59
53
  var _a;
60
54
  // we do this in order to refresh the internal state of selected cells (technically query the AG Grid cellRanges)
@@ -69,8 +63,7 @@ export class AgGridMenuAdapter {
69
63
  const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
70
64
  const menuContext = this.createContextMenuContextObject(params, adaptableColumn);
71
65
  const adaptableMenuItems = this.createAdaptableContextMenuItems(menuContext);
72
- // sort Adaptable menu items by default order
73
- const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, adaptableMenuItems);
66
+ const defaultContextMenuStructure = this.buildContextMenuDefaultStructure(adaptableMenuItems, menuContext);
74
67
  // 1. first check if there is a custom context menu defined
75
68
  if (typeof menuOptions.customContextMenu === 'function') {
76
69
  const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
@@ -80,7 +73,7 @@ export class AgGridMenuAdapter {
80
73
  const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
81
74
  const customMenuItems = menuOptions
82
75
  .customContextMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
83
- defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
76
+ defaultAdaptableMenuItems, defaultAdaptableMenuStructure: this.mapAdaptableMenuItemToSystemMenuItems(defaultContextMenuStructure) }))
84
77
  .filter(Boolean);
85
78
  return customMenuItems
86
79
  .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
@@ -90,7 +83,7 @@ export class AgGridMenuAdapter {
90
83
  const defaultContextMenu = [
91
84
  ...agGridMenuItems,
92
85
  'separator',
93
- ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
86
+ ...defaultContextMenuStructure.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
94
87
  ];
95
88
  return defaultContextMenu;
96
89
  }
@@ -100,7 +93,7 @@ export class AgGridMenuAdapter {
100
93
  createAdaptableContextMenuItems(menuContext) {
101
94
  let contextMenuItems = [];
102
95
  this.adaptableInstance.adaptableModules.forEach((module) => {
103
- let menuItems = module.addContextMenuItems(menuContext);
96
+ let menuItems = module.createContextMenuItems(menuContext);
104
97
  if (menuItems) {
105
98
  contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
106
99
  }
@@ -197,40 +190,232 @@ export class AgGridMenuAdapter {
197
190
  }).filter(Boolean),
198
191
  };
199
192
  }
200
- buildGroupedModuleItems(sortedMenuItems, adaptableMenuItems) {
201
- return sortedMenuItems
202
- .map((moduleOrGroup) => {
203
- if (typeof moduleOrGroup === 'object') {
204
- const submenuItems = this.buildGroupedModuleItems(moduleOrGroup.modules, adaptableMenuItems);
205
- // if there is only one item in the submenu, we don't need to show the submenu
206
- if (submenuItems.length === 1) {
207
- return submenuItems[0];
208
- }
209
- return [
210
- {
211
- label: moduleOrGroup.title,
212
- icon: moduleOrGroup.icon,
213
- subItems: submenuItems,
214
- },
215
- ];
216
- }
217
- else {
218
- return adaptableMenuItems.filter((menuItem) => menuItem.module === moduleOrGroup);
219
- }
220
- })
221
- .filter((menuItems) => {
222
- if (!menuItems.length) {
223
- return false;
224
- }
225
- if (menuItems.length === 1) {
226
- const singleMenuItem = menuItems[0];
227
- if (singleMenuItem.subItems && singleMenuItem.subItems.length === 0) {
228
- return false;
229
- }
230
- }
231
- return true;
232
- })
233
- .flat();
193
+ buildContextMenuDefaultStructure(availableMenuItems, menuContext) {
194
+ // Alert
195
+ const alertMenuItems = this.getModuleSpecificStructure('Alert', availableMenuItems);
196
+ // BulkUpdate
197
+ const bulkUpdateMenuItems = this.getModuleSpecificStructure('BulkUpdate', availableMenuItems);
198
+ // CalculatedColumn
199
+ const calculatedColumnMenuItems = this.getModuleSpecificStructure('CalculatedColumn', availableMenuItems);
200
+ // CellSummary
201
+ const cellSummaryMenuItems = this.getModuleSpecificStructure('CellSummary', availableMenuItems);
202
+ // ColumnFilter
203
+ const columnFilterMenuItems = this.getModuleSpecificStructure('ColumnFilter', availableMenuItems);
204
+ // ColumnInfo
205
+ const columnInfoMenuItems = this.getModuleSpecificStructure('ColumnInfo', availableMenuItems);
206
+ // Comment
207
+ const commentMenuItems = this.getModuleSpecificStructure('Comment', availableMenuItems);
208
+ // Dashboard
209
+ const dashboardMenuItems = this.getModuleSpecificStructure('Dashboard', availableMenuItems);
210
+ // DataImport
211
+ const dataImportMenuItems = this.getModuleSpecificStructure('DataImport', availableMenuItems);
212
+ // Export
213
+ const exportMenuItems = this.getExportContextMenuStructure(availableMenuItems);
214
+ // FDC3
215
+ const fdc3MenuItems = this.getModuleSpecificStructure('Fdc3', availableMenuItems);
216
+ // FlashingCell
217
+ const flashingCellMenuItems = this.getModuleSpecificStructure('FlashingCell', availableMenuItems);
218
+ // GridInfo
219
+ const gridInfoMenuItems = this.getModuleSpecificStructure('GridInfo', availableMenuItems);
220
+ // Layout
221
+ const layoutMenuItems = this.getLayoutContextMenuStructure(availableMenuItems);
222
+ // Note
223
+ const noteMenuItems = this.getModuleSpecificStructure('Note', availableMenuItems);
224
+ // SettingsPanel
225
+ const settingsPanelMenuItems = this.getModuleSpecificStructure('SettingsPanel', availableMenuItems);
226
+ // SmartEdit
227
+ const smartEditMenuItems = this.getModuleSpecificStructure('SmartEdit', availableMenuItems);
228
+ // SystemStatus
229
+ const systemStatusMenuItems = this.getModuleSpecificStructure('SystemStatus', availableMenuItems);
230
+ return [
231
+ ...alertMenuItems,
232
+ ...bulkUpdateMenuItems,
233
+ ...calculatedColumnMenuItems,
234
+ ...cellSummaryMenuItems,
235
+ ...columnFilterMenuItems,
236
+ ...columnInfoMenuItems,
237
+ ...commentMenuItems,
238
+ ...dashboardMenuItems,
239
+ ...dataImportMenuItems,
240
+ ...exportMenuItems,
241
+ ...fdc3MenuItems,
242
+ ...flashingCellMenuItems,
243
+ ...gridInfoMenuItems,
244
+ ...layoutMenuItems,
245
+ ...noteMenuItems,
246
+ ...settingsPanelMenuItems,
247
+ ...smartEditMenuItems,
248
+ ...systemStatusMenuItems,
249
+ ];
250
+ }
251
+ /**
252
+ * Default strategy for menu items: return as is if there is only one item, otherwise group them under a parent item
253
+ */
254
+ getModuleSpecificStructure(module, menuItems) {
255
+ const moduleItems = menuItems.filter((menuItem) => menuItem.module === module);
256
+ if (moduleItems.length > 1) {
257
+ const moduleInfo = this.adaptableInstance.ModuleService.getModuleInfoByModule(module);
258
+ return [this.buildMenuGroupParent(module, moduleItems)];
259
+ }
260
+ else {
261
+ return moduleItems;
262
+ }
263
+ }
264
+ getExportContextMenuStructure(menuItems) {
265
+ const exportMenuItems = menuItems.filter((menuItem) => menuItem.module === 'Export');
266
+ if (!exportMenuItems.length) {
267
+ return [];
268
+ }
269
+ const cellSelectionItems = exportMenuItems.filter((item) => item.name.startsWith('export-cells'));
270
+ const canExportCells = cellSelectionItems.length;
271
+ const rowSelectionItems = exportMenuItems.filter((item) => item.name.startsWith('export-rows'));
272
+ const canExportRows = rowSelectionItems.length;
273
+ if (canExportCells && !canExportRows) {
274
+ return [
275
+ this.buildMenuGroupParent('Export', cellSelectionItems, {
276
+ label: 'Export Selected Cells',
277
+ }),
278
+ ];
279
+ }
280
+ if (!canExportCells && canExportRows) {
281
+ return [
282
+ this.buildMenuGroupParent('Export', rowSelectionItems, {
283
+ label: 'Export Selected Rows',
284
+ }),
285
+ ];
286
+ }
287
+ if (canExportCells && canExportRows) {
288
+ const cellsSubMenu = this.buildMenuGroupParent('Export', cellSelectionItems, {
289
+ label: 'Cells',
290
+ });
291
+ const rowsSubMenu = this.buildMenuGroupParent('Export', rowSelectionItems, { label: 'Rows' });
292
+ return [
293
+ this.buildMenuGroupParent('Export', [cellsSubMenu, rowsSubMenu], {
294
+ label: 'Export Selected',
295
+ }),
296
+ ];
297
+ }
298
+ }
299
+ getLayoutContextMenuStructure(menuItems) {
300
+ const layoutMenuItems = menuItems.filter((menuItem) => menuItem.module === 'Layout');
301
+ if (!layoutMenuItems.length) {
302
+ return [];
303
+ }
304
+ const gridActionsItemNames = [
305
+ 'layout-clear-selection',
306
+ 'layout-select-all',
307
+ 'layout-auto-size',
308
+ ];
309
+ const gridActionsItems = layoutMenuItems.filter((item) => gridActionsItemNames.includes(item.name));
310
+ const otherLayoutItems = layoutMenuItems.filter((item) => !gridActionsItemNames.includes(item.name));
311
+ return [
312
+ this.buildMenuGroupParent('Layout', gridActionsItems, {
313
+ label: 'Grid',
314
+ icon: 'align-justify',
315
+ }),
316
+ ...otherLayoutItems,
317
+ ];
318
+ }
319
+ buildMenuGroupParent(module, menuItems, config) {
320
+ var _a, _b;
321
+ const moduleInfo = this.adaptableInstance.ModuleService.getModuleInfoByModule(module);
322
+ return {
323
+ name: 'menu-group-parent',
324
+ label: (_a = config === null || config === void 0 ? void 0 : config.label) !== null && _a !== void 0 ? _a : moduleInfo.FriendlyName,
325
+ isVisible: true,
326
+ module: moduleInfo.ModuleName,
327
+ icon: {
328
+ name: (_b = config === null || config === void 0 ? void 0 : config.icon) !== null && _b !== void 0 ? _b : moduleInfo.Glyph,
329
+ },
330
+ subItems: menuItems,
331
+ };
332
+ }
333
+ buildColumnMenuDefaultStructure(availableMenuItems, menuContext) {
334
+ // CalculatedColumn
335
+ const calculatedColumnMenuItems = this.getModuleSpecificStructure('CalculatedColumn', availableMenuItems);
336
+ // CellSummary
337
+ const cellSummaryMenuItems = this.getModuleSpecificStructure('CellSummary', availableMenuItems);
338
+ // ColumnFilter
339
+ const columnFilterMenuItems = this.getModuleSpecificStructure('ColumnFilter', availableMenuItems);
340
+ // ColumnInfo
341
+ const columnInfoMenuItems = this.getModuleSpecificStructure('ColumnInfo', availableMenuItems);
342
+ // CustomSort
343
+ const customSortMenuItems = this.getModuleSpecificStructure('CustomSort', availableMenuItems);
344
+ // Dashboard
345
+ const dashboardMenuItems = this.getModuleSpecificStructure('Dashboard', availableMenuItems);
346
+ // DataImport
347
+ const dataImportMenuItems = this.getModuleSpecificStructure('DataImport', availableMenuItems);
348
+ // FlashingCell
349
+ const flashingCellMenuItems = this.getModuleSpecificStructure('FlashingCell', availableMenuItems);
350
+ // FormatColumn
351
+ const formatColumnMenuItems = this.getModuleSpecificStructure('FormatColumn', availableMenuItems);
352
+ // FreeTextColumn
353
+ const freeTextColumnMenuItems = this.getModuleSpecificStructure('FreeTextColumn', availableMenuItems);
354
+ // GridInfo
355
+ const gridInfoMenuItems = this.getModuleSpecificStructure('GridInfo', availableMenuItems);
356
+ // Layout
357
+ const layoutMenuItems = this.getLayoutColumnMenuStructure(availableMenuItems);
358
+ // PlusMinus
359
+ const plusMinusMenuItems = this.getModuleSpecificStructure('PlusMinus', availableMenuItems);
360
+ // SettingsPanel
361
+ const settingsPanelMenuItems = this.getModuleSpecificStructure('SettingsPanel', availableMenuItems);
362
+ // StyledColumn
363
+ const styledColumnMenuItems = this.getStyledColumnColumnMenuStructure(availableMenuItems);
364
+ // SystemStatus
365
+ const systemStatusMenuItems = this.getModuleSpecificStructure('SystemStatus', availableMenuItems);
366
+ return [
367
+ ...calculatedColumnMenuItems,
368
+ ...cellSummaryMenuItems,
369
+ ...columnFilterMenuItems,
370
+ ...columnInfoMenuItems,
371
+ ...customSortMenuItems,
372
+ ...dashboardMenuItems,
373
+ ...dataImportMenuItems,
374
+ ...flashingCellMenuItems,
375
+ ...formatColumnMenuItems,
376
+ ...freeTextColumnMenuItems,
377
+ ...gridInfoMenuItems,
378
+ ...layoutMenuItems,
379
+ ...plusMinusMenuItems,
380
+ ...settingsPanelMenuItems,
381
+ ...styledColumnMenuItems,
382
+ ...systemStatusMenuItems,
383
+ ];
384
+ }
385
+ getLayoutColumnMenuStructure(menuItems) {
386
+ const layoutMenuItems = menuItems.filter((menuItem) => menuItem.module === 'Layout');
387
+ if (!layoutMenuItems.length) {
388
+ return [];
389
+ }
390
+ const selectActionsItemNames = [
391
+ 'layout-column-select-preserve',
392
+ 'layout-column-select-reset',
393
+ 'layout-column-select',
394
+ 'layout-select-all',
395
+ ];
396
+ const selectActionsItems = layoutMenuItems.filter((item) => selectActionsItemNames.includes(item.name));
397
+ const otherLayoutItems = layoutMenuItems.filter((item) => !selectActionsItemNames.includes(item.name));
398
+ return [
399
+ ...otherLayoutItems,
400
+ this.buildMenuGroupParent('Layout', selectActionsItems, {
401
+ label: 'Select',
402
+ icon: 'tab-unselected',
403
+ }),
404
+ ];
405
+ }
406
+ getStyledColumnColumnMenuStructure(menuItems) {
407
+ const styledColumnMenuItems = menuItems.filter((menuItem) => menuItem.module === 'StyledColumn');
408
+ if (!styledColumnMenuItems.length) {
409
+ return [];
410
+ }
411
+ if (styledColumnMenuItems.length === 1) {
412
+ return styledColumnMenuItems;
413
+ }
414
+ return [
415
+ this.buildMenuGroupParent('StyledColumn', styledColumnMenuItems, {
416
+ label: 'Create Styled Column',
417
+ }),
418
+ ];
234
419
  }
235
420
  mapAdaptableMenuItemToSystemMenuItems(adaptableMenuItems) {
236
421
  return (adaptableMenuItems !== null && adaptableMenuItems !== void 0 ? adaptableMenuItems : []).map((menuItem) => {
@@ -244,7 +429,7 @@ export class AgGridMenuAdapter {
244
429
  createAdaptableColumnMenuItems(menuContext) {
245
430
  let contextMenuItems = [];
246
431
  this.adaptableInstance.adaptableModules.forEach((s) => {
247
- let menuItems = s.addColumnMenuItems(menuContext.adaptableColumn);
432
+ let menuItems = s.createColumnMenuItems(menuContext.adaptableColumn);
248
433
  if (menuItems) {
249
434
  contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
250
435
  }
@@ -269,9 +454,13 @@ export class AgGridMenuAdapter {
269
454
  });
270
455
  }
271
456
  }
457
+ /**
458
+ * The output of this function is used to build the column header menu if the AG Grid Menu Module is NOT present
459
+ * This is controlled by the AdaptableAgGrid.embedColumnMenu property
460
+ */
272
461
  buildStandaloneColumnHeader(adaptableColumn) {
273
462
  const agGridColumn = this.adaptableInstance.getAgGridColumnForColumnId(adaptableColumn.columnId);
274
463
  const menuContext = this.createColumnMenuContextObject(adaptableColumn, agGridColumn);
275
- return this.buildStructuredAdaptableColumnItems(menuContext).adaptableMenuItems;
464
+ return this.createAdaptableColumnMenuItems(menuContext);
276
465
  }
277
466
  }
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  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: 1712574265503 || Date.now(),
4
- VERSION: "18.0.0-canary.26" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1712613802729 || Date.now(),
4
+ VERSION: "18.0.0-canary.27" || '--current-version--',
5
5
  };