@adaptabletools/adaptable 18.1.15-canary.0 → 19.0.0-canary.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "18.1.15-canary.0",
3
+ "version": "19.0.0-canary.0",
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",
@@ -6,6 +6,7 @@ import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
6
6
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
7
7
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
8
8
  import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
9
+ import { ExtendedLayoutInfo } from '../../PredefinedConfig/Common/ExtendedLayoutInfo';
9
10
  export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
10
11
  internalApi: LayoutInternalApi;
11
12
  constructor(adaptable: IAdaptable);
@@ -22,6 +23,7 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
22
23
  getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
23
24
  getCurrentLayoutName(): string;
24
25
  getLayoutByName(layoutName: string): Layout | null;
26
+ getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
25
27
  getLayouts(): Layout[];
26
28
  getLayoutById(id: Layout['Uuid']): Layout;
27
29
  saveCurrentLayout(): void;
@@ -74,6 +74,67 @@ export class LayoutApiImpl extends ApiBase {
74
74
  }
75
75
  }
76
76
  }
77
+ getExtendedLayoutByName(layoutName) {
78
+ const layout = this.getLayoutByName(layoutName);
79
+ if (!layout) {
80
+ return undefined;
81
+ }
82
+ const config = {
83
+ includeLayoutNotAssociatedObjects: true,
84
+ associatedWithLayout: layoutName,
85
+ };
86
+ // cannot see a better way than to go through this module by module...
87
+ let extensions = [];
88
+ this.getAlertApi()
89
+ .getAlertDefinitions(config)
90
+ .forEach((obj) => {
91
+ extensions.push({ Module: 'Alert', Object: obj });
92
+ });
93
+ this.getCustomSortApi()
94
+ .getCustomSorts(config)
95
+ .forEach((obj) => {
96
+ extensions.push({ Module: 'CustomSort', Object: obj });
97
+ });
98
+ this.getFlashingCellApi()
99
+ .getFlashingCellDefinitions(config)
100
+ .forEach((obj) => {
101
+ extensions.push({ Module: 'FlashingCell', Object: obj });
102
+ });
103
+ this.getFormatColumnApi()
104
+ .getFormatColumns(config)
105
+ .forEach((obj) => {
106
+ extensions.push({ Module: 'FormatColumn', Object: obj });
107
+ });
108
+ this.getPlusMinusApi()
109
+ .getAllPlusMinus(config)
110
+ .forEach((obj) => {
111
+ extensions.push({ Module: 'PlusMinus', Object: obj });
112
+ });
113
+ this.getScheduleApi()
114
+ .getReminderSchedules(config)
115
+ .forEach((obj) => {
116
+ extensions.push({ Module: 'Schedule', Object: obj });
117
+ });
118
+ this.getScheduleApi()
119
+ .getReportSchedules(config)
120
+ .forEach((obj) => {
121
+ extensions.push({ Module: 'Schedule', Object: obj });
122
+ });
123
+ this.getShortcutApi()
124
+ .getShortcuts(config)
125
+ .forEach((obj) => {
126
+ extensions.push({ Module: 'Shortcut', Object: obj });
127
+ });
128
+ this.getStyledColumnApi()
129
+ .getStyledColumns(config)
130
+ .forEach((obj) => {
131
+ extensions.push({ Module: 'StyledColumn', Object: obj });
132
+ });
133
+ return {
134
+ Layout: layout,
135
+ Extensions: extensions,
136
+ };
137
+ }
77
138
  getLayouts() {
78
139
  var _a;
79
140
  return (_a = this.getAdaptableState().Layout.Layouts) !== null && _a !== void 0 ? _a : [];
@@ -1,4 +1,5 @@
1
1
  import { AdaptableColumn, ColumnSort } from '../../types';
2
+ import { ExtendedLayoutInfo } from '../PredefinedConfig/Common/ExtendedLayoutInfo';
2
3
  import { LayoutState, Layout } from '../PredefinedConfig/LayoutState';
3
4
  /**
4
5
  * Provides run-time access to the Layout Module and associated state
@@ -56,6 +57,12 @@ export interface LayoutApi {
56
57
  * @returns layout
57
58
  */
58
59
  getLayoutByName(layoutName: string): Layout | null;
60
+ /**
61
+ * Retrieves Layout with the given name
62
+ * @param layoutName Layout to retrieve
63
+ * @returns layout
64
+ */
65
+ getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
59
66
  /**
60
67
  * Retrieves all Layouts in Adaptable State
61
68
  * @returns layouts
@@ -0,0 +1,12 @@
1
+ import { AdaptableModule, AdaptableObject, Layout } from '../../types';
2
+ /**
3
+ * Defines an Extended Layout - provides a Layout and all objects that refer to it
4
+ */
5
+ export interface ExtendedLayoutInfo {
6
+ Layout: Layout;
7
+ Extensions: LayoutExtension[];
8
+ }
9
+ export interface LayoutExtension {
10
+ Module: AdaptableModule;
11
+ Object: AdaptableObject;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -42,6 +42,7 @@ interface AdaptableInitInternalConfig<TData = any> {
42
42
  export declare class AdaptableAgGrid implements IAdaptable {
43
43
  logger: AdaptableLogger;
44
44
  private _id;
45
+ private _agGridId;
45
46
  lifecycleState: AdaptableLifecycleState;
46
47
  variant: AdaptableVariant;
47
48
  private emitter;
@@ -99,10 +99,15 @@ const GridOptionsService_updateGridOptions = GridOptionsService.prototype.update
99
99
  const EventService_Prototype = EventService.prototype;
100
100
  const EventService_wireBeans = EventService_Prototype.wireBeans;
101
101
  // AG GRID obfuscates its internals, this is (currently) the best way to get hold of its internal services
102
- let DANGER_AG_GRID_BEANS;
102
+ const DANGER_AG_GRID_BEANS_MAP = {};
103
103
  EventService_Prototype.wireBeans = function (beans) {
104
+ var _a;
104
105
  EventService_wireBeans.apply(this, arguments);
105
- DANGER_AG_GRID_BEANS = beans;
106
+ const gridId = (_a = beans === null || beans === void 0 ? void 0 : beans.context) === null || _a === void 0 ? void 0 : _a.getGridId();
107
+ if (!gridId) {
108
+ console.error('CRITICAL: No gridId found in beans, this should never happen!');
109
+ }
110
+ DANGER_AG_GRID_BEANS_MAP[gridId] = beans;
106
111
  };
107
112
  LocalEventService_Prototype.dispatchEvent = function (event) {
108
113
  LocalEventService_dispatchEvent.apply(this, arguments);
@@ -579,7 +584,9 @@ export class AdaptableAgGrid {
579
584
  * `gridId`
580
585
  */
581
586
  this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'gridId', (original_gridId) => {
582
- return original_gridId || this.adaptableOptions.adaptableId;
587
+ const agGridId = original_gridId || this.adaptableOptions.adaptableId;
588
+ this._agGridId = agGridId;
589
+ return agGridId;
583
590
  });
584
591
  /**
585
592
  * `getRowId`
@@ -3025,7 +3032,7 @@ export class AdaptableAgGrid {
3025
3032
  }
3026
3033
  }
3027
3034
  }
3028
- DANGER_AG_GRID_BEANS = null;
3035
+ DANGER_AG_GRID_BEANS_MAP[this._agGridId] = null;
3029
3036
  if ((config === null || config === void 0 ? void 0 : config.destroyApi) === true) {
3030
3037
  (_b = this.agGridAdapter.getAgGridApi()) === null || _b === void 0 ? void 0 : _b.destroy();
3031
3038
  }
@@ -4046,6 +4053,10 @@ export class AdaptableAgGrid {
4046
4053
  };
4047
4054
  }
4048
4055
  DANGER_getPrivateAgGridBeans() {
4049
- return DANGER_AG_GRID_BEANS;
4056
+ const beans = DANGER_AG_GRID_BEANS_MAP[this._agGridId];
4057
+ if (!beans) {
4058
+ this.logger.consoleError('Could not get hold of AgGridBeans! This is a critical error and will prevent Adaptable from working correctly.');
4059
+ }
4060
+ return beans;
4050
4061
  }
4051
4062
  }
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: 1724081698262 || Date.now(),
4
- VERSION: "18.1.15-canary.0" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1724333931127 || Date.now(),
4
+ VERSION: "19.0.0-canary.0" || '--current-version--',
5
5
  };
@@ -3251,6 +3251,11 @@ export declare const ADAPTABLE_METAMODEL: {
3251
3251
  noCode?: undefined;
3252
3252
  })[];
3253
3253
  };
3254
+ ExtendedLayoutInfo: {
3255
+ name: string;
3256
+ kind: string;
3257
+ desc: string;
3258
+ };
3254
3259
  ExternalChartingContext: {
3255
3260
  name: string;
3256
3261
  kind: string;