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

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 (78) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -1
  3. package/src/AdaptableOptions/CommentOptions.d.ts +2 -2
  4. package/src/AdaptableOptions/MenuOptions.d.ts +4 -4
  5. package/src/Api/GridApi.d.ts +2 -1
  6. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  7. package/src/Api/Implementation/AlertApiImpl.js +5 -10
  8. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  9. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  10. package/src/Api/Implementation/ColumnApiImpl.js +6 -6
  11. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  12. package/src/Api/Implementation/CommentsApiImpl.js +1 -1
  13. package/src/Api/Implementation/ConfigApiImpl.js +11 -17
  14. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  15. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  16. package/src/Api/Implementation/ExpressionApiImpl.js +8 -13
  17. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  18. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  19. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  20. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  21. package/src/Api/Implementation/GridApiImpl.d.ts +2 -1
  22. package/src/Api/Implementation/GridApiImpl.js +11 -8
  23. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  24. package/src/Api/Implementation/LayoutApiImpl.js +2 -13
  25. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  26. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  27. package/src/Api/Implementation/ScopeApiImpl.js +10 -10
  28. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  29. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  30. package/src/Api/Implementation/UserInterfaceApiImpl.js +4 -13
  31. package/src/Api/Internal/ActionRowInternalApi.js +7 -45
  32. package/src/Api/Internal/AdaptableInternalApi.js +2 -12
  33. package/src/Api/Internal/AlertInternalApi.js +4 -17
  34. package/src/Api/Internal/CalculatedColumnInternalApi.js +7 -14
  35. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  36. package/src/Api/Internal/ColumnFilterInternalApi.js +18 -36
  37. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  38. package/src/Api/Internal/DashboardInternalApi.js +4 -10
  39. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  40. package/src/Api/Internal/DataSetInternalApi.js +2 -7
  41. package/src/Api/Internal/ExportInternalApi.js +4 -4
  42. package/src/Api/Internal/ExpressionInternalApi.js +2 -12
  43. package/src/Api/Internal/Fdc3InternalApi.js +1 -10
  44. package/src/Api/Internal/FormatColumnInternalApi.js +11 -20
  45. package/src/Api/Internal/FreeTextColumnInternalApi.js +1 -1
  46. package/src/Api/Internal/GridFilterInternalApi.js +2 -8
  47. package/src/Api/Internal/GridInternalApi.js +13 -40
  48. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  49. package/src/Api/Internal/LayoutInternalApi.js +10 -19
  50. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  51. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  52. package/src/Api/Internal/StyledColumnInternalApi.js +5 -5
  53. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  54. package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
  55. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  56. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  57. package/src/Api/LayoutApi.d.ts +1 -0
  58. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  59. package/src/PredefinedConfig/Common/Enums.d.ts +2 -0
  60. package/src/PredefinedConfig/Common/Enums.js +2 -0
  61. package/src/PredefinedConfig/Common/RowSummary.d.ts +1 -1
  62. package/src/PredefinedConfig/Common/RowSummary.js +4 -4
  63. package/src/Strategy/CellSummaryModule.js +54 -94
  64. package/src/Strategy/LayoutModule.js +5 -1
  65. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -1
  66. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +19 -19
  67. package/src/Utilities/Helpers/AdaptableHelper.js +3 -2
  68. package/src/Utilities/ObjectFactory.js +2 -0
  69. package/src/View/Layout/Wizard/LayoutWizard.js +2 -0
  70. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
  71. package/src/View/Layout/Wizard/sections/RowSummarySection.js +5 -5
  72. package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
  73. package/src/agGrid/AdaptableAgGrid.js +19 -7
  74. package/src/agGrid/AgGridAdapter.d.ts +1 -2
  75. package/src/env.js +2 -2
  76. package/src/metamodel/adaptable.metamodel.d.ts +8 -2
  77. package/src/metamodel/adaptable.metamodel.js +1 -1
  78. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -67,7 +67,7 @@ export class GridApiImpl extends ApiBase {
67
67
  }
68
68
  undoCellEdit(cellDataChangedInfo) {
69
69
  // for the reason of this hacky solution see the comments in DataService
70
- this.adaptable.api.internalApi.getDataService().logUndoChange(cellDataChangedInfo);
70
+ this.getAdaptableApi().internalApi.getDataService().logUndoChange(cellDataChangedInfo);
71
71
  const cellUpdateRequest = {
72
72
  columnId: cellDataChangedInfo.column.columnId,
73
73
  newValue: cellDataChangedInfo.oldValue,
@@ -87,7 +87,7 @@ export class GridApiImpl extends ApiBase {
87
87
  }
88
88
  setCellValue(cellUpdateRequest) {
89
89
  var _a;
90
- const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(cellUpdateRequest.columnId);
90
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(cellUpdateRequest.columnId);
91
91
  if (!abColumn) {
92
92
  this.logWarn(`setCellValue() - column not found for columnId: ${cellUpdateRequest.columnId}`);
93
93
  return;
@@ -128,7 +128,7 @@ export class GridApiImpl extends ApiBase {
128
128
  }
129
129
  clearGridFiltering() {
130
130
  // slightly round the houses but we have to call ColumnFilterAPI as it does it properly
131
- this.adaptable.api.columnFilterApi.clearColumnFilters();
131
+ this.getAdaptableApi().columnFilterApi.clearColumnFilters();
132
132
  }
133
133
  getColumnSorts() {
134
134
  return this.getAdaptableState().Grid.ColumnSorts;
@@ -215,7 +215,7 @@ export class GridApiImpl extends ApiBase {
215
215
  }
216
216
  selectCellRangeByQuery(query, gridCellRange, clearSelection) {
217
217
  const filteredRowNodes = [];
218
- const isRowNodeInQuery = (rowNode) => this.adaptable.api.internalApi
218
+ const isRowNodeInQuery = (rowNode) => this.getAdaptableApi().internalApi
219
219
  .getQueryLanguageService()
220
220
  .evaluateBooleanExpression(query, 'GridInfo', rowNode);
221
221
  if (gridCellRange) {
@@ -239,7 +239,7 @@ export class GridApiImpl extends ApiBase {
239
239
  /**
240
240
  * Select all rows and all columns
241
241
  */
242
- const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
242
+ const currentLayout = this.getAdaptableApi().layoutApi.getCurrentLayout();
243
243
  preapredGridCellRange = {
244
244
  columnIds: currentLayout.Columns,
245
245
  };
@@ -275,7 +275,7 @@ export class GridApiImpl extends ApiBase {
275
275
  this.selectColumns([columnId]);
276
276
  }
277
277
  selectColumns(columnIds) {
278
- this.adaptable.api.columnApi.selectColumns(columnIds);
278
+ this.getAdaptableApi().columnApi.selectColumns(columnIds);
279
279
  }
280
280
  getFirstRowNode() {
281
281
  return this.adaptable.getFirstRowNode();
@@ -308,7 +308,7 @@ export class GridApiImpl extends ApiBase {
308
308
  }
309
309
  getNormalisedValueFromRowNode(rowNode, columnId) {
310
310
  const rawValue = this.adaptable.getRawValueFromRowNode(rowNode, columnId);
311
- const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
311
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
312
312
  return this.adaptable.getNormalisedValueFromRawValue(rawValue, abColumn);
313
313
  }
314
314
  getRowNodesForPrimaryKeys(primaryKeyValues) {
@@ -535,7 +535,7 @@ export class GridApiImpl extends ApiBase {
535
535
  const visibleColumns = (_c = transposeConfig.visibleColumns) !== null && _c !== void 0 ? _c : false;
536
536
  const visibleRows = (_d = transposeConfig.visibleRows) !== null && _d !== void 0 ? _d : false;
537
537
  const autosize = (_e = transposeConfig.autosize) !== null && _e !== void 0 ? _e : true;
538
- this.adaptable.api.internalApi.showPopupWindow({
538
+ this.getAdaptableApi().internalApi.showPopupWindow({
539
539
  id: WINDOW_SHOW_TRANSPOSED_VIEW,
540
540
  factoryId: WINDOW_SHOW_TRANSPOSED_VIEW,
541
541
  title: 'Transposed View',
@@ -549,4 +549,7 @@ export class GridApiImpl extends ApiBase {
549
549
  },
550
550
  });
551
551
  }
552
+ getAllGridColumns() {
553
+ return this.adaptable.getAllGridColumns();
554
+ }
552
555
  }
@@ -50,6 +50,8 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
50
50
  AggregationColumns: boolean;
51
51
  PivotColumns: boolean;
52
52
  ColumnFilters: boolean;
53
+ GridFilter: boolean;
53
54
  ColumnSorts: boolean;
55
+ RowSummaries: boolean;
54
56
  };
55
57
  }
@@ -243,18 +243,7 @@ export class LayoutApiImpl extends ApiBase {
243
243
  this.addColumnToLayout(columnId, this.getCurrentLayoutName());
244
244
  }
245
245
  getLayoutSupportedFeatures() {
246
- const layoutSupportedFeatures = {
247
- RowGroupedColumns: true,
248
- AggregationColumns: true,
249
- PivotColumns: true,
250
- ColumnFilters: true,
251
- ColumnSorts: true,
252
- };
253
- if (this.getGridApi().getAgGridRowModelType() === 'viewport') {
254
- layoutSupportedFeatures.RowGroupedColumns = false;
255
- layoutSupportedFeatures.AggregationColumns = false;
256
- layoutSupportedFeatures.PivotColumns = false;
257
- }
258
- return layoutSupportedFeatures;
246
+ // TODO: is this deprecated?
247
+ return this.internalApi.getLayoutSupportedFeatures();
259
248
  }
260
249
  }
@@ -71,9 +71,9 @@ export class PredicateApiImpl extends ApiBase {
71
71
  if (!predicate.ColumnId) {
72
72
  return this.handlePredicate(predicate, context, defaultReturn);
73
73
  }
74
- const paramsForColumn = Object.assign(Object.assign({}, context), { column: this.adaptable.api.columnApi.getColumnWithColumnId(predicate.ColumnId),
74
+ const paramsForColumn = Object.assign(Object.assign({}, context), { column: this.getAdaptableApi().columnApi.getColumnWithColumnId(predicate.ColumnId),
75
75
  // value: params?.node?.data?.[predicate.ColumnId],
76
- value: this.adaptable.api.gridApi.getRawValueFromRowNode(context.node, predicate.ColumnId) });
76
+ value: this.getAdaptableApi().gridApi.getRawValueFromRowNode(context.node, predicate.ColumnId) });
77
77
  if ('oldValue' in paramsForColumn) {
78
78
  delete paramsForColumn.oldValue;
79
79
  }
@@ -52,7 +52,7 @@ export class ScheduleApiImpl extends ApiBase {
52
52
  }
53
53
  getReportSchedules(config) {
54
54
  var _a;
55
- return ((_a = this.handleLayoutAssociatedObjects(this.adaptable.api.exportApi.getReportSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
55
+ return ((_a = this.handleLayoutAssociatedObjects(this.getAdaptableApi().exportApi.getReportSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
56
56
  }
57
57
  getActiveReportSchedules() {
58
58
  return this.getReportSchedules().filter((schedule) => !schedule.IsSuspended);
@@ -81,7 +81,7 @@ export class ScheduleApiImpl extends ApiBase {
81
81
  }
82
82
  getIPushPullSchedules(config) {
83
83
  var _a;
84
- const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
84
+ const ippApi = this.getAdaptableApi().pluginsApi.getipushpullPluginApi();
85
85
  return ((_a = this.handleLayoutAssociatedObjects(ippApi === null || ippApi === void 0 ? void 0 : ippApi.getIPushPullSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
86
86
  }
87
87
  getActiveIPushPullSchedules() {
@@ -111,7 +111,7 @@ export class ScheduleApiImpl extends ApiBase {
111
111
  }
112
112
  getOpenFinSchedules(config) {
113
113
  var _a;
114
- const openFinApi = this.adaptable.api.pluginsApi.getOpenFinPluginApi();
114
+ const openFinApi = this.getAdaptableApi().pluginsApi.getOpenFinPluginApi();
115
115
  return ((_a = this.handleLayoutAssociatedObjects(openFinApi === null || openFinApi === void 0 ? void 0 : openFinApi.getOpenFinSchedules(), 'Schedule', config)) !== null && _a !== void 0 ? _a : []);
116
116
  }
117
117
  getActiveOpenFinSchedules() {
@@ -163,10 +163,10 @@ export class ScheduleApiImpl extends ApiBase {
163
163
  }
164
164
  else if (scheduleType == 'Report') {
165
165
  const reportSchedule = schedule;
166
- this.adaptable.api.exportApi.runReport(reportSchedule.ReportName, reportSchedule.ExportDestination);
166
+ this.getAdaptableApi().exportApi.runReport(reportSchedule.ReportName, reportSchedule.ExportDestination);
167
167
  }
168
168
  else if (scheduleType == 'ipushpull') {
169
- const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
169
+ const ippApi = this.getAdaptableApi().pluginsApi.getipushpullPluginApi();
170
170
  const iPushPullSchedule = schedule;
171
171
  if (iPushPullSchedule.Transmission == 'Snapshot') {
172
172
  ippApi.sendSnapshot(iPushPullSchedule.IPushPullReport);
@@ -176,7 +176,7 @@ export class ScheduleApiImpl extends ApiBase {
176
176
  }
177
177
  }
178
178
  else if (scheduleType == 'OpenFin') {
179
- const openFinApi = this.adaptable.api.pluginsApi.getOpenFinPluginApi();
179
+ const openFinApi = this.getAdaptableApi().pluginsApi.getOpenFinPluginApi();
180
180
  const openFinSchedule = schedule;
181
181
  openFinApi.startLiveData(openFinSchedule.OpenFinReport);
182
182
  }
@@ -26,7 +26,7 @@ export class ScopeApiImpl extends ApiBase {
26
26
  if (scope == undefined) {
27
27
  return [];
28
28
  }
29
- const columns = this.adaptable.api.columnApi.getColumns();
29
+ const columns = this.getAdaptableApi().columnApi.getColumns();
30
30
  if ('All' in scope) {
31
31
  return columns;
32
32
  }
@@ -53,7 +53,7 @@ export class ScopeApiImpl extends ApiBase {
53
53
  if ('ColumnIds' in scope) {
54
54
  return ((scope.ColumnIds.length > 1 ? 'Columns' : 'Column') +
55
55
  ': ' +
56
- this.adaptable.api.columnApi
56
+ this.getAdaptableApi().columnApi
57
57
  .getFriendlyNamesForColumnIds(scope.ColumnIds)
58
58
  .map((c) => {
59
59
  return '"' + c + '"';
@@ -96,7 +96,7 @@ export class ScopeApiImpl extends ApiBase {
96
96
  !this.scopeIsAll(scope) &&
97
97
  'ColumnIds' in scope &&
98
98
  scope.ColumnIds.length == 1 &&
99
- this.adaptable.api.columnApi.hasNumberDataType(scope.ColumnIds[0]));
99
+ this.getAdaptableApi().columnApi.hasNumberDataType(scope.ColumnIds[0]));
100
100
  }
101
101
  isSingleBooleanColumnScope(scope) {
102
102
  return (this.scopeHasColumns(scope) &&
@@ -104,7 +104,7 @@ export class ScopeApiImpl extends ApiBase {
104
104
  !this.scopeIsAll(scope) &&
105
105
  'ColumnIds' in scope &&
106
106
  scope.ColumnIds.length == 1 &&
107
- this.adaptable.api.columnApi.hasBooleanDataType(scope.ColumnIds[0]));
107
+ this.getAdaptableApi().columnApi.hasBooleanDataType(scope.ColumnIds[0]));
108
108
  }
109
109
  areAllBooleanColumnsInScope(scope) {
110
110
  return (this.scopeHasColumns(scope) &&
@@ -112,7 +112,7 @@ export class ScopeApiImpl extends ApiBase {
112
112
  !this.scopeIsAll(scope) &&
113
113
  'ColumnIds' in scope &&
114
114
  scope.ColumnIds.length &&
115
- scope.ColumnIds.every((columnId) => this.adaptable.api.columnApi.hasBooleanDataType(columnId)));
115
+ scope.ColumnIds.every((columnId) => this.getAdaptableApi().columnApi.hasBooleanDataType(columnId)));
116
116
  }
117
117
  isColumnInScopeColumns(column, scope) {
118
118
  return this.scopeHasColumns(scope) && this.isColumnInScope(column, scope);
@@ -120,7 +120,7 @@ export class ScopeApiImpl extends ApiBase {
120
120
  isPrimaryKeyColumnInScopeColumns(scope) {
121
121
  return ('ColumnIds' in scope &&
122
122
  scope.ColumnIds.length == 1 &&
123
- scope.ColumnIds.find((c) => c == this.adaptable.api.optionsApi.getPrimaryKey()) != null);
123
+ scope.ColumnIds.find((c) => c == this.getAdaptableApi().optionsApi.getPrimaryKey()) != null);
124
124
  }
125
125
  getScopeToString(scope) {
126
126
  if ('All' in scope) {
@@ -135,7 +135,7 @@ export class ScopeApiImpl extends ApiBase {
135
135
  if ('ColumnIds' in scope) {
136
136
  let text = scope.ColumnIds.length == 1 ? 'Column: ' : 'Columns: ';
137
137
  return (text +
138
- this.adaptable.api.columnApi
138
+ this.getAdaptableApi().columnApi
139
139
  .getFriendlyNamesForColumnIds(scope.ColumnIds)
140
140
  .map((c) => {
141
141
  return '"' + c + '"';
@@ -253,7 +253,7 @@ export class ScopeApiImpl extends ApiBase {
253
253
  'DataTypes' in b &&
254
254
  a.ColumnIds.every((columnId) => {
255
255
  var _a;
256
- return b.DataTypes.includes((_a = this.adaptable.api.columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
256
+ return b.DataTypes.includes((_a = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
257
257
  })) {
258
258
  return true;
259
259
  }
@@ -265,7 +265,7 @@ export class ScopeApiImpl extends ApiBase {
265
265
  // check if each colum in a has column types in b
266
266
  if ('ColumnIds' in a && 'ColumnTypes' in b) {
267
267
  const inScope = a.ColumnIds.every((columnId) => {
268
- const column = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
268
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
269
269
  // check if at least one column-type is in scope
270
270
  return column.columnTypes.some((columnColumnType) => b.ColumnTypes.includes(columnColumnType));
271
271
  });
@@ -276,7 +276,7 @@ export class ScopeApiImpl extends ApiBase {
276
276
  return false;
277
277
  }
278
278
  createCellColorRangesForScope(scope) {
279
- let distinctColumnsValues = this.adaptable.api.gridApi.internalApi.getDistinctRawValuesForColumn(this.adaptable.api.scopeApi.getSingleColumnInScope(scope));
279
+ let distinctColumnsValues = this.getAdaptableApi().gridApi.internalApi.getDistinctRawValuesForColumn(this.getAdaptableApi().scopeApi.getSingleColumnInScope(scope));
280
280
  let minValue = Math.min(...distinctColumnsValues);
281
281
  let maxValue = Math.max(...distinctColumnsValues);
282
282
  const ranges = [];
@@ -15,11 +15,7 @@ export class TeamSharingApiImpl extends ApiBase {
15
15
  return [];
16
16
  }
17
17
  const teamSharingOptions = this.adaptable.adaptableOptions.teamSharingOptions;
18
- const sharedEntitiesContext = {
19
- adaptableId: this.adaptable.adaptableOptions.adaptableId,
20
- userName: this.adaptable.adaptableOptions.userName,
21
- adaptableApi: this.getAdaptableApi(),
22
- };
18
+ const sharedEntitiesContext = this.getAdaptableApi().internalApi.buildBaseContext();
23
19
  let loadedSharedEntities = await teamSharingOptions.loadSharedEntities(sharedEntitiesContext);
24
20
  // with v15 we introduced 2 types of SharedEntity: AdaptableSharedEntity (basically the old one) and the new CustomSharedEntity
25
21
  // for backwards compatibility, we add default the 'EntityType' property to 'adaptableEntity'
@@ -40,11 +36,7 @@ export class TeamSharingApiImpl extends ApiBase {
40
36
  return false;
41
37
  }
42
38
  const teamSharingOptions = this.adaptable.adaptableOptions.teamSharingOptions;
43
- const sharedEntitiesContext = {
44
- adaptableId: this.adaptable.adaptableOptions.adaptableId,
45
- userName: this.adaptable.adaptableOptions.userName,
46
- adaptableApi: this.getAdaptableApi(),
47
- };
39
+ const sharedEntitiesContext = this.getAdaptableApi().internalApi.buildBaseContext();
48
40
  const sharedEntitiesAfterCustomisation = teamSharingOptions.saveSharedEntities(sharedEntities, sharedEntitiesContext);
49
41
  await teamSharingOptions.persistSharedEntities(sharedEntitiesAfterCustomisation, sharedEntitiesContext);
50
42
  return true;
@@ -100,11 +92,7 @@ export class TeamSharingApiImpl extends ApiBase {
100
92
  this.logError(`Could NOT import custom shared entity because 'TeamSharingOptions.handleCustomSharedEntityImport(...)' is NOT defined!`, sharedEntity);
101
93
  return;
102
94
  }
103
- customSharedEntityImportHandler(sharedEntity, {
104
- adaptableApi: this.getAdaptableApi(),
105
- adaptableId: this.adaptable.adaptableOptions.adaptableId,
106
- userName: this.adaptable.adaptableOptions.userName,
107
- });
95
+ customSharedEntityImportHandler(sharedEntity, this.getAdaptableApi().internalApi.buildBaseContext());
108
96
  }
109
97
  }
110
98
  getTeamSharingState() {
@@ -57,13 +57,8 @@ export class ThemeApiImpl extends ApiBase {
57
57
  return;
58
58
  }
59
59
  this.adaptable.applyAdaptableTheme(currentTheme);
60
- let themeChangedInfo = {
61
- adaptableApi: this.getAdaptableApi(),
62
- theme: currentTheme,
63
- userName: this.adaptable.api.optionsApi.getUserName(),
64
- adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
65
- };
66
- this.adaptable.api.eventApi.emit('ThemeChanged', themeChangedInfo);
60
+ let themeChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { theme: currentTheme });
61
+ this.getAdaptableApi().eventApi.emit('ThemeChanged', themeChangedInfo);
67
62
  }
68
63
  getUserThemes() {
69
64
  var _a;
@@ -53,7 +53,7 @@ export class UserInterfaceApiImpl extends ApiBase {
53
53
  }
54
54
  permittedValuesItem = permittedValues.find((permittedValue) => {
55
55
  return ('All' in permittedValue.scope &&
56
- this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
56
+ this.getAdaptableApi().scopeApi.isColumnInScope(column, permittedValue.scope));
57
57
  });
58
58
  if (permittedValuesItem) {
59
59
  return permittedValuesItem;
@@ -73,12 +73,7 @@ export class UserInterfaceApiImpl extends ApiBase {
73
73
  // first do the function then get hardcoded items
74
74
  if (permittedValues != null && typeof permittedValues === 'function') {
75
75
  if (column) {
76
- const permittedValuesParams = {
77
- adaptableApi: this.getAdaptableApi(),
78
- userName: this.getOptions().userName,
79
- adaptableId: this.getOptions().adaptableId,
80
- column: column,
81
- };
76
+ const permittedValuesParams = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { column: column });
82
77
  return permittedValues(permittedValuesParams);
83
78
  }
84
79
  }
@@ -140,7 +135,7 @@ export class UserInterfaceApiImpl extends ApiBase {
140
135
  if (!editLookUpItem || !gridCell || !gridCell.column) {
141
136
  return undefined;
142
137
  }
143
- return this.adaptable.api.gridApi.internalApi.getEditLookUpValuesForColumn(editLookUpItem, gridCell.column, gridCell);
138
+ return this.getAdaptableApi().gridApi.internalApi.getEditLookUpValuesForColumn(editLookUpItem, gridCell.column, gridCell);
144
139
  }
145
140
  getEditableCellStyle() {
146
141
  return this.getUserInterfaceOptions().editableCellStyle;
@@ -151,11 +146,7 @@ export class UserInterfaceApiImpl extends ApiBase {
151
146
  getAdaptableObjectTags() {
152
147
  const objectTags = this.getUserInterfaceOptions().objectTags;
153
148
  if (objectTags != null && typeof objectTags === 'function') {
154
- return objectTags({
155
- adaptableApi: this.adaptable.api,
156
- userName: this.getOptions().userName,
157
- adaptableId: this.getOptions().adaptableId,
158
- });
149
+ return objectTags(this.getAdaptableApi().internalApi.buildBaseContext());
159
150
  }
160
151
  else {
161
152
  let arr = objectTags;
@@ -42,13 +42,7 @@ export class ActionRowInternalApi extends ApiBase {
42
42
  : this.actionRowFormOptions.formDescription;
43
43
  }
44
44
  buildFormParamContext(type, rowNode) {
45
- return {
46
- rowNode,
47
- adaptableApi: this.getAdaptableApi(),
48
- userName: this.getOptions().userName,
49
- adaptableId: this.getOptions().adaptableId,
50
- type: type,
51
- };
45
+ return Object.assign(Object.assign({ rowNode }, this.getAdaptableApi().internalApi.buildBaseContext()), { type: type });
52
46
  }
53
47
  buildActionRowFields(actionRowType, rowNode) {
54
48
  const relevantColumns = this.getAdaptableApi()
@@ -64,13 +58,8 @@ export class ActionRowInternalApi extends ApiBase {
64
58
  showColumnInActionRowForm(adaptableColumn, actionRowType) {
65
59
  const showColumnFn = this.getActionRowOptions().actionRowFormOptions.showColumninActionRowForm;
66
60
  if (typeof showColumnFn === 'function') {
67
- return showColumnFn({
68
- adaptableApi: this.adaptable.api,
69
- userName: this.getOptions().userName,
70
- adaptableId: this.getOptions().adaptableId,
71
- adaptableColumn,
72
- actionRowType,
73
- });
61
+ return showColumnFn(Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { adaptableColumn,
62
+ actionRowType }));
74
63
  }
75
64
  return true;
76
65
  }
@@ -98,22 +87,7 @@ export class ActionRowInternalApi extends ApiBase {
98
87
  // textOutput should not be saved, their values are set to display values
99
88
  // we need to filter out the textOutput fields and add the primaryKey
100
89
  const eventInfo = type === 'rowCreated'
101
- ? {
102
- type: 'rowCreated',
103
- formData: this.prepareCreateData(formFields, context),
104
- adaptableApi: context.adaptableApi,
105
- userName: this.getOptions().userName,
106
- adaptableId: this.getOptions().adaptableId,
107
- clonedRowNode: rowNode,
108
- }
109
- : {
110
- type: 'rowEdited',
111
- formData: this.prepareEditData(formFields, context),
112
- rowNode: rowNode,
113
- adaptableApi: context.adaptableApi,
114
- userName: this.getOptions().userName,
115
- adaptableId: this.getOptions().adaptableId,
116
- };
90
+ ? Object.assign(Object.assign({ type: 'rowCreated', formData: this.prepareCreateData(formFields, context) }, this.getAdaptableApi().internalApi.buildBaseContext()), { clonedRowNode: rowNode }) : Object.assign({ type: 'rowEdited', formData: this.prepareEditData(formFields, context), rowNode: rowNode }, this.getAdaptableApi().internalApi.buildBaseContext());
117
91
  this.getAdaptableApi().eventApi.emit('ActionRowSubmitted', eventInfo);
118
92
  (_b = (_a = this.actionRowFormOptions) === null || _a === void 0 ? void 0 : _a.onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
119
93
  },
@@ -175,14 +149,8 @@ export class ActionRowInternalApi extends ApiBase {
175
149
  return customFieldLabel !== null && customFieldLabel !== void 0 ? customFieldLabel : column.friendlyName;
176
150
  }
177
151
  buildFormFieldLabelContext(type, column, rowNode) {
178
- return {
179
- rowNode,
180
- column,
181
- adaptableApi: this.getAdaptableApi(),
182
- userName: this.getOptions().userName,
183
- adaptableId: this.getOptions().adaptableId,
184
- type: type,
185
- };
152
+ return Object.assign(Object.assign({ rowNode,
153
+ column }, this.getAdaptableApi().internalApi.buildBaseContext()), { type: type });
186
154
  }
187
155
  getFieldTypeFromColumnType(column) {
188
156
  switch (column.dataType) {
@@ -285,13 +253,7 @@ export class ActionRowInternalApi extends ApiBase {
285
253
  tooltip: 'Delete',
286
254
  onClick: (button, context) => {
287
255
  var _a, _b;
288
- const eventInfo = {
289
- type: 'rowDeleted',
290
- rowNode: context.rowNode,
291
- adaptableApi: context.adaptableApi,
292
- userName: context.userName,
293
- adaptableId: context.adaptableId,
294
- };
256
+ const eventInfo = Object.assign({ type: 'rowDeleted', rowNode: context.rowNode }, this.getAdaptableApi().internalApi.buildBaseContext());
295
257
  this.getEventApi().emit('ActionRowSubmitted', eventInfo);
296
258
  (_b = (_a = this.getActionRowOptions().actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
297
259
  },
@@ -294,11 +294,7 @@ export class AdaptableInternalApi extends ApiBase {
294
294
  if (typeof this.adaptable.adaptableOptions.userInterfaceOptions.objectTags === 'function') {
295
295
  // sanitize the provided tags, just to be sure that the user does NOT break the UI
296
296
  return this.adaptable.adaptableOptions.userInterfaceOptions
297
- .objectTags({
298
- adaptableApi: this.adaptable.api,
299
- userName: this.getOptions().userName,
300
- adaptableId: this.getOptions().adaptableId,
301
- })
297
+ .objectTags(this.buildBaseContext())
302
298
  .filter((tag) => typeof tag === 'string');
303
299
  }
304
300
  }
@@ -315,13 +311,7 @@ export class AdaptableInternalApi extends ApiBase {
315
311
  }
316
312
  if (typeof this.adaptable.adaptableOptions.layoutOptions.layoutTagOptions
317
313
  .autoGenerateTagsForLayouts === 'function') {
318
- const autoGenerateTagsForLayoutsContext = {
319
- layouts: this.adaptable.api.layoutApi.getLayouts(),
320
- objectTags: this.getAdaptableApi().userInterfaceApi.getAdaptableObjectTags(),
321
- adaptableApi: this.adaptable.api,
322
- userName: this.getOptions().userName,
323
- adaptableId: this.getOptions().adaptableId,
324
- };
314
+ const autoGenerateTagsForLayoutsContext = Object.assign({ layouts: this.adaptable.api.layoutApi.getLayouts(), objectTags: this.getAdaptableApi().userInterfaceApi.getAdaptableObjectTags() }, this.buildBaseContext());
325
315
  const customGeneratedTags = this.adaptable.adaptableOptions.layoutOptions.layoutTagOptions.autoGenerateTagsForLayouts(autoGenerateTagsForLayoutsContext);
326
316
  // sanitize the provided tags, just to be sure that the user does NOT break the UI
327
317
  return customGeneratedTags.filter((tag) => typeof tag === 'string');
@@ -80,12 +80,7 @@ export class AlertInternalApi extends ApiBase {
80
80
  */
81
81
  publishAlertFiredEvent(alertToFire) {
82
82
  const adaptableApi = this.getAdaptableApi();
83
- const alertFiredInfo = {
84
- adaptableApi: adaptableApi,
85
- alert: alertToFire,
86
- userName: adaptableApi.optionsApi.getUserName(),
87
- adaptableId: adaptableApi.optionsApi.getAdaptableId(),
88
- };
83
+ const alertFiredInfo = Object.assign({ alert: alertToFire }, this.getAdaptableApi().internalApi.buildBaseContext());
89
84
  this.getEventApi().emit('AlertFired', alertFiredInfo);
90
85
  }
91
86
  /**
@@ -295,7 +290,7 @@ export class AlertInternalApi extends ApiBase {
295
290
  var _a, _b, _c, _d;
296
291
  let ruleDescription = ((_b = (_a = alertDefinition.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)
297
292
  ? (_d = (_c = alertDefinition.Rule) === null || _c === void 0 ? void 0 : _c.Predicates) === null || _d === void 0 ? void 0 : _d.map((predicate) => this.getPredicateApi().predicateToString(predicate)).join(' AND ')
298
- : this.adaptable.api.internalApi.getAdaptableQueryExpressionText(alertDefinition.Rule);
293
+ : this.getAdaptableApi().internalApi.getAdaptableQueryExpressionText(alertDefinition.Rule);
299
294
  return ruleDescription;
300
295
  }
301
296
  /**
@@ -472,17 +467,9 @@ export class AlertInternalApi extends ApiBase {
472
467
  isAlertPredicateTriggered(alert, dataChangedEvent, defaultNoPredicateReturn = false) {
473
468
  var _a;
474
469
  const adapatableApi = this.getAdaptableApi();
475
- const predicateDefHandlerContext = {
476
- value: dataChangedEvent.newValue,
477
- oldValue: dataChangedEvent.oldValue,
470
+ const predicateDefHandlerContext = Object.assign({ value: dataChangedEvent.newValue, oldValue: dataChangedEvent.oldValue,
478
471
  // TODO send real display value
479
- displayValue: null,
480
- node: dataChangedEvent.rowNode,
481
- column: dataChangedEvent.column,
482
- adaptableApi: adapatableApi,
483
- userName: adapatableApi.optionsApi.getUserName(),
484
- adaptableId: adapatableApi.optionsApi.getAdaptableId(),
485
- };
472
+ displayValue: null, node: dataChangedEvent.rowNode, column: dataChangedEvent.column }, this.getAdaptableApi().internalApi.buildBaseContext());
486
473
  return this.getAdaptableApi().predicateApi.handleColumnPredicates((_a = alert.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, defaultNoPredicateReturn);
487
474
  }
488
475
  isAlertDefinitionForRowChangeEvent(alertDefinition) {
@@ -28,7 +28,7 @@ export class CalculatedColumnInternalApi extends ApiBase {
28
28
  this.getCalculatedColumnApi()
29
29
  .getCalculatedColumns()
30
30
  .forEach((calculatedColumn) => {
31
- if (this.getExpressionApi().internalApi.isColumnReferencedInExpression(columnId, this.adaptable.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) {
31
+ if (this.getExpressionApi().internalApi.isColumnReferencedInExpression(columnId, this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) {
32
32
  calcColumns.push(calculatedColumn);
33
33
  }
34
34
  });
@@ -39,7 +39,7 @@ export class CalculatedColumnInternalApi extends ApiBase {
39
39
  * @param calculatedColumn Calculated Column to check
40
40
  */
41
41
  getReferencedColumnIdsForCalculatedColumn(calculatedColumn) {
42
- const columnIds = this.adaptable.api.expressionApi.getColumnsFromExpression(this.adaptable.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query));
42
+ const columnIds = this.getAdaptableApi().expressionApi.getColumnsFromExpression(this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(calculatedColumn.Query));
43
43
  return columnIds;
44
44
  }
45
45
  /**
@@ -47,15 +47,15 @@ export class CalculatedColumnInternalApi extends ApiBase {
47
47
  * @param calculatedColumnId CalculatedColumnId to check
48
48
  */
49
49
  getReferencedColumnIdsForCalculatedColumnId(calculatedColumnId) {
50
- const calculatedColumn = this.adaptable.api.calculatedColumnApi
51
- .getCalculatedColumns()
50
+ const calculatedColumn = this.getAdaptableApi()
51
+ .calculatedColumnApi.getCalculatedColumns()
52
52
  .find((cc) => cc.ColumnId == calculatedColumnId);
53
53
  if (calculatedColumn) {
54
54
  return this.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
55
55
  }
56
56
  }
57
57
  getCalculatedColumnsDependentOnColumn(column) {
58
- const calculatedColumns = this.adaptable.api.calculatedColumnApi.getCalculatedColumns();
58
+ const calculatedColumns = this.getAdaptableApi().calculatedColumnApi.getCalculatedColumns();
59
59
  return calculatedColumns
60
60
  .filter((calculatedColumn) => {
61
61
  const dependentColumns = this.getReferencedColumnIdsForCalculatedColumnId(calculatedColumn.ColumnId);
@@ -81,15 +81,8 @@ export class CalculatedColumnInternalApi extends ApiBase {
81
81
  }
82
82
  fireCalculatedColumnChangedEvent(trigger, calculatedColumn) {
83
83
  const adaptableApi = this.getAdaptableApi();
84
- const calculatedColumnChangedInfo = {
85
- adaptableApi: adaptableApi,
86
- actionName: trigger,
87
- calculatedColumn: calculatedColumn,
88
- calculatedColumnExpressionAST: adaptableApi.expressionApi.getASTForExpression(this.getExpressionFromCalculatedColumn(calculatedColumn)),
89
- userName: adaptableApi.optionsApi.getUserName(),
90
- adaptableId: adaptableApi.optionsApi.getAdaptableId(),
91
- };
92
- this.adaptable.api.eventApi.emit('CalculatedColumnChanged', calculatedColumnChangedInfo);
84
+ const calculatedColumnChangedInfo = Object.assign({ actionName: trigger, calculatedColumn: calculatedColumn, calculatedColumnExpressionAST: adaptableApi.expressionApi.getASTForExpression(this.getExpressionFromCalculatedColumn(calculatedColumn)) }, this.getAdaptableApi().internalApi.buildBaseContext());
85
+ this.getAdaptableApi().eventApi.emit('CalculatedColumnChanged', calculatedColumnChangedInfo);
93
86
  }
94
87
  getColDefsForCalculatedColumns() {
95
88
  const defaultSpecialColumnSettings = this.getGridApi().internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef();
@@ -13,52 +13,52 @@ export class ChartingInternalApi extends ApiBase {
13
13
  }
14
14
  getContainerElemetnByName(containerName) {
15
15
  var _a, _b, _c;
16
- const chartContainers = (_c = (_b = (_a = this.adaptable.api.optionsApi.getAdaptableOptions()) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers) !== null && _c !== void 0 ? _c : [];
16
+ const chartContainers = (_c = (_b = (_a = this.getAdaptableApi().optionsApi.getAdaptableOptions()) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers) !== null && _c !== void 0 ? _c : [];
17
17
  const chartContainer = chartContainers.find((container) => container.name === containerName);
18
18
  return this.getContainerElement(chartContainer);
19
19
  }
20
20
  getUniqueChartName() {
21
- const charts = this.adaptable.api.chartingApi.getChartDefinitions();
22
- const externalCharts = this.adaptable.api.chartingApi.getExternalChartDefinitions();
21
+ const charts = this.getAdaptableApi().chartingApi.getChartDefinitions();
22
+ const externalCharts = this.getAdaptableApi().chartingApi.getExternalChartDefinitions();
23
23
  return `Chart ${charts.length + externalCharts.length + 1}`;
24
24
  }
25
25
  // External lib charting service
26
26
  isExternalChartOpened(chartDefinition) {
27
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
27
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
28
28
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.isChartOpened)) {
29
29
  return false;
30
30
  }
31
31
  if (!chartDefinition) {
32
32
  return false;
33
33
  }
34
- return externalChartingOptions.isChartOpened(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
34
+ return externalChartingOptions.isChartOpened(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
35
35
  }
36
36
  onHideExternalChart(chartDefinition) {
37
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
37
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
38
38
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onHideChart)) {
39
39
  return;
40
40
  }
41
- externalChartingOptions.onHideChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
41
+ externalChartingOptions.onHideChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
42
42
  }
43
43
  onShowExternalChart(chartDefinition, container) {
44
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
44
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
45
45
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onShowChart)) {
46
46
  return;
47
47
  }
48
- externalChartingOptions.onShowChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.adaptable.api)));
48
+ externalChartingOptions.onShowChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.getAdaptableApi())));
49
49
  }
50
50
  onPreviewExternalChart(chartDefinition, container) {
51
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
51
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
52
52
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onPreviewChart)) {
53
53
  return;
54
54
  }
55
- return externalChartingOptions.onPreviewChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.adaptable.api)));
55
+ return externalChartingOptions.onPreviewChart(Object.assign({ chartDefinition: chartDefinition, container: container }, createBaseContext(this.getAdaptableApi())));
56
56
  }
57
57
  onDeleteExternalChart(chartDefinition) {
58
- const externalChartingOptions = this.adaptable.api.optionsApi.getChartingOptions().externalChartingOptions;
58
+ const externalChartingOptions = this.getAdaptableApi().optionsApi.getChartingOptions().externalChartingOptions;
59
59
  if (!(externalChartingOptions === null || externalChartingOptions === void 0 ? void 0 : externalChartingOptions.onDeleteChart)) {
60
60
  return;
61
61
  }
62
- externalChartingOptions.onDeleteChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.adaptable.api)));
62
+ externalChartingOptions.onDeleteChart(Object.assign({ chartDefinition: chartDefinition }, createBaseContext(this.getAdaptableApi())));
63
63
  }
64
64
  }