@adaptabletools/adaptable-cjs 22.0.0-canary.1 → 22.0.0-canary.3

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 (177) hide show
  1. package/index.css +55 -37
  2. package/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -2
  5. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  6. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  8. package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
  9. package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
  10. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  11. package/src/AdaptableState/FormatColumnState.d.ts +0 -8
  12. package/src/AdaptableState/InitialState.d.ts +1 -1
  13. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  14. package/src/Api/DataSetApi.d.ts +1 -1
  15. package/src/Api/GridApi.d.ts +3 -3
  16. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  17. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  18. package/src/Api/Implementation/AlertApiImpl.js +1 -0
  19. package/src/Api/Implementation/ApiBase.js +1 -0
  20. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  21. package/src/Api/Implementation/ChartingApiImpl.js +4 -0
  22. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  23. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  24. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  25. package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
  26. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  27. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  28. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  29. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  30. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  31. package/src/Api/Implementation/EventApiImpl.js +16 -14
  32. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  33. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  34. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  35. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  36. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
  37. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
  38. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  39. package/src/Api/Implementation/GridApiImpl.d.ts +9 -9
  40. package/src/Api/Implementation/GridApiImpl.js +17 -16
  41. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  42. package/src/Api/Implementation/LayoutApiImpl.js +1 -0
  43. package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
  44. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  45. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  46. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  47. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  48. package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
  49. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  50. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  51. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
  52. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  53. package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
  54. package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
  55. package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
  56. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  57. package/src/Redux/Store/AdaptableStore.js +49 -43
  58. package/src/Strategy/AdaptableModuleBase.js +4 -0
  59. package/src/Strategy/AlertModule.js +1 -0
  60. package/src/Strategy/CalculatedColumnModule.js +1 -0
  61. package/src/Strategy/CellSummaryModule.js +1 -1
  62. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  63. package/src/Strategy/FlashingCellModule.js +1 -0
  64. package/src/Strategy/FreeTextColumnModule.js +1 -0
  65. package/src/Strategy/LayoutModule.js +2 -1
  66. package/src/Strategy/PlusMinusModule.js +2 -0
  67. package/src/Strategy/ScheduleModule.js +1 -0
  68. package/src/Strategy/ShortcutModule.js +2 -0
  69. package/src/Strategy/TeamSharingModule.js +10 -10
  70. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
  71. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
  72. package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
  73. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  74. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
  75. package/src/Utilities/Helpers/StyleHelper.js +14 -0
  76. package/src/Utilities/MenuItem.js +18 -0
  77. package/src/Utilities/ObjectFactory.js +1 -1
  78. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  79. package/src/Utilities/Services/AlertService.js +6 -4
  80. package/src/Utilities/Services/AnnotationsService.js +4 -1
  81. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  82. package/src/Utilities/Services/ChartingService.js +1 -0
  83. package/src/Utilities/Services/DataService.js +10 -2
  84. package/src/Utilities/Services/Fdc3Service.js +5 -3
  85. package/src/Utilities/Services/FlashingCellService.js +5 -0
  86. package/src/Utilities/Services/LicenseService/index.js +1 -1
  87. package/src/Utilities/Services/MetamodelService.js +2 -2
  88. package/src/Utilities/Services/ModuleService.js +4 -3
  89. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  90. package/src/Utilities/Services/RowFormService.js +1 -0
  91. package/src/Utilities/Services/RowSummaryService.js +10 -7
  92. package/src/Utilities/Services/TeamSharingService.js +3 -1
  93. package/src/Utilities/Services/ThemeService.js +11 -9
  94. package/src/Utilities/Services/ValidationService.js +1 -0
  95. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  96. package/src/View/AdaptablePopover/index.d.ts +1 -0
  97. package/src/View/AdaptablePopover/index.js +1 -1
  98. package/src/View/Alert/ActiveAlertsPanel.js +8 -0
  99. package/src/View/Alert/AlertViewPanel.js +13 -9
  100. package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
  101. package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
  102. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
  103. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
  104. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
  105. package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
  106. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  107. package/src/View/Components/Buttons/ButtonApply.js +1 -1
  108. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  109. package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
  110. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  111. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  112. package/src/View/Components/ExpressionWizard.js +5 -5
  113. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  114. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  115. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +18 -17
  116. package/src/View/Components/StyleComponent.js +20 -1
  117. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  118. package/src/View/CustomSort/CustomSortSummary.js +13 -13
  119. package/src/View/Dashboard/DashboardPopup.js +4 -5
  120. package/src/View/Export/ExportDestinationPicker.js +1 -1
  121. package/src/View/Export/ExportStatusBar.js +4 -2
  122. package/src/View/Export/ExportViewPanel.js +25 -18
  123. package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
  124. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -23
  125. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  126. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
  127. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
  128. package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
  129. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -2
  130. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  131. package/src/View/Theme/ThemePopup.js +13 -16
  132. package/src/View/UIHelper.d.ts +2 -0
  133. package/src/View/UIHelper.js +16 -0
  134. package/src/agGrid/Adaptable.js +4 -0
  135. package/src/agGrid/AdaptableAgGrid.d.ts +2 -2
  136. package/src/agGrid/AdaptableAgGrid.js +104 -38
  137. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  138. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  139. package/src/agGrid/AdaptableLogger.js +10 -0
  140. package/src/agGrid/AgGridAdapter.js +11 -1
  141. package/src/agGrid/AgGridColumnAdapter.js +5 -18
  142. package/src/agGrid/AgGridExportAdapter.js +10 -9
  143. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  144. package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
  145. package/src/agGrid/AgGridMenuAdapter.js +1 -0
  146. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  147. package/src/agGrid/AgGridOptionsService.js +3 -0
  148. package/src/agGrid/AgGridThemeAdapter.js +2 -0
  149. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  150. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  151. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  152. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  153. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  154. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  155. package/src/agGrid/index.d.ts +6 -0
  156. package/src/agGrid/index.js +6 -0
  157. package/src/components/Dashboard/DashboardToolbar.js +1 -1
  158. package/src/components/Datepicker/index.js +1 -1
  159. package/src/components/ExpressionEditor/EditorInput.js +19 -3
  160. package/src/components/Tree/TreeDropdown/index.js +1 -1
  161. package/src/components/overlayBaseZIndex.js +1 -1
  162. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  163. package/src/devTools/index.js +54 -53
  164. package/src/env.js +2 -2
  165. package/src/layout-manager/src/LMEmitter.js +11 -11
  166. package/src/layout-manager/src/LMLogger.js +7 -0
  167. package/src/layout-manager/src/index.js +56 -51
  168. package/src/metamodel/adaptable.metamodel.d.ts +66 -7
  169. package/src/metamodel/adaptable.metamodel.js +1 -1
  170. package/src/migration/AdaptableUpgradeHelper.js +5 -0
  171. package/src/migration/VersionUpgrade.js +1 -0
  172. package/src/migration/VersionUpgrade17.js +1 -2
  173. package/src/migration/VersionUpgrade22.d.ts +6 -0
  174. package/src/migration/VersionUpgrade22.js +31 -0
  175. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  176. package/src/types.d.ts +1 -1
  177. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -282,7 +282,7 @@ class ColumnInternalApi extends ApiBase_1.ApiBase {
282
282
  getQueryableColumnsForUIEditor() {
283
283
  return this.getColumnApi()
284
284
  .getQueryableColumns()
285
- .filter((column) => !column.isGeneratedPivotResultColumn && !column.isGeneratedRowGroupColumn);
285
+ .filter((column) => !column.isGeneratedPivotResultColumn && !column.isGeneratedRowGroupColumn && !column.isGeneratedSelectionColumn);
286
286
  }
287
287
  isAlwaysHiddenColumn(columnIdentifier) {
288
288
  return this.getColumnApi().hasColumnType(columnIdentifier, AdaptableColumn_1.HIDDEN_COLUMN_TYPE);
@@ -7,21 +7,11 @@ export declare class FormatColumnInternalApi extends ApiBase {
7
7
  * @returns format columns
8
8
  */
9
9
  getAllFormatColumnWithStyle(config?: FormatColumnConfig): FormatColumn[];
10
- /**
11
- * Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
12
- * @returns format columns
13
- */
14
- getAllFormatColumnWithStyleAndCellAlignment(config?: FormatColumnConfig): FormatColumn[];
15
10
  /**
16
11
  * Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
17
12
  * @returns format columns
18
13
  */
19
14
  getAllFormatColumnWithDisplayFormat(config?: FormatColumnConfig): FormatColumn[];
20
- /**
21
- * Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
22
- * @returns format columns
23
- */
24
- getAllFormatColumnWithCellAlignment(config?: FormatColumnConfig): FormatColumn[];
25
15
  /**
26
16
  * Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
27
17
  * @param column
@@ -45,15 +45,6 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
45
45
  .getFormatColumns(config)
46
46
  .filter((fc) => fc.Style);
47
47
  }
48
- /**
49
- * Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
50
- * @returns format columns
51
- */
52
- getAllFormatColumnWithStyleAndCellAlignment(config) {
53
- return this.getFormatColumnApi()
54
- .getFormatColumns(config)
55
- .filter((fc) => fc.Style || fc.CellAlignment);
56
- }
57
48
  /**
58
49
  * Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
59
50
  * @returns format columns
@@ -63,15 +54,6 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
63
54
  .getFormatColumns(config)
64
55
  .filter((fc) => fc.DisplayFormat);
65
56
  }
66
- /**
67
- * Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
68
- * @returns format columns
69
- */
70
- getAllFormatColumnWithCellAlignment(config) {
71
- return this.getFormatColumnApi()
72
- .getFormatColumns(config)
73
- .filter((fc) => fc.CellAlignment);
74
- }
75
57
  /**
76
58
  * Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
77
59
  * @param column
@@ -79,7 +61,7 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
79
61
  * @returns list of FormatColumn
80
62
  */
81
63
  getFormatColumnsWithStyleForColumn(column, config) {
82
- const formatColumns = this.getAllFormatColumnWithStyleAndCellAlignment()
64
+ const formatColumns = this.getAllFormatColumnWithStyle()
83
65
  .filter((formatColumn) => {
84
66
  // FormatColumn default target is 'cell', so if no target is specified, we assume 'cell'
85
67
  const fcTarget = formatColumn.Target ?? 'cell';
@@ -51,7 +51,7 @@ const GetNoteSelector = (state, address) => {
51
51
  // happy check
52
52
  return true;
53
53
  }
54
- // Primary keys retreived from the grid dom are always strings, so we must also consider them strings
54
+ // Primary keys retrieved from the grid dom are always strings, so we must also consider them strings
55
55
  if ((typeof address.PrimaryKeyValue === 'number' && typeof note.PrimaryKeyValue === 'string') ||
56
56
  (typeof address.PrimaryKeyValue === 'string' && typeof note.PrimaryKeyValue === 'number')) {
57
57
  return (note.PrimaryKeyValue.toString() === address.PrimaryKeyValue.toString() &&
@@ -30,6 +30,12 @@ const loadState = ({ adaptableId, adaptableStateKey }) => {
30
30
  return Promise.resolve(parsedJsonState);
31
31
  };
32
32
  class AdaptableReduxLocalStorageEngine {
33
+ adaptableId;
34
+ adaptableStateKey;
35
+ userName;
36
+ initialState;
37
+ loadState;
38
+ persistState;
33
39
  constructor(config) {
34
40
  this.adaptableId = config.adaptableId;
35
41
  this.adaptableStateKey = config.adaptableStateKey;
@@ -72,6 +72,23 @@ const LoadState = (State) => ({
72
72
  });
73
73
  exports.LoadState = LoadState;
74
74
  class AdaptableStore {
75
+ TheStore;
76
+ Load;
77
+ emitter;
78
+ storageEngine;
79
+ currentStorageState;
80
+ previousStorageState;
81
+ loadStorageInProgress = false;
82
+ loadStateOnStartup = true; // set to false if you want no state
83
+ on = (eventName, callback) => {
84
+ return this.emitter.on(eventName, callback);
85
+ };
86
+ onAny = (callback) => {
87
+ return this.emitter.onAny(callback);
88
+ };
89
+ emit = (eventName, data) => {
90
+ return this.emitter.emit(eventName, data);
91
+ };
75
92
  /**
76
93
  *
77
94
  * @param adaptable The Adaptable instance
@@ -81,49 +98,6 @@ class AdaptableStore {
81
98
  /*
82
99
  This is the main store for Adaptable State
83
100
  */
84
- this.loadStorageInProgress = false;
85
- this.loadStateOnStartup = true; // set to false if you want no state
86
- this.on = (eventName, callback) => {
87
- return this.emitter.on(eventName, callback);
88
- };
89
- this.onAny = (callback) => {
90
- return this.emitter.onAny(callback);
91
- };
92
- this.emit = (eventName, data) => {
93
- return this.emitter.emit(eventName, data);
94
- };
95
- this.loadStore = (config) => {
96
- const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
97
- const postProcessState = postLoadHook ?? ((state) => state);
98
- this.storageEngine.setStateKey(adaptableStateKey);
99
- // START STATE LOAD
100
- this.loadStorageInProgress = true;
101
- return (this.Load = this.storageEngine
102
- .load(adaptable, initialState)
103
- .then((storedState) => {
104
- if (storedState && this.loadStateOnStartup) {
105
- this.TheStore.dispatch((0, exports.LoadState)(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, (0, buildAdaptableStateFunctionConfig_1.buildAdaptableStateFunctionConfig)(adaptable)))));
106
- }
107
- })
108
- .then(() => {
109
- this.TheStore.dispatch((0, exports.InitState)());
110
- // END STATE LOAD
111
- this.loadStorageInProgress = false;
112
- }, (e) => {
113
- adaptable.api.consoleError('Failed to load previous Adaptable State : ', e);
114
- //for now i'm still initializing Adaptable even if loading state has failed....
115
- //we may revisit that later
116
- this.TheStore.dispatch((0, exports.InitState)());
117
- // END STATE LOAD
118
- this.loadStorageInProgress = false;
119
- this.TheStore.dispatch(PopupRedux.PopupShowAlert({
120
- alertType: 'generic',
121
- header: 'Configuration',
122
- message: 'Error loading your configuration:' + e,
123
- alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
124
- }));
125
- }));
126
- };
127
101
  let rootReducerObject = {
128
102
  // Reducers for Non-Persisted State
129
103
  Popup: PopupRedux.PopupReducer,
@@ -268,6 +242,38 @@ class AdaptableStore {
268
242
  }
269
243
  return Promise.resolve(true);
270
244
  }
245
+ loadStore = (config) => {
246
+ const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
247
+ const postProcessState = postLoadHook ?? ((state) => state);
248
+ this.storageEngine.setStateKey(adaptableStateKey);
249
+ // START STATE LOAD
250
+ this.loadStorageInProgress = true;
251
+ return (this.Load = this.storageEngine
252
+ .load(adaptable, initialState)
253
+ .then((storedState) => {
254
+ if (storedState && this.loadStateOnStartup) {
255
+ this.TheStore.dispatch((0, exports.LoadState)(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, (0, buildAdaptableStateFunctionConfig_1.buildAdaptableStateFunctionConfig)(adaptable)))));
256
+ }
257
+ })
258
+ .then(() => {
259
+ this.TheStore.dispatch((0, exports.InitState)());
260
+ // END STATE LOAD
261
+ this.loadStorageInProgress = false;
262
+ }, (e) => {
263
+ adaptable.api.consoleError('Failed to load previous Adaptable State : ', e);
264
+ //for now i'm still initializing Adaptable even if loading state has failed....
265
+ //we may revisit that later
266
+ this.TheStore.dispatch((0, exports.InitState)());
267
+ // END STATE LOAD
268
+ this.loadStorageInProgress = false;
269
+ this.TheStore.dispatch(PopupRedux.PopupShowAlert({
270
+ alertType: 'generic',
271
+ header: 'Configuration',
272
+ message: 'Error loading your configuration:' + e,
273
+ alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
274
+ }));
275
+ }));
276
+ };
271
277
  }
272
278
  exports.AdaptableStore = AdaptableStore;
273
279
  function createDevToolsActionMarkerMiddleware(adaptable) {
@@ -8,6 +8,10 @@ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensio
8
8
  * Base class for all strategies and does most of the work of creating menus
9
9
  */
10
10
  class AdaptableModuleBase {
11
+ api;
12
+ moduleInfo;
13
+ AccessLevel;
14
+ agGridModuleDepsInfo;
11
15
  constructor(module, friendlyName, glyph, popup, description, api) {
12
16
  this.api = api;
13
17
  this.moduleInfo = {
@@ -20,6 +20,7 @@ const getAlertBehaviourViewItems_1 = require("./Utilities/Alert/getAlertBehaviou
20
20
  const getAlertPreviewViewItems_1 = require("./Utilities/Alert/getAlertPreviewViewItems");
21
21
  const getAlertTypeViewItems_1 = require("./Utilities/Alert/getAlertTypeViewItems");
22
22
  class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
23
+ isListeningToCellDataChanges;
23
24
  constructor(api) {
24
25
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
25
26
  this.isListeningToCellDataChanges = false;
@@ -11,6 +11,7 @@ const getCalculatedColumnSettingsTags_1 = require("../View/CalculatedColumn/Util
11
11
  const getExpressionViewItems_1 = require("../Utilities/getExpressionViewItems");
12
12
  const getObjectTagsViewItems_1 = require("../Utilities/getObjectTagsViewItems");
13
13
  class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
+ isListeningToCellDataChanges;
14
15
  constructor(api) {
15
16
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
16
17
  this.isListeningToCellDataChanges = false;
@@ -12,9 +12,9 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
12
12
  * Module that provides Cell Summaries on numeric columns
13
13
  */
14
14
  class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
+ cachedCellSummary = new WeakMap();
15
16
  constructor(api) {
16
17
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of numeric cells using multiple summary operations', api);
17
- this.cachedCellSummary = new WeakMap();
18
18
  }
19
19
  getViewAccessLevel() {
20
20
  return 'Full';
@@ -6,6 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const DataChangeHistoryStatusBarContent_1 = require("../View/DataChangeHistory/DataChangeHistoryStatusBarContent");
8
8
  class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
9
+ isListeningToCellDataChanges;
9
10
  constructor(api) {
10
11
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
11
12
  this.isListeningToCellDataChanges = false;
@@ -16,6 +16,7 @@ const FlashingCellWizard_1 = require("../View/FlashingCell/Wizard/FlashingCellWi
16
16
  const getFlashingCellDurationViewItems_1 = require("./Utilities/FlashingCell/getFlashingCellDurationViewItems");
17
17
  const AdaptableLogger_1 = require("../agGrid/AdaptableLogger");
18
18
  class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
19
+ isListeningToCellDataChanges;
19
20
  constructor(api) {
20
21
  super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
21
22
  this.isListeningToCellDataChanges = false;
@@ -9,6 +9,7 @@ const FreeTextColumnWizard_1 = require("../View/FreeTextColumn/Wizard/FreeTextCo
9
9
  const getObjectTagsViewItems_1 = require("../Utilities/getObjectTagsViewItems");
10
10
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
11
11
  class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
12
+ isListeningToCellDataChanges;
12
13
  constructor(api) {
13
14
  super(ModuleConstants.FreeTextColumnModuleId, ModuleConstants.FreeTextColumnFriendlyName, 'horizontal-lines', 'FreeTextColumnPopup', 'Dynamic column showing custom content (stored in state and not with grid data)', api);
14
15
  this.isListeningToCellDataChanges = false;
@@ -21,9 +21,10 @@ const getGridFilterPreview_1 = require("../View/Layout/Wizard/getGridFilterPrevi
21
21
  const RowSummaryService_1 = require("../Utilities/Services/RowSummaryService");
22
22
  const LayoutHelpers_1 = require("../Api/Implementation/LayoutHelpers");
23
23
  class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
24
+ LayoutState;
25
+ rowSummaryService = new RowSummaryService_1.RowSummaryService(this.api);
24
26
  constructor(api) {
25
27
  super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'grid', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
26
- this.rowSummaryService = new RowSummaryService_1.RowSummaryService(this.api);
27
28
  }
28
29
  onAdaptableReady() {
29
30
  this.rowSummaryService.onAdaptableReady();
@@ -15,6 +15,8 @@ const MovePlusMinus_1 = require("../View/PlusMinus/MovePlusMinus");
15
15
  const PlusMinusWizard_1 = require("../View/PlusMinus/Wizard/PlusMinusWizard");
16
16
  const AdaptableLogger_1 = require("../agGrid/AdaptableLogger");
17
17
  class PlusMinusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
18
+ shouldHandleKeyDown;
19
+ adaptable;
18
20
  constructor(api) {
19
21
  super(ModuleConstants.PlusMinusModuleId, ModuleConstants.PlusMinusFriendlyName, 'add-circle', 'PlusMinusPopup', 'Configure how a cell value will edit when the + or - keys are pressed', api);
20
22
  this.shouldHandleKeyDown = false;
@@ -35,6 +35,7 @@ const NodeSchedule = {
35
35
  },
36
36
  };
37
37
  class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
38
+ scheduleJobs;
38
39
  constructor(api) {
39
40
  super(ModuleConstants.ScheduleModuleId, ModuleConstants.ScheduleFriendlyName, 'schedule', 'SchedulePopup', 'Schedule AdapTable functionality to run at times of your choosing (e.g. run reports)', api);
40
41
  this.scheduleJobs = [];
@@ -13,6 +13,8 @@ const getShortcutSettingsViewItems_1 = require("./Utilities/Shortcut/getShortcut
13
13
  const getObjectTagsViewItems_1 = require("../Utilities/getObjectTagsViewItems");
14
14
  const getScopeViewItems_1 = require("../Utilities/getScopeViewItems");
15
15
  class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
16
+ shouldHandleKeyDown;
17
+ adaptable;
16
18
  constructor(api) {
17
19
  super(ModuleConstants.ShortcutModuleId, ModuleConstants.ShortcutFriendlyName, 'link', 'ShortcutPopup', 'Set up rules so cells update mathematically when keys are pressed in numeric cells', api);
18
20
  this.shouldHandleKeyDown = false;
@@ -15,18 +15,18 @@ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensio
15
15
  const flatten_1 = tslib_1.__importDefault(require("lodash/flatten"));
16
16
  const AdaptableHelper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/AdaptableHelper"));
17
17
  class TeamSharingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
18
+ SKIP_TEAMSHARING_UPDATE_ACTIONS = [
19
+ TeamSharingRedux_1.TEAMSHARING_GET,
20
+ TeamSharingRedux_1.TEAMSHARING_SET,
21
+ TeamSharingRedux_1.TEAMSHARING_SHARE,
22
+ TeamSharingRedux_1.TEAMSHARING_IMPORT_ITEM,
23
+ TeamSharingRedux_1.TEAMSHARING_PROCESS_IMPORT,
24
+ TeamSharingRedux_1.TEAMSHARING_REMOVE_ITEM,
25
+ TeamSharingRedux_1.TEAMSHARING_LINK_ITEM,
26
+ TeamSharingRedux_1.TEAMSHARING_UPDATE_ITEM,
27
+ ];
18
28
  constructor(api) {
19
29
  super(ModuleConstants.TeamSharingModuleId, ModuleConstants.TeamSharingFriendlyName, 'folder-shared', 'TeamSharingPopup', 'Team Sharing allows users to share - at run-time - Adaptable Objects between colleagues.', api);
20
- this.SKIP_TEAMSHARING_UPDATE_ACTIONS = [
21
- TeamSharingRedux_1.TEAMSHARING_GET,
22
- TeamSharingRedux_1.TEAMSHARING_SET,
23
- TeamSharingRedux_1.TEAMSHARING_SHARE,
24
- TeamSharingRedux_1.TEAMSHARING_IMPORT_ITEM,
25
- TeamSharingRedux_1.TEAMSHARING_PROCESS_IMPORT,
26
- TeamSharingRedux_1.TEAMSHARING_REMOVE_ITEM,
27
- TeamSharingRedux_1.TEAMSHARING_LINK_ITEM,
28
- TeamSharingRedux_1.TEAMSHARING_UPDATE_ITEM,
29
- ];
30
30
  }
31
31
  onAdaptableReady() {
32
32
  if (this.api.teamSharingApi.isTeamSharingAvailable()) {
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFormatColumnSettingsViewItems = void 0;
4
4
  const getFormatColumnSettingsViewItems = (formatColumn) => {
5
5
  let values = [];
6
- if (formatColumn.CellAlignment) {
7
- values.push(`Cell Alignment: ${formatColumn.CellAlignment}`);
8
- }
9
6
  if (formatColumn.RowScope) {
10
7
  if (formatColumn.RowScope.ExcludeDataRows) {
11
8
  values.push('Exclude Data Rows');
@@ -11,8 +11,8 @@ export declare const QuantileAggregatedScalarQueryDocsLink = "https://www.adapta
11
11
  export declare const PredicateDocsLink = "https://www.adaptabletools.com/docs/adaptable-predicate";
12
12
  export declare const PrimaryKeyDocsLink = "https://www.adaptabletools.com/docs/getting-started-primary-key";
13
13
  export declare const LicenseDocsLink = "https://www.adaptabletools.com/buy/buying-adaptable-licensing";
14
- export declare const AdaptableOptionsDocsLink = "https://www.adaptabletools.com/docs/reference-options-overview";
15
- export declare const AgGridModulesDocsLink = "https://www.adaptabletools.com/docs/dev-guide-aggrid-modules-overview";
14
+ export declare const AdaptableOptionsDocsLink = "https://www.adaptabletools.com/docs/technical-reference-adaptable-options";
15
+ export declare const AgGridModulesDocsLink = "https://www.adaptabletools.com/docs/getting-started-aggrid-modules";
16
16
  export declare const AlertMessageDocsLink = "https://www.adaptabletools.com/docs/handbook-alerting-message";
17
17
  export declare const FormatColumnPlaceholderDocsLink = "https://www.adaptabletools.com/docs/handbook-column-formatting-display-format-placeholder";
18
- export declare const AgGridRequiredModulesDocsLink = "https://www.adaptabletools.com/docs/dev-guide-aggrid-modules-overview#mandatory-modules";
18
+ export declare const AgGridRequiredModulesDocsLink = "https://www.adaptabletools.com/docs/getting-started-aggrid-modules#mandatory-modules";
@@ -15,8 +15,8 @@ exports.QuantileAggregatedScalarQueryDocsLink = `${exports.HOST_URL_DOCS}/adapta
15
15
  exports.PredicateDocsLink = `${exports.HOST_URL_DOCS}/adaptable-predicate`;
16
16
  exports.PrimaryKeyDocsLink = `${exports.HOST_URL_DOCS}/getting-started-primary-key`;
17
17
  exports.LicenseDocsLink = `${exports.HOST_URL_ROOT}/buy/buying-adaptable-licensing`;
18
- exports.AdaptableOptionsDocsLink = `${exports.HOST_URL_DOCS}/reference-options-overview`;
19
- exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/dev-guide-aggrid-modules-overview`;
18
+ exports.AdaptableOptionsDocsLink = `${exports.HOST_URL_DOCS}/technical-reference-adaptable-options`;
19
+ exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/getting-started-aggrid-modules`;
20
20
  exports.AlertMessageDocsLink = `${exports.HOST_URL_DOCS}/handbook-alerting-message`;
21
21
  exports.FormatColumnPlaceholderDocsLink = `${exports.HOST_URL_DOCS}/handbook-column-formatting-display-format-placeholder`;
22
- exports.AgGridRequiredModulesDocsLink = `${exports.HOST_URL_DOCS}/dev-guide-aggrid-modules-overview#mandatory-modules`;
22
+ exports.AgGridRequiredModulesDocsLink = `${exports.HOST_URL_DOCS}/getting-started-aggrid-modules#mandatory-modules`;
@@ -4,6 +4,9 @@ exports.DeepMap = void 0;
4
4
  exports.once = once;
5
5
  const SORT_ASC_REVISION = (p1, p2) => sortAscending(p1.revision, p2.revision);
6
6
  class DeepMap {
7
+ map = new Map();
8
+ length = 0;
9
+ revision = 0;
7
10
  static clone(map) {
8
11
  const clone = new DeepMap();
9
12
  map.visit((pair, keys) => {
@@ -12,37 +15,6 @@ class DeepMap {
12
15
  return clone;
13
16
  }
14
17
  constructor(initial) {
15
- this.map = new Map();
16
- this.length = 0;
17
- this.revision = 0;
18
- this.visit = (fn) => {
19
- this.map.forEach((_, k) => this.visitKey(k, this.map, [], fn));
20
- };
21
- this.visitDepthFirst = (fn) => {
22
- this.visitWithNext([], fn);
23
- };
24
- this.visitWithNext = (parentKeys, fn, currentMap = this.map) => {
25
- if (!currentMap) {
26
- return;
27
- }
28
- let i = 0;
29
- currentMap.forEach((_, key) => {
30
- const pair = currentMap.get(key);
31
- if (!pair) {
32
- return;
33
- }
34
- const { map } = pair;
35
- const keys = [...parentKeys, key];
36
- const next = map ? () => this.visitWithNext(keys, fn, map) : undefined;
37
- if (pair.hasOwnProperty('value')) {
38
- fn(pair.value, keys, i, next);
39
- i++;
40
- }
41
- else {
42
- next?.();
43
- }
44
- });
45
- };
46
18
  if (initial) {
47
19
  initial.forEach((entry) => {
48
20
  const [keys, value] = entry;
@@ -226,6 +198,34 @@ class DeepMap {
226
198
  // if it was called by fn, it won't be called again, as it's once-d
227
199
  next();
228
200
  }
201
+ visit = (fn) => {
202
+ this.map.forEach((_, k) => this.visitKey(k, this.map, [], fn));
203
+ };
204
+ visitDepthFirst = (fn) => {
205
+ this.visitWithNext([], fn);
206
+ };
207
+ visitWithNext = (parentKeys, fn, currentMap = this.map) => {
208
+ if (!currentMap) {
209
+ return;
210
+ }
211
+ let i = 0;
212
+ currentMap.forEach((_, key) => {
213
+ const pair = currentMap.get(key);
214
+ if (!pair) {
215
+ return;
216
+ }
217
+ const { map } = pair;
218
+ const keys = [...parentKeys, key];
219
+ const next = map ? () => this.visitWithNext(keys, fn, map) : undefined;
220
+ if (pair.hasOwnProperty('value')) {
221
+ fn(pair.value, keys, i, next);
222
+ i++;
223
+ }
224
+ else {
225
+ next?.();
226
+ }
227
+ });
228
+ };
229
229
  getArray(fn) {
230
230
  const result = [];
231
231
  this.visit((pair, keys) => {
@@ -643,7 +643,7 @@ exports.scalarExpressionFunctions = {
643
643
  }
644
644
  return result;
645
645
  },
646
- description: "Returns the percentage difference between a cell's current value and its previous value.",
646
+ description: "Returns percentage difference between a cell's current value and previous value",
647
647
  signatures: [
648
648
  'PERCENT_CHANGE( [colName], <INCREASE|DECREASE> )',
649
649
  'PERCENT_CHANGE( COL(name: string), <INCREASE|DECREASE> )',
@@ -688,7 +688,7 @@ exports.scalarExpressionFunctions = {
688
688
  }
689
689
  return result;
690
690
  },
691
- description: "Returns the absolute difference between a cell's current value and its previous value.",
691
+ description: "Returns absolute difference between a cell's current value and previous value",
692
692
  signatures: [
693
693
  'ABSOLUTE_CHANGE( [colName] )',
694
694
  'ABSOLUTE_CHANGE( COL(name: string) )',
@@ -720,7 +720,7 @@ exports.scalarExpressionFunctions = {
720
720
  const previousValue = context.dataChangedEvent.oldValue;
721
721
  return currentColumnValue !== previousValue;
722
722
  },
723
- description: "Returns true if a cell's current value is different from its previous value, otherwise false. If no column is provided, it checks if any value has changed.",
723
+ description: "Returns true if cell's current value is different from previous value, otherwise false; if no column is provided, it checks if any value has changed",
724
724
  signatures: ['ANY_CHANGE( [colName] )', 'ANY_CHANGE()'],
725
725
  examples: ['ANY_CHANGE([col1])', 'ANY_CHANGE()'],
726
726
  category: 'changes',
@@ -85,6 +85,20 @@ const convertAdaptableStyleToCSS = (style) => {
85
85
  break;
86
86
  }
87
87
  }
88
+ if (style.Alignment) {
89
+ switch (style.Alignment) {
90
+ case 'Default':
91
+ case 'Left':
92
+ result.textAlign = 'left';
93
+ break;
94
+ case 'Right':
95
+ result.textAlign = 'right';
96
+ break;
97
+ case 'Center':
98
+ result.textAlign = 'center';
99
+ break;
100
+ }
101
+ }
88
102
  // assertion added to comply with the ag-Grid types
89
103
  return result;
90
104
  };
@@ -15,6 +15,12 @@ class MenuItemDoReduxAction {
15
15
  };
16
16
  this.reduxAction = reduxAction;
17
17
  }
18
+ name;
19
+ reduxAction;
20
+ label;
21
+ category;
22
+ isVisible;
23
+ icon;
18
24
  }
19
25
  exports.MenuItemDoReduxAction = MenuItemDoReduxAction;
20
26
  class MenuItemDoClickFunction {
@@ -28,6 +34,12 @@ class MenuItemDoClickFunction {
28
34
  };
29
35
  this.onClick = clickFunction;
30
36
  }
37
+ name;
38
+ onClick;
39
+ label;
40
+ category;
41
+ isVisible;
42
+ icon;
31
43
  }
32
44
  exports.MenuItemDoClickFunction = MenuItemDoClickFunction;
33
45
  // A menu item which shows a popup screen when it is clieked
@@ -42,5 +54,11 @@ class MenuItemShowPopup {
42
54
  };
43
55
  this.reduxAction = PopupRedux.PopupShowScreen(module, componentName, popupParams);
44
56
  }
57
+ name;
58
+ reduxAction;
59
+ label;
60
+ category;
61
+ isVisible;
62
+ icon;
45
63
  }
46
64
  exports.MenuItemShowPopup = MenuItemShowPopup;
@@ -270,7 +270,6 @@ function CreateEmptyFormatColumn() {
270
270
  Scope: undefined,
271
271
  Style: CreateEmptyStyle(),
272
272
  DisplayFormat: undefined,
273
- CellAlignment: undefined,
274
273
  RowScope: undefined,
275
274
  Target: 'cell',
276
275
  };
@@ -334,6 +333,7 @@ function CreateEmptyStyle() {
334
333
  FontStyle: undefined,
335
334
  FontSize: undefined,
336
335
  ClassName: undefined,
336
+ Alignment: undefined,
337
337
  };
338
338
  }
339
339
  function CreateSystemStatusMessageInfo(message, type, furtherInfo) {
@@ -11,6 +11,14 @@ const logOnce = (message, loggingFn) => {
11
11
  doOnceFlags[message] = true;
12
12
  };
13
13
  class AggregatedScalarLiveValue {
14
+ source;
15
+ requestingModule;
16
+ adaptableApi;
17
+ getRowNodes;
18
+ aggregationReducerName;
19
+ aggregatedScalarExpression;
20
+ expressionEvaluation;
21
+ aggregationResult;
14
22
  constructor(source, requestingModule, adaptableApi, getRowNodes) {
15
23
  this.source = source;
16
24
  this.requestingModule = requestingModule;
@@ -7,12 +7,11 @@ const Emitter_1 = tslib_1.__importDefault(require("../Emitter"));
7
7
  const rxjs_1 = require("rxjs");
8
8
  const ModuleConstants_1 = require("../Constants/ModuleConstants");
9
9
  class AlertService {
10
+ adaptableApi;
11
+ emitter;
12
+ reactiveAlertsMap = new Map();
10
13
  constructor(adaptableApi) {
11
14
  this.adaptableApi = adaptableApi;
12
- this.reactiveAlertsMap = new Map();
13
- this.onReactiveAlertTriggered = (callback) => {
14
- return this.emitter.on('ReactiveAlertTriggered', callback);
15
- };
16
15
  this.emitter = new Emitter_1.default();
17
16
  }
18
17
  destroy() {
@@ -22,6 +21,9 @@ class AlertService {
22
21
  this.reactiveAlertsMap.clear();
23
22
  this.reactiveAlertsMap = null;
24
23
  }
24
+ onReactiveAlertTriggered = (callback) => {
25
+ return this.emitter.on('ReactiveAlertTriggered', callback);
26
+ };
25
27
  createReactiveAlert(alertDefinition) {
26
28
  // if there is already a reactive alert for this definition, delete it (possible in case of editing definitions),
27
29
  this.deleteReactiveAlert(alertDefinition);
@@ -9,6 +9,9 @@ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Extensions/ArrayEx
9
9
  * If there are active Notes or Comments it listens to Cell Selection and Mouse Enter events
10
10
  */
11
11
  class AnnotationsService {
12
+ api;
13
+ adaptable;
14
+ isListeningToEvents;
12
15
  constructor(api) {
13
16
  this.api = api;
14
17
  this.isListeningToEvents = false;
@@ -29,7 +32,7 @@ class AnnotationsService {
29
32
  if (a?.ColumnId === b?.ColumnId && a?.PrimaryKeyValue === b?.PrimaryKeyValue) {
30
33
  return true;
31
34
  }
32
- // Primary keys retreived from the grid dom are always strings, so we must also consider them strings
35
+ // Primary keys retrieved from the grid dom are always strings, so we must also consider them strings
33
36
  if ((typeof a.PrimaryKeyValue === 'number' && typeof b.PrimaryKeyValue === 'string') ||
34
37
  (typeof b.PrimaryKeyValue === 'string' && typeof a.PrimaryKeyValue === 'number')) {
35
38
  return (a.PrimaryKeyValue.toString() === b.PrimaryKeyValue.toString() && a.ColumnId === b.ColumnId);