@adaptabletools/adaptable-cjs 18.0.0-canary.23 → 18.0.0-canary.25

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable-cjs",
3
- "version": "18.0.0-canary.23",
3
+ "version": "18.0.0-canary.25",
4
4
  "description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
5
5
  "keywords": [
6
6
  "web-components",
@@ -29,7 +29,9 @@ export declare abstract class AdaptablePlugin {
29
29
  afterInitOptions(adaptable: IAdaptable, adaptableOptions: AdaptableOptions): void;
30
30
  afterInitApi(adaptable: IAdaptable, api: AdaptableApi): void;
31
31
  afterInitServices(adaptable: IAdaptable): void;
32
+ afterInitialStateLoaded(adaptable: IAdaptable): void;
32
33
  afterInitModules(adaptable: IAdaptable, strategies: Map<AdaptableModule, IModule>): void;
34
+ afterInitStore(adaptable: IAdaptable): void;
33
35
  afterInit(ab: IAdaptable): void;
34
36
  afterSetLayout(adaptable: IAdaptable, layout: Layout): void;
35
37
  onStoreEvent(eventName: string, data: {
@@ -32,7 +32,9 @@ class AdaptablePlugin {
32
32
  afterInitOptions(adaptable, adaptableOptions) { }
33
33
  afterInitApi(adaptable, api) { }
34
34
  afterInitServices(adaptable) { }
35
+ afterInitialStateLoaded(adaptable) { }
35
36
  afterInitModules(adaptable, strategies) { }
37
+ afterInitStore(adaptable) { }
36
38
  afterInit(ab) { }
37
39
  // hook executed after each layout update (Adaptable.setLayout())
38
40
  afterSetLayout(adaptable, layout) { }
@@ -34,7 +34,7 @@ export interface StateOptions {
34
34
  */
35
35
  debounceStateDelay?: number;
36
36
  /**
37
- * Automatically migrate the state from the previous version of Adaptable to the current version.
37
+ * Automatically migrate State from previous AdapTable version to current one
38
38
  *
39
39
  * @defaultValue true
40
40
  */
@@ -271,4 +271,8 @@ export interface ColumnApi {
271
271
  * @param columnType the columnType to filter by
272
272
  */
273
273
  getColumnsByColumnType(columnType: string): AdaptableColumn[];
274
+ /**
275
+ * Returns all columns currently Row Grouped
276
+ */
277
+ getRowGroupedColumns(): AdaptableColumn[];
274
278
  }
@@ -366,6 +366,10 @@ export interface GridApi {
366
366
  * Whether Grid is currently showing Row Groups
367
367
  */
368
368
  isGridRowGrouped(): boolean;
369
+ /**
370
+ * Whether Grid is currently in Pivot Mode
371
+ */
372
+ isGridInPivotMode(): boolean;
369
373
  /**
370
374
  * Whether given Row Node is a Row Group
371
375
  * @param rowNode Node to check
@@ -67,4 +67,5 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
67
67
  openColumnInfoSettingsPanel(): void;
68
68
  getColumnTypes(): string[];
69
69
  getColumnsByColumnType(columnType: string): AdaptableColumn[];
70
+ getRowGroupedColumns(): AdaptableColumn[];
70
71
  }
@@ -362,5 +362,12 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
362
362
  return ((_a = c.columnTypes) !== null && _a !== void 0 ? _a : []).includes(columnType);
363
363
  });
364
364
  }
365
+ getRowGroupedColumns() {
366
+ var _a;
367
+ return (_a = this.getLayoutApi()
368
+ .getCurrentRowGroupsColumnIds()) === null || _a === void 0 ? void 0 : _a.map((n) => {
369
+ return this.getColumnWithColumnId(n);
370
+ });
371
+ }
365
372
  }
366
373
  exports.ColumnApiImpl = ColumnApiImpl;
@@ -95,6 +95,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
95
95
  isGridGroupable(): boolean;
96
96
  isGridSelectable(): boolean;
97
97
  isGridRowGrouped(): boolean;
98
+ isGridInPivotMode(): boolean;
98
99
  isGroupRowNode(rowNode: IRowNode): boolean;
99
100
  isQuickFilterAvailable(): boolean;
100
101
  redrawGrid(): void;
@@ -360,6 +360,9 @@ class GridApiImpl extends ApiBase_1.ApiBase {
360
360
  isGridRowGrouped() {
361
361
  return this.adaptable.isGridGroupingActive();
362
362
  }
363
+ isGridInPivotMode() {
364
+ return this.getLayoutApi().isCurrentLayoutPivot();
365
+ }
363
366
  isGroupRowNode(rowNode) {
364
367
  return this.adaptable.isGroupRowNode(rowNode);
365
368
  }
@@ -16,6 +16,7 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
16
16
  [key: string]: boolean;
17
17
  };
18
18
  getCurrentVisibleColumnIds(): string[];
19
+ getCurrentRowGroupsColumnIds(): string[];
19
20
  setLayout(layoutName: string): void;
20
21
  getCurrentLayout(): Layout;
21
22
  getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
@@ -38,6 +38,9 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
38
38
  getCurrentVisibleColumnIds() {
39
39
  return this.getCurrentLayout().Columns;
40
40
  }
41
+ getCurrentRowGroupsColumnIds() {
42
+ return this.getCurrentLayout().RowGroupedColumns;
43
+ }
41
44
  setLayout(layoutName) {
42
45
  if (StringExtensions_1.default.IsNotNullOrEmpty(layoutName) &&
43
46
  layoutName !== this.getCurrentLayoutName()) {
@@ -42,6 +42,10 @@ export interface LayoutApi {
42
42
  * Retrieves array of visible ColumnIds in current Layout
43
43
  */
44
44
  getCurrentVisibleColumnIds(): string[];
45
+ /**
46
+ * Retrieves array of visible ColumnIds in current Layout
47
+ */
48
+ getCurrentRowGroupsColumnIds(): string[];
45
49
  /**
46
50
  * Retrieves name of current Layout
47
51
  */
@@ -10,11 +10,11 @@ export type AdaptableContextMenuItemName = (typeof ADAPTABLE_CONTEXT_MENU_ITEMS)
10
10
  /**
11
11
  * List of Shipped Adaptable Column Menu Items
12
12
  */
13
- export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-edit", "cell-summary-show", "column-filter-bar-hide", "column-filter-bar-show", "column-filter-clear", "column-filter-on-cell-value", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "custom-sort-add", "custom-sort-edit", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "flashing-cell-add", "flashing-cell-delete", "format-column-add", "format-column-edit", "free-text-column-edit", "grid-info-show", "layout-column-caption-change", "layout-column-hide", "layout-column-select", "layout-column-select-preserve", "layout-column-select-reset", "layout-edit", "layout-grid-parent", "layout-select-parent", "layout-select-all", "plus-minus-add", "settings-panel-open", "styled-column-badge-add", "styled-column-badge-edit", "styled-column-gradient-add", "styled-column-gradient-edit", "styled-column-percent-bar-add", "styled-column-percent-bar-edit", "styled-column-sparkline-add", "styled-column-sparkline-edit", "system-status-show", "internal", "parent"];
13
+ export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-edit", "cell-summary-show", "column-filter-parent", "column-filter-bar-hide", "column-filter-bar-show", "column-filter-clear", "column-filter-on-cell-value", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "custom-sort-add", "custom-sort-edit", "dashboard-parent", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "flashing-cell-add", "flashing-cell-delete", "format-column-parent", "format-column-add", "format-column-edit", "free-text-column-edit", "grid-info-show", "layout-column-caption-change", "layout-column-hide", "layout-column-select", "layout-column-select-preserve", "layout-column-select-reset", "layout-edit", "layout-grid-parent", "layout-select-parent", "layout-select-all", "plus-minus-add", "settings-panel-open", "styled-column-parent", "styled-column-badge-add", "styled-column-badge-edit", "styled-column-gradient-add", "styled-column-gradient-edit", "styled-column-percent-bar-add", "styled-column-percent-bar-edit", "styled-column-sparkline-add", "styled-column-sparkline-edit", "system-status-show", "internal"];
14
14
  /**
15
15
  * List of Shipped Adaptable Context Menu Items
16
16
  */
17
- export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "column-filter-on-cell-value", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "comment-add", "comment-remove", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "export-clipboard", "export-csv", "export-excel", "export-json", "export-table", "export-custom-destination", "fdc3-broadcast", "fdc3-raise-intent", "flashing-cell-clear", "flashing-row-clear", "grid-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "note-add", "note-remove", "settings-panel-open", "smart-edit-apply", "system-status-show"];
17
+ export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "column-filter-parent", "column-filter-on-cell-value", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "comment-add", "comment-remove", "dashboard-parent", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "export-parent", "export-clipboard", "export-csv", "export-excel", "export-json", "export-table", "export-custom-destination", "fdc3-parent", "fdc3-broadcast", "fdc3-raise-intent", "flashing-cell-clear", "flashing-row-clear", "grid-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "note-add", "note-remove", "settings-panel-open", "smart-edit-apply", "system-status-show"];
18
18
  /**
19
19
  * Menu item used by Adaptable in both Column and Context Menus
20
20
  */
@@ -7,6 +7,7 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = exports.ADAPTABLE_COLUMN_MENU_ITEMS = voi
7
7
  exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
8
8
  'calculated-column-edit',
9
9
  'cell-summary-show',
10
+ 'column-filter-parent',
10
11
  'column-filter-bar-hide',
11
12
  'column-filter-bar-show',
12
13
  'column-filter-clear',
@@ -16,6 +17,7 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
16
17
  'column-info-show',
17
18
  'custom-sort-add',
18
19
  'custom-sort-edit',
20
+ 'dashboard-parent',
19
21
  'dashboard-collapse',
20
22
  'dashboard-configure',
21
23
  'dashboard-dock',
@@ -26,6 +28,7 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
26
28
  'data-import',
27
29
  'flashing-cell-add',
28
30
  'flashing-cell-delete',
31
+ 'format-column-parent',
29
32
  'format-column-add',
30
33
  'format-column-edit',
31
34
  'free-text-column-edit',
@@ -41,6 +44,7 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
41
44
  'layout-select-all',
42
45
  'plus-minus-add',
43
46
  'settings-panel-open',
47
+ 'styled-column-parent',
44
48
  'styled-column-badge-add',
45
49
  'styled-column-badge-edit',
46
50
  'styled-column-gradient-add',
@@ -50,8 +54,7 @@ exports.ADAPTABLE_COLUMN_MENU_ITEMS = [
50
54
  'styled-column-sparkline-add',
51
55
  'styled-column-sparkline-edit',
52
56
  'system-status-show',
53
- 'internal',
54
- 'parent',
57
+ 'internal', // used by AdapTable in Settings Panel
55
58
  ];
56
59
  /**
57
60
  * List of Shipped Adaptable Context Menu Items
@@ -61,6 +64,7 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
61
64
  'bulk-update-apply',
62
65
  'calculated-column-edit',
63
66
  'cell-summary-show',
67
+ 'column-filter-parent',
64
68
  'column-filter-on-cell-value',
65
69
  'column-filter-clear',
66
70
  'column-filter-suspend',
@@ -68,6 +72,7 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
68
72
  'column-info-show',
69
73
  'comment-add',
70
74
  'comment-remove',
75
+ 'dashboard-parent',
71
76
  'dashboard-collapse',
72
77
  'dashboard-configure',
73
78
  'dashboard-dock',
@@ -76,12 +81,14 @@ exports.ADAPTABLE_CONTEXT_MENU_ITEMS = [
76
81
  'dashboard-hide',
77
82
  'dashboard-show',
78
83
  'data-import',
84
+ 'export-parent',
79
85
  'export-clipboard',
80
86
  'export-csv',
81
87
  'export-excel',
82
88
  'export-json',
83
89
  'export-table',
84
90
  'export-custom-destination',
91
+ 'fdc3-parent',
85
92
  'fdc3-broadcast',
86
93
  'fdc3-raise-intent',
87
94
  'flashing-cell-clear',
@@ -67,7 +67,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
67
67
  if (ArrayExtensions_1.default.IsNotNullOrEmpty(filterSubMenuItems)) {
68
68
  return [
69
69
  {
70
- name: 'parent',
70
+ name: 'column-filter-parent',
71
71
  label: this.moduleInfo.FriendlyName,
72
72
  isVisible: true,
73
73
  module: this.moduleInfo.ModuleName,
@@ -115,7 +115,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
115
115
  }));
116
116
  return [
117
117
  {
118
- name: 'parent',
118
+ name: 'column-filter-parent',
119
119
  label: this.moduleInfo.FriendlyName,
120
120
  isVisible: true,
121
121
  module: this.moduleInfo.ModuleName,
@@ -53,7 +53,7 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
53
53
  }
54
54
  return [
55
55
  {
56
- name: 'parent',
56
+ name: 'dashboard-parent',
57
57
  label: this.moduleInfo.FriendlyName,
58
58
  isVisible: true,
59
59
  module: this.moduleInfo.ModuleName,
@@ -99,7 +99,7 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
99
99
  }
100
100
  buildExportMenuItem(label, subItems) {
101
101
  return {
102
- name: 'parent',
102
+ name: 'export-parent',
103
103
  label: label,
104
104
  module: this.moduleInfo.ModuleName,
105
105
  isVisible: true,
@@ -31,7 +31,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
31
31
  contextMenuItems.sort((a, b) => a.label.localeCompare(b.label));
32
32
  if (contextMenuItems.length > 1) {
33
33
  const groupMenuItem = {
34
- name: 'parent',
34
+ name: 'fdc3-parent',
35
35
  module: this.moduleInfo.ModuleName,
36
36
  label: 'FDC3',
37
37
  icon: {
@@ -66,7 +66,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
66
66
  };
67
67
  const editFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-edit', 'Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
68
68
  returnColumnMenuItems.push({
69
- name: 'parent',
69
+ name: 'format-column-parent',
70
70
  label: 'Format Column',
71
71
  module: this.moduleInfo.ModuleName,
72
72
  isVisible: true,
@@ -83,7 +83,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
83
83
  .getModuleInfoByModule('FormatColumn');
84
84
  const editFormatColumnMenuItem = this.createMenuItemReduxAction('format-column-edit', 'Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
85
85
  returnColumnMenuItems.push({
86
- name: 'parent',
86
+ name: 'format-column-parent',
87
87
  label: 'Format Column',
88
88
  module: this.moduleInfo.ModuleName,
89
89
  isVisible: true,
@@ -121,7 +121,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
121
121
  defaultCurrentSectionName: 'Style',
122
122
  } }));
123
123
  returnColumnMenuItems.push({
124
- name: 'parent',
124
+ name: 'styled-column-parent',
125
125
  label: 'Create Styled Column',
126
126
  module: this.moduleInfo.ModuleName,
127
127
  isVisible: true,
@@ -33,6 +33,7 @@ const LayoutWizard = (props) => {
33
33
  preparedLayout = (0, Helper_1.cloneObject)(initialLayout);
34
34
  if (((_a = props === null || props === void 0 ? void 0 : props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Clone') {
35
35
  preparedLayout.Name = '';
36
+ delete preparedLayout.Uuid;
36
37
  }
37
38
  }
38
39
  else {
@@ -58,7 +58,7 @@ const FilterSection = (props) => {
58
58
  React.createElement(Tabs_1.Tabs.Content, null,
59
59
  React.createElement(FormLayout_1.default, { mb: 2 },
60
60
  React.createElement(FormLayout_1.FormRow, { label: "Add Column Filter" },
61
- React.createElement(ColumnSelector_1.ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select column to create filter", onChange: (option) => {
61
+ React.createElement(ColumnSelector_1.ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select Column to create Filter", onChange: (option) => {
62
62
  props.onChange(Object.assign(Object.assign({}, layout), { ColumnFilters: [
63
63
  ...layoutFilters,
64
64
  {
@@ -19,10 +19,10 @@ const tableDOMProps = {
19
19
  },
20
20
  };
21
21
  const NotePopup = (props) => {
22
- var _a;
22
+ var _a, _b, _c, _d;
23
23
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
24
24
  const primaryKeyHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(adaptable.api.columnApi.getPrimaryKeyColumn().columnId);
25
- const dateFormat = (_a = adaptable.api.optionsApi.getNoteOptions().dateFormat) !== null && _a !== void 0 ? _a : GeneralConstants_1.DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME;
25
+ const dateFormat = (_d = (_c = (_b = (_a = adaptable.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getNoteOptions) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.dateFormat) !== null && _d !== void 0 ? _d : GeneralConstants_1.DEFAULT_DATE_FORMAT_PATTERN_WITH_TIME;
26
26
  const allNotes = (0, react_redux_1.useSelector)((state) => (0, NoteRedux_1.GetAllNotesSelector)(state.Note));
27
27
  const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Note') === 'ReadOnly';
28
28
  const columnsMap = React.useMemo(() => {
@@ -301,6 +301,7 @@ class AdaptableAgGrid {
301
301
  this.forPlugins((plugin) => plugin.afterInitModules(this, this.adaptableModules));
302
302
  const perfLoadStore = this.logger.beginPerf(`loadStore()`);
303
303
  this.adaptableStore = this.initAdaptableStore();
304
+ this.forPlugins((plugin) => plugin.afterInitStore(this));
304
305
  await this.adaptableStore.loadStore({
305
306
  adaptable: this,
306
307
  adaptableStateKey: this.adaptableOptions.adaptableStateKey,
@@ -327,8 +328,7 @@ class AdaptableAgGrid {
327
328
  return Promise.reject('Adaptable was destroyed while loading the store.');
328
329
  // FIXME AFL MIG: is this enough?! talk with the team
329
330
  }
330
- this.forPlugins((plugin) => plugin.afterInitServices(this));
331
- this.forPlugins((plugin) => plugin.afterInitModules(this, this.adaptableModules));
331
+ this.forPlugins((plugin) => plugin.afterInitialStateLoaded(this));
332
332
  // do this now so it sets module entitlements
333
333
  this.EntitlementService.setModulesEntitlements();
334
334
  /**
@@ -372,6 +372,16 @@ class AdaptableAgGrid {
372
372
  this.temporaryAdaptableStateUpdates();
373
373
  this.redrawBody();
374
374
  this.refreshHeader();
375
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
376
+ if (currentLayout.EnablePivot) {
377
+ // this is very very strange!
378
+ // for some projects, if the initial layout is pivot, the columnDefs of the pivot resutl columns are NOT derived correctly from the main colDefs
379
+ // doing the following line fixes the issue because it foces the pivot columns to be created again
380
+ // this proj works without the hack: /tests/pages/format-column/initial-pivot-layout.page.tsx
381
+ // but this proj needs the hack: /tests/pages/format-column/initial-pivot-layout-docs.page.tsx
382
+ this.agGridAdapter.setGridOption('pivotMode', false);
383
+ this.agGridAdapter.setGridOption('pivotMode', true);
384
+ }
375
385
  // create the module menu (for use in the dashboard and the toolpanel)
376
386
  // TODO see #create-create-module-menu - make sure it's the same here and there
377
387
  this.ModuleService.createModuleMenus();
@@ -989,7 +999,9 @@ class AdaptableAgGrid {
989
999
  // framework wrapper may pass the rowData as a prop
990
1000
  const rowData = agGridApi.getGridOption('rowData');
991
1001
  this.initWithLazyData = rowData == undefined || rowData.length === 0;
992
- this.logger.info('initWithLazyData = TRUE');
1002
+ if (this.initWithLazyData) {
1003
+ this.logger.info('initWithLazyData = TRUE');
1004
+ }
993
1005
  if (!this.getAgGridContainerElement()) {
994
1006
  // initialize the agGridContainerElement from the AgGrid instance
995
1007
  // @ts-ignore
@@ -1375,17 +1387,17 @@ class AdaptableAgGrid {
1375
1387
  // ADD filter event
1376
1388
  this.agGridAdapter.getAgGridApi().addGlobalListener((this.listenerGlobalColumnEventsThatTriggerAutoLayoutSave = (type) => {
1377
1389
  if (columnEventsThatTriggersAutoLayoutSave.indexOf(type) > -1) {
1378
- this.logger.info('Column Event Triggering Auto Layout Save', type);
1379
- this.debouncedSaveGridLayout();
1390
+ this.debouncedSaveGridLayout(type);
1380
1391
  }
1381
1392
  }));
1382
1393
  /**
1383
1394
  * Save Layout if Display Row Groups is "dynamic
1384
1395
  */
1385
- this.debouncedSaveGridLayout = (0, debounce_1.default)(() => {
1396
+ this.debouncedSaveGridLayout = (0, debounce_1.default)((type) => {
1386
1397
  if (!this.isReady) {
1387
1398
  return;
1388
1399
  }
1400
+ this.logger.info('Event Triggering Auto Layout Save', type || '');
1389
1401
  this.updateLayoutFromGrid();
1390
1402
  }, GeneralConstants_1.HALF_SECOND);
1391
1403
  const rowGroupEventsThatTriggersAutoLayoutSave = [
@@ -1395,7 +1407,7 @@ class AdaptableAgGrid {
1395
1407
  this.agGridAdapter.getAgGridApi().addGlobalListener((this.listenerGlobalRowGroupEventsThatTriggerAutoLayoutSave = (type) => {
1396
1408
  if (rowGroupEventsThatTriggersAutoLayoutSave.indexOf(type) > -1) {
1397
1409
  if (this.adaptableOptions.layoutOptions.displayRowGroups == 'dynamic') {
1398
- this.debouncedSaveGridLayout();
1410
+ this.debouncedSaveGridLayout(type);
1399
1411
  }
1400
1412
  }
1401
1413
  }));
@@ -1419,7 +1431,7 @@ class AdaptableAgGrid {
1419
1431
  */
1420
1432
  this.agGridAdapter.getAgGridApi().addEventListener(core_1.Events.EVENT_COLUMN_RESIZED, (this.listenerColumnResized = (params) => {
1421
1433
  if (params.finished == true && params.type == 'columnResized' && params.column) {
1422
- this.debouncedSaveGridLayout();
1434
+ this.debouncedSaveGridLayout(params.type);
1423
1435
  }
1424
1436
  }));
1425
1437
  /**
package/src/env.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
4
  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" || '',
5
- PUBLISH_TIMESTAMP: 1712304088550 || Date.now(),
6
- VERSION: "18.0.0-canary.23" || '--current-version--',
5
+ PUBLISH_TIMESTAMP: 1712327561436 || Date.now(),
6
+ VERSION: "18.0.0-canary.25" || '--current-version--',
7
7
  };