@adaptabletools/adaptable 22.0.0-canary.1 → 22.0.0-canary.2

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 (133) hide show
  1. package/index.css +3 -14
  2. package/index.css.map +1 -1
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  5. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  6. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  7. package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
  8. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  9. package/src/AdaptableState/InitialState.d.ts +1 -1
  10. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  11. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  12. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  13. package/src/Api/Implementation/AlertApiImpl.js +1 -0
  14. package/src/Api/Implementation/ApiBase.js +1 -0
  15. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  16. package/src/Api/Implementation/ChartingApiImpl.js +4 -0
  17. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  18. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  19. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  20. package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
  21. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  22. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  23. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  24. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  25. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  26. package/src/Api/Implementation/EventApiImpl.js +16 -14
  27. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  28. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  29. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  30. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  31. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
  32. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
  33. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  34. package/src/Api/Implementation/GridApiImpl.js +1 -0
  35. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  36. package/src/Api/Implementation/LayoutApiImpl.js +1 -0
  37. package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
  38. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  39. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  40. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  41. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  42. package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
  43. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  44. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  45. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
  46. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  47. package/src/Redux/Store/AdaptableStore.js +49 -43
  48. package/src/Strategy/AdaptableModuleBase.js +4 -0
  49. package/src/Strategy/AlertModule.js +1 -0
  50. package/src/Strategy/CalculatedColumnModule.js +1 -0
  51. package/src/Strategy/CellSummaryModule.js +1 -1
  52. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  53. package/src/Strategy/FlashingCellModule.js +1 -0
  54. package/src/Strategy/FreeTextColumnModule.js +1 -0
  55. package/src/Strategy/LayoutModule.js +2 -1
  56. package/src/Strategy/PlusMinusModule.js +2 -0
  57. package/src/Strategy/ScheduleModule.js +1 -0
  58. package/src/Strategy/ShortcutModule.js +2 -0
  59. package/src/Strategy/TeamSharingModule.js +10 -10
  60. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -1
  61. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  62. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  63. package/src/Utilities/MenuItem.js +18 -0
  64. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  65. package/src/Utilities/Services/AlertService.js +6 -4
  66. package/src/Utilities/Services/AnnotationsService.js +3 -0
  67. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  68. package/src/Utilities/Services/ChartingService.js +1 -0
  69. package/src/Utilities/Services/DataService.js +10 -2
  70. package/src/Utilities/Services/Fdc3Service.js +5 -3
  71. package/src/Utilities/Services/FlashingCellService.js +5 -0
  72. package/src/Utilities/Services/LicenseService/index.js +1 -1
  73. package/src/Utilities/Services/MetamodelService.js +2 -2
  74. package/src/Utilities/Services/ModuleService.js +1 -0
  75. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  76. package/src/Utilities/Services/RowFormService.js +1 -0
  77. package/src/Utilities/Services/RowSummaryService.js +10 -7
  78. package/src/Utilities/Services/TeamSharingService.js +3 -1
  79. package/src/Utilities/Services/ThemeService.js +11 -9
  80. package/src/Utilities/Services/ValidationService.js +1 -0
  81. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  82. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +1 -0
  83. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
  84. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -0
  85. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  86. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  87. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  88. package/src/View/Components/ExpressionWizard.js +5 -5
  89. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  90. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  91. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  92. package/src/View/CustomSort/CustomSortSummary.js +13 -13
  93. package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
  94. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
  95. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  96. package/src/View/Theme/ThemePopup.js +13 -16
  97. package/src/agGrid/Adaptable.js +4 -0
  98. package/src/agGrid/AdaptableAgGrid.js +99 -33
  99. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  100. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  101. package/src/agGrid/AdaptableLogger.js +10 -0
  102. package/src/agGrid/AgGridAdapter.js +11 -1
  103. package/src/agGrid/AgGridColumnAdapter.js +2 -0
  104. package/src/agGrid/AgGridExportAdapter.js +10 -9
  105. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  106. package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
  107. package/src/agGrid/AgGridMenuAdapter.js +1 -0
  108. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  109. package/src/agGrid/AgGridOptionsService.js +3 -0
  110. package/src/agGrid/AgGridThemeAdapter.js +2 -0
  111. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  112. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  113. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  114. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  115. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  116. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  117. package/src/agGrid/index.d.ts +6 -0
  118. package/src/agGrid/index.js +6 -0
  119. package/src/components/Datepicker/index.js +1 -1
  120. package/src/components/overlayBaseZIndex.js +1 -1
  121. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  122. package/src/devTools/index.js +54 -53
  123. package/src/env.js +2 -2
  124. package/src/layout-manager/src/LMEmitter.js +11 -11
  125. package/src/layout-manager/src/LMLogger.js +7 -0
  126. package/src/layout-manager/src/index.js +56 -51
  127. package/src/metamodel/adaptable.metamodel.d.ts +57 -0
  128. package/src/metamodel/adaptable.metamodel.js +1 -1
  129. package/src/migration/AdaptableUpgradeHelper.js +3 -0
  130. package/src/migration/VersionUpgrade.js +1 -0
  131. package/src/migration/VersionUpgrade17.js +1 -2
  132. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  133. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -5,6 +5,7 @@ import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
5
5
  import { ColumnFilterInternalApi } from '../Internal/ColumnFilterInternalApi';
6
6
  import StringExtensions from '../../Utilities/Extensions/StringExtensions';
7
7
  export class ColumnFilterApiImpl extends ApiBase {
8
+ internalApi;
8
9
  constructor(_adaptable) {
9
10
  super(_adaptable);
10
11
  this.internalApi = new ColumnFilterInternalApi(_adaptable);
@@ -4,6 +4,7 @@ import ObjectFactory from '../../Utilities/ObjectFactory';
4
4
  import AdaptableHelper from '../../Utilities/Helpers/AdaptableHelper';
5
5
  import { CommentsInternalApi } from '../Internal/CommentsInternalApi';
6
6
  export class CommentsApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new CommentsInternalApi(_adaptable);
@@ -3,6 +3,7 @@ import * as CustomSortRedux from '../../Redux/ActionsReducers/CustomSortRedux';
3
3
  import { ApiBase } from './ApiBase';
4
4
  import { CustomSortInternalApi } from '../Internal/CustomSortInternalApi';
5
5
  export class CustomSortApiImpl extends ApiBase {
6
+ internalApi;
6
7
  constructor(_adaptable) {
7
8
  super(_adaptable);
8
9
  this.internalApi = new CustomSortInternalApi(_adaptable);
@@ -5,6 +5,7 @@ import * as React from 'react';
5
5
  import { DashboardRefresh } from '../../Redux/ActionsReducers/InternalRedux';
6
6
  import { DashboardInternalApi } from '../Internal/DashboardInternalApi';
7
7
  export class DashboardApiImpl extends ApiBase {
8
+ internalApi;
8
9
  constructor(_adaptable) {
9
10
  super(_adaptable);
10
11
  this.internalApi = new DashboardInternalApi(_adaptable);
@@ -2,21 +2,6 @@ import { ApiBase } from './ApiBase';
2
2
  import { DataChangeHistoryClearRow, DataChangeHistoryDisable, DataChangeHistoryEnable, DataChangeHistoryResume, DataChangeHistorySuspend, DataChangeHistoryUndo, DataChangeHistoryAdd, } from '../../Redux/ActionsReducers/InternalRedux';
3
3
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
4
  export class DataChangeHistoryApiImpl extends ApiBase {
5
- constructor() {
6
- super(...arguments);
7
- this.getDataChangeHistoryKey = (dataChangeInfo) => {
8
- const columnId = dataChangeInfo.column.columnId;
9
- const primaryKeyValue = dataChangeInfo.primaryKeyValue;
10
- const changedAt = dataChangeInfo.changedAt;
11
- const showLastDataChangeOnly = this.getDataChangeHistoryOptions().showLastDataChangeOnly;
12
- if (showLastDataChangeOnly) {
13
- return JSON.stringify({ columnId, primaryKeyValue });
14
- }
15
- else {
16
- return JSON.stringify({ columnId, primaryKeyValue, changedAt });
17
- }
18
- };
19
- }
20
5
  getDataChangeHistoryMode() {
21
6
  return this.getAdaptableState().Internal.DataChangeHistory.currentMode;
22
7
  }
@@ -67,4 +52,16 @@ export class DataChangeHistoryApiImpl extends ApiBase {
67
52
  openDataChangeHistorySettingsPanel() {
68
53
  this.showModulePopup(ModuleConstants.DataChangeHistoryModuleId);
69
54
  }
55
+ getDataChangeHistoryKey = (dataChangeInfo) => {
56
+ const columnId = dataChangeInfo.column.columnId;
57
+ const primaryKeyValue = dataChangeInfo.primaryKeyValue;
58
+ const changedAt = dataChangeInfo.changedAt;
59
+ const showLastDataChangeOnly = this.getDataChangeHistoryOptions().showLastDataChangeOnly;
60
+ if (showLastDataChangeOnly) {
61
+ return JSON.stringify({ columnId, primaryKeyValue });
62
+ }
63
+ else {
64
+ return JSON.stringify({ columnId, primaryKeyValue, changedAt });
65
+ }
66
+ };
70
67
  }
@@ -1,6 +1,7 @@
1
1
  import { DataImportInternalApi } from '../Internal/DataImportInternalApi';
2
2
  import { ApiBase } from './ApiBase';
3
3
  export class DataImportApiImpl extends ApiBase {
4
+ internalApi;
4
5
  constructor(_adaptable) {
5
6
  super(_adaptable);
6
7
  this.internalApi = new DataImportInternalApi(_adaptable);
@@ -3,6 +3,7 @@ import * as InternalRedux from '../../Redux/ActionsReducers/InternalRedux';
3
3
  import { ApiBase } from './ApiBase';
4
4
  import { DataSetInternalApi } from '../Internal/DataSetInternalApi';
5
5
  export class DataSetApiImpl extends ApiBase {
6
+ internalApi;
6
7
  constructor(_adaptable) {
7
8
  super(_adaptable);
8
9
  this.internalApi = new DataSetInternalApi(_adaptable);
@@ -1,6 +1,7 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { EntitlementInternalApi } from '../Internal/EntitlementInternalApi';
3
3
  export class EntitlementApiImpl extends ApiBase {
4
+ internalApi;
4
5
  constructor(_adaptable) {
5
6
  super(_adaptable);
6
7
  this.internalApi = new EntitlementInternalApi(_adaptable);
@@ -2,22 +2,10 @@ import { ApiBase } from './ApiBase';
2
2
  import Emitter from '../../Utilities/Emitter';
3
3
  import { EventInternalApi } from '../Internal/EventInternalApi';
4
4
  export class EventApiImpl extends ApiBase {
5
+ emitter;
6
+ internalApi;
5
7
  constructor(_adaptable) {
6
8
  super(_adaptable);
7
- this.on = (eventName, callback) => {
8
- let result;
9
- if (eventName === 'AdaptableReady') {
10
- this.emitter.onIncludeFiredOnce(eventName).then(callback);
11
- return () => { };
12
- }
13
- else {
14
- result = this.emitter.on(eventName, callback);
15
- }
16
- return result;
17
- };
18
- this.off = (eventName, callback) => this.emitter.off(eventName, callback);
19
- this.emit = (eventName, data) => this.emitter.emit(eventName, data);
20
- this.emitSync = (eventName, data) => this.emitter.emitSync(eventName, data);
21
9
  this.emitter = new Emitter();
22
10
  this.internalApi = new EventInternalApi(_adaptable);
23
11
  }
@@ -26,4 +14,18 @@ export class EventApiImpl extends ApiBase {
26
14
  this.emitSync('AdaptableDestroy');
27
15
  this.emitter.destroy();
28
16
  }
17
+ on = (eventName, callback) => {
18
+ let result;
19
+ if (eventName === 'AdaptableReady') {
20
+ this.emitter.onIncludeFiredOnce(eventName).then(callback);
21
+ return () => { };
22
+ }
23
+ else {
24
+ result = this.emitter.on(eventName, callback);
25
+ }
26
+ return result;
27
+ };
28
+ off = (eventName, callback) => this.emitter.off(eventName, callback);
29
+ emit = (eventName, data) => this.emitter.emit(eventName, data);
30
+ emitSync = (eventName, data) => this.emitter.emitSync(eventName, data);
29
31
  }
@@ -4,6 +4,7 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
4
  import { ExportInternalApi } from '../Internal/ExportInternalApi';
5
5
  import { ALL_DATA_REPORT, CLIPBOARD_EXPORT_DESTINATION, DOWNLOAD_EXPORT_DESTINATION, EMPTY_STRING, SYSTEM_EXPORT_DESTINATIONS, SYSTEM_REPORT_FORMATS, SYSTEM_REPORT_NAMES, } from '../../Utilities/Constants/GeneralConstants';
6
6
  export class ExportApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new ExportInternalApi(_adaptable);
@@ -2,6 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import * as parser from '../../parser/src';
3
3
  import { ExpressionInternalApi } from '../Internal/ExpressionInternalApi';
4
4
  export class ExpressionApiImpl extends ApiBase {
5
+ internalApi;
5
6
  constructor(_adaptable) {
6
7
  super(_adaptable);
7
8
  this.internalApi = new ExpressionInternalApi(_adaptable);
@@ -2,6 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import { Fdc3InternalApi } from '../Internal/Fdc3InternalApi';
3
3
  import { ContextConfiguration } from '../../AdaptableState/Common/Fdc3Context';
4
4
  export class Fdc3ApiImpl extends ApiBase {
5
+ internalApi;
5
6
  constructor(_adaptable) {
6
7
  super(_adaptable);
7
8
  this.internalApi = new Fdc3InternalApi(_adaptable);
@@ -3,6 +3,9 @@ import { FilterInternalApi } from '../Internal/FilterInternalApi';
3
3
  import { ColumnFilterApiImpl } from './ColumnFilterApiImpl';
4
4
  import { GridFilterApiImpl } from './GridFilterApiImpl';
5
5
  export class FilterApiImpl extends ApiBase {
6
+ internalApi;
7
+ columnFilterApi;
8
+ gridFilterApi;
6
9
  constructor(_adaptable) {
7
10
  super(_adaptable);
8
11
  this.internalApi = new FilterInternalApi(_adaptable);
@@ -2,6 +2,7 @@ import * as FlashingCellRedux from '../../Redux/ActionsReducers/FlashingCellRedu
2
2
  import { ApiBase } from './ApiBase';
3
3
  import { FlashingCellInternalApi } from '../Internal/FlashingCellInternalApi';
4
4
  export class FlashingCellApiImpl extends ApiBase {
5
+ internalApi;
5
6
  constructor(_adaptable) {
6
7
  super(_adaptable);
7
8
  this.internalApi = new FlashingCellInternalApi(_adaptable);
@@ -4,6 +4,7 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
4
  import { FormatColumnInternalApi } from '../Internal/FormatColumnInternalApi';
5
5
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
6
6
  export class FormatColumnApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new FormatColumnInternalApi(_adaptable);
@@ -4,6 +4,7 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
4
4
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
5
5
  import { FreeTextColumnInternalApi } from '../Internal/FreeTextColumnInternalApi';
6
6
  export class FreeTextColumnApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new FreeTextColumnInternalApi(_adaptable);
@@ -7,6 +7,7 @@ import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/Window
7
7
  import { ROW_SUMMARY_ROW_ID } from '../../AdaptableState/Common/RowSummary';
8
8
  import { errorOnce } from '../../agGrid/AdaptableLogger';
9
9
  export class GridApiImpl extends ApiBase {
10
+ internalApi;
10
11
  constructor(_adaptable) {
11
12
  super(_adaptable);
12
13
  this.internalApi = new GridInternalApi(_adaptable);
@@ -4,6 +4,7 @@ import { GridFilterInternalApi } from '../Internal/GridFilterInternalApi';
4
4
  import { ApiBase } from './ApiBase';
5
5
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
6
6
  export class GridFilterApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new GridFilterInternalApi(_adaptable);
@@ -8,6 +8,7 @@ import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
8
8
  import { isPivotLayout, normalizeLayout } from './LayoutHelpers';
9
9
  import { ERROR_LAYOUT } from '../../Utilities/Constants/GeneralConstants';
10
10
  export class LayoutApiImpl extends ApiBase {
11
+ internalApi;
11
12
  constructor(_adaptable) {
12
13
  super(_adaptable);
13
14
  this.internalApi = new LayoutInternalApi(_adaptable);
@@ -4,6 +4,7 @@ import { NamedQueryInternalApi } from '../Internal/NamedQueryInternalApi';
4
4
  import { ApiBase } from './ApiBase';
5
5
  import * as NamedQueryRedux from '../../Redux/ActionsReducers/NamedQueryRedux';
6
6
  export class NamedQueryApiImpl extends ApiBase {
7
+ internalApi;
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new NamedQueryInternalApi(_adaptable);
@@ -2,6 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import * as NoteRedux from '../../Redux/ActionsReducers/NoteRedux';
3
3
  import { NoteInternalApi } from '../Internal/NoteInternalApi';
4
4
  export class NoteApiImpl extends ApiBase {
5
+ internalApi;
5
6
  constructor(_adaptable) {
6
7
  super(_adaptable);
7
8
  this.internalApi = new NoteInternalApi(_adaptable);
@@ -26,6 +26,7 @@ export const getTreeSelectionStateForPredicateInputs = (inputs, cache = treeSele
26
26
  return newTreeSelectionState;
27
27
  };
28
28
  export class PredicateApiImpl extends ApiBase {
29
+ internalApi;
29
30
  constructor(_adaptable) {
30
31
  super(_adaptable);
31
32
  this.internalApi = new PredicateInternalApi(_adaptable);
@@ -2,6 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import { RowFormInternalApi } from '../Internal/RowFormInternalApi';
3
3
  import { PopupShowForm } from '../../Redux/ActionsReducers/PopupRedux';
4
4
  export class RowFormApiImpl extends ApiBase {
5
+ internalApi;
5
6
  constructor(_adaptable) {
6
7
  super(_adaptable);
7
8
  this.internalApi = new RowFormInternalApi(_adaptable);
@@ -3,6 +3,7 @@ import * as StyledColumnRedux from '../../Redux/ActionsReducers/StyledColumnRedu
3
3
  import { StyledColumnInternalApi } from '../Internal/StyledColumnInternalApi';
4
4
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
5
5
  export class StyledColumnApiImpl extends ApiBase {
6
+ internalApi;
6
7
  constructor(_adaptable) {
7
8
  super(_adaptable);
8
9
  this.internalApi = new StyledColumnInternalApi(_adaptable);
@@ -8,6 +8,8 @@ import UIHelper from '../../View/UIHelper';
8
8
  import StringExtensions from '../../Utilities/Extensions/StringExtensions';
9
9
  import { SystemStatusInternalApi } from '../Internal/SystemStatusInternalApi';
10
10
  export class SystemStatusApiImpl extends ApiBase {
11
+ systemStatusDiv;
12
+ internalApi;
11
13
  constructor(_adaptable) {
12
14
  super(_adaptable);
13
15
  this.internalApi = new SystemStatusInternalApi(_adaptable);
@@ -5,6 +5,7 @@ import { TeamSharingCheckForUpdates } from '../../Redux/ActionsReducers/TeamShar
5
5
  import { TeamSharingInternalApi } from '../Internal/TeamSharingInternalApi';
6
6
  import { isAdaptableSharedEntity, isCustomSharedEntity, } from '../../AdaptableState/TeamSharingState';
7
7
  export class TeamSharingApiImpl extends ApiBase {
8
+ internalApi;
8
9
  constructor(_adaptable) {
9
10
  super(_adaptable);
10
11
  this.internalApi = new TeamSharingInternalApi(_adaptable);
@@ -6,6 +6,7 @@ import { ThemeInternalApi } from '../Internal/ThemeInternalApi';
6
6
  import AdaptableHelper from '../../Utilities/Helpers/AdaptableHelper';
7
7
  import { logDeprecation } from '../../Utilities/logDeprecation';
8
8
  export class ThemeApiImpl extends ApiBase {
9
+ internalApi;
9
10
  constructor(_adaptable) {
10
11
  super(_adaptable);
11
12
  this.internalApi = new ThemeInternalApi(_adaptable);
@@ -5,9 +5,10 @@ import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
5
5
  import { ApiBase } from './ApiBase';
6
6
  import { ProgressIndicatorHide, ProgressIndicatorShow, } from '../../Redux/ActionsReducers/PopupRedux';
7
7
  export class UserInterfaceApiImpl extends ApiBase {
8
+ internalApi;
9
+ showProgressIndicatorTimeout = null;
8
10
  constructor(_adaptable) {
9
11
  super(_adaptable);
10
- this.showProgressIndicatorTimeout = null;
11
12
  this.internalApi = new UserInterfaceInternalApi(_adaptable);
12
13
  }
13
14
  getColorPalette() {
@@ -26,6 +26,12 @@ const loadState = ({ adaptableId, adaptableStateKey }) => {
26
26
  return Promise.resolve(parsedJsonState);
27
27
  };
28
28
  class AdaptableReduxLocalStorageEngine {
29
+ adaptableId;
30
+ adaptableStateKey;
31
+ userName;
32
+ initialState;
33
+ loadState;
34
+ persistState;
29
35
  constructor(config) {
30
36
  this.adaptableId = config.adaptableId;
31
37
  this.adaptableStateKey = config.adaptableStateKey;
@@ -66,6 +66,23 @@ export const LoadState = (State) => ({
66
66
  State,
67
67
  });
68
68
  export class AdaptableStore {
69
+ TheStore;
70
+ Load;
71
+ emitter;
72
+ storageEngine;
73
+ currentStorageState;
74
+ previousStorageState;
75
+ loadStorageInProgress = false;
76
+ loadStateOnStartup = true; // set to false if you want no state
77
+ on = (eventName, callback) => {
78
+ return this.emitter.on(eventName, callback);
79
+ };
80
+ onAny = (callback) => {
81
+ return this.emitter.onAny(callback);
82
+ };
83
+ emit = (eventName, data) => {
84
+ return this.emitter.emit(eventName, data);
85
+ };
69
86
  /**
70
87
  *
71
88
  * @param adaptable The Adaptable instance
@@ -75,49 +92,6 @@ export class AdaptableStore {
75
92
  /*
76
93
  This is the main store for Adaptable State
77
94
  */
78
- this.loadStorageInProgress = false;
79
- this.loadStateOnStartup = true; // set to false if you want no state
80
- this.on = (eventName, callback) => {
81
- return this.emitter.on(eventName, callback);
82
- };
83
- this.onAny = (callback) => {
84
- return this.emitter.onAny(callback);
85
- };
86
- this.emit = (eventName, data) => {
87
- return this.emitter.emit(eventName, data);
88
- };
89
- this.loadStore = (config) => {
90
- const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
91
- const postProcessState = postLoadHook ?? ((state) => state);
92
- this.storageEngine.setStateKey(adaptableStateKey);
93
- // START STATE LOAD
94
- this.loadStorageInProgress = true;
95
- return (this.Load = this.storageEngine
96
- .load(adaptable, initialState)
97
- .then((storedState) => {
98
- if (storedState && this.loadStateOnStartup) {
99
- this.TheStore.dispatch(LoadState(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, buildAdaptableStateFunctionConfig(adaptable)))));
100
- }
101
- })
102
- .then(() => {
103
- this.TheStore.dispatch(InitState());
104
- // END STATE LOAD
105
- this.loadStorageInProgress = false;
106
- }, (e) => {
107
- adaptable.api.consoleError('Failed to load previous Adaptable State : ', e);
108
- //for now i'm still initializing Adaptable even if loading state has failed....
109
- //we may revisit that later
110
- this.TheStore.dispatch(InitState());
111
- // END STATE LOAD
112
- this.loadStorageInProgress = false;
113
- this.TheStore.dispatch(PopupRedux.PopupShowAlert({
114
- alertType: 'generic',
115
- header: 'Configuration',
116
- message: 'Error loading your configuration:' + e,
117
- alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
118
- }));
119
- }));
120
- };
121
95
  let rootReducerObject = {
122
96
  // Reducers for Non-Persisted State
123
97
  Popup: PopupRedux.PopupReducer,
@@ -262,6 +236,38 @@ export class AdaptableStore {
262
236
  }
263
237
  return Promise.resolve(true);
264
238
  }
239
+ loadStore = (config) => {
240
+ const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
241
+ const postProcessState = postLoadHook ?? ((state) => state);
242
+ this.storageEngine.setStateKey(adaptableStateKey);
243
+ // START STATE LOAD
244
+ this.loadStorageInProgress = true;
245
+ return (this.Load = this.storageEngine
246
+ .load(adaptable, initialState)
247
+ .then((storedState) => {
248
+ if (storedState && this.loadStateOnStartup) {
249
+ this.TheStore.dispatch(LoadState(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, buildAdaptableStateFunctionConfig(adaptable)))));
250
+ }
251
+ })
252
+ .then(() => {
253
+ this.TheStore.dispatch(InitState());
254
+ // END STATE LOAD
255
+ this.loadStorageInProgress = false;
256
+ }, (e) => {
257
+ adaptable.api.consoleError('Failed to load previous Adaptable State : ', e);
258
+ //for now i'm still initializing Adaptable even if loading state has failed....
259
+ //we may revisit that later
260
+ this.TheStore.dispatch(InitState());
261
+ // END STATE LOAD
262
+ this.loadStorageInProgress = false;
263
+ this.TheStore.dispatch(PopupRedux.PopupShowAlert({
264
+ alertType: 'generic',
265
+ header: 'Configuration',
266
+ message: 'Error loading your configuration:' + e,
267
+ alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
268
+ }));
269
+ }));
270
+ };
265
271
  }
266
272
  function createDevToolsActionMarkerMiddleware(adaptable) {
267
273
  const adaptableId = adaptable?.adaptableOptions?.adaptableId;
@@ -4,6 +4,10 @@ import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
4
4
  * Base class for all strategies and does most of the work of creating menus
5
5
  */
6
6
  export class AdaptableModuleBase {
7
+ api;
8
+ moduleInfo;
9
+ AccessLevel;
10
+ agGridModuleDepsInfo;
7
11
  constructor(module, friendlyName, glyph, popup, description, api) {
8
12
  this.api = api;
9
13
  this.moduleInfo = {
@@ -16,6 +16,7 @@ import { getAlertBehaviourViewItems } from './Utilities/Alert/getAlertBehaviourV
16
16
  import { getAlertPreviewViewItems } from './Utilities/Alert/getAlertPreviewViewItems';
17
17
  import { getAlertTypeViewItems } from './Utilities/Alert/getAlertTypeViewItems';
18
18
  export class AlertModule extends AdaptableModuleBase {
19
+ isListeningToCellDataChanges;
19
20
  constructor(api) {
20
21
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
21
22
  this.isListeningToCellDataChanges = false;
@@ -7,6 +7,7 @@ import { getCalculatedColumnSettingsTags } from '../View/CalculatedColumn/Utilit
7
7
  import { getExpressionViewItems } from '../Utilities/getExpressionViewItems';
8
8
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
9
9
  export class CalculatedColumnModule extends AdaptableModuleBase {
10
+ isListeningToCellDataChanges;
10
11
  constructor(api) {
11
12
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
12
13
  this.isListeningToCellDataChanges = false;
@@ -8,9 +8,9 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
8
8
  * Module that provides Cell Summaries on numeric columns
9
9
  */
10
10
  export class CellSummaryModule extends AdaptableModuleBase {
11
+ cachedCellSummary = new WeakMap();
11
12
  constructor(api) {
12
13
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of numeric cells using multiple summary operations', api);
13
- this.cachedCellSummary = new WeakMap();
14
14
  }
15
15
  getViewAccessLevel() {
16
16
  return 'Full';
@@ -2,6 +2,7 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
3
3
  import { DataChangeHistoryStatusBarContent } from '../View/DataChangeHistory/DataChangeHistoryStatusBarContent';
4
4
  export class DataChangeHistoryModule extends AdaptableModuleBase {
5
+ isListeningToCellDataChanges;
5
6
  constructor(api) {
6
7
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
7
8
  this.isListeningToCellDataChanges = false;
@@ -12,6 +12,7 @@ import { FlashingCellWizard } from '../View/FlashingCell/Wizard/FlashingCellWiza
12
12
  import { getFlashingCellDurationViewItems } from './Utilities/FlashingCell/getFlashingCellDurationViewItems';
13
13
  import { errorOnce } from '../agGrid/AdaptableLogger';
14
14
  export class FlashingCellModule extends AdaptableModuleBase {
15
+ isListeningToCellDataChanges;
15
16
  constructor(api) {
16
17
  super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
17
18
  this.isListeningToCellDataChanges = false;
@@ -5,6 +5,7 @@ import { FreeTextColumnWizard } from '../View/FreeTextColumn/Wizard/FreeTextColu
5
5
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
6
6
  import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
7
7
  export class FreeTextColumnModule extends AdaptableModuleBase {
8
+ isListeningToCellDataChanges;
8
9
  constructor(api) {
9
10
  super(ModuleConstants.FreeTextColumnModuleId, ModuleConstants.FreeTextColumnFriendlyName, 'horizontal-lines', 'FreeTextColumnPopup', 'Dynamic column showing custom content (stored in state and not with grid data)', api);
10
11
  this.isListeningToCellDataChanges = false;
@@ -17,9 +17,10 @@ import { getGridFilterViewItems } from '../View/Layout/Wizard/getGridFilterPrevi
17
17
  import { RowSummaryService } from '../Utilities/Services/RowSummaryService';
18
18
  import { isPivotLayout } from '../Api/Implementation/LayoutHelpers';
19
19
  export class LayoutModule extends AdaptableModuleBase {
20
+ LayoutState;
21
+ rowSummaryService = new RowSummaryService(this.api);
20
22
  constructor(api) {
21
23
  super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'grid', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
22
- this.rowSummaryService = new RowSummaryService(this.api);
23
24
  }
24
25
  onAdaptableReady() {
25
26
  this.rowSummaryService.onAdaptableReady();
@@ -11,6 +11,8 @@ import { MovePlusMinus } from '../View/PlusMinus/MovePlusMinus';
11
11
  import { PlusMinusWizard } from '../View/PlusMinus/Wizard/PlusMinusWizard';
12
12
  import { errorOnce } from '../agGrid/AdaptableLogger';
13
13
  export class PlusMinusModule extends AdaptableModuleBase {
14
+ shouldHandleKeyDown;
15
+ adaptable;
14
16
  constructor(api) {
15
17
  super(ModuleConstants.PlusMinusModuleId, ModuleConstants.PlusMinusFriendlyName, 'add-circle', 'PlusMinusPopup', 'Configure how a cell value will edit when the + or - keys are pressed', api);
16
18
  this.shouldHandleKeyDown = false;
@@ -31,6 +31,7 @@ const NodeSchedule = {
31
31
  },
32
32
  };
33
33
  export class ScheduleModule extends AdaptableModuleBase {
34
+ scheduleJobs;
34
35
  constructor(api) {
35
36
  super(ModuleConstants.ScheduleModuleId, ModuleConstants.ScheduleFriendlyName, 'schedule', 'SchedulePopup', 'Schedule AdapTable functionality to run at times of your choosing (e.g. run reports)', api);
36
37
  this.scheduleJobs = [];
@@ -9,6 +9,8 @@ import { getShortcutSettingsViewItems } from './Utilities/Shortcut/getShortcutSe
9
9
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
10
10
  import { getScopeViewItems } from '../Utilities/getScopeViewItems';
11
11
  export class ShortcutModule extends AdaptableModuleBase {
12
+ shouldHandleKeyDown;
13
+ adaptable;
12
14
  constructor(api) {
13
15
  super(ModuleConstants.ShortcutModuleId, ModuleConstants.ShortcutFriendlyName, 'link', 'ShortcutPopup', 'Set up rules so cells update mathematically when keys are pressed in numeric cells', api);
14
16
  this.shouldHandleKeyDown = false;
@@ -11,18 +11,18 @@ import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
11
11
  import flatten from 'lodash/flatten';
12
12
  import AdaptableHelper from '../Utilities/Helpers/AdaptableHelper';
13
13
  export class TeamSharingModule extends AdaptableModuleBase {
14
+ SKIP_TEAMSHARING_UPDATE_ACTIONS = [
15
+ TEAMSHARING_GET,
16
+ TEAMSHARING_SET,
17
+ TEAMSHARING_SHARE,
18
+ TEAMSHARING_IMPORT_ITEM,
19
+ TEAMSHARING_PROCESS_IMPORT,
20
+ TEAMSHARING_REMOVE_ITEM,
21
+ TEAMSHARING_LINK_ITEM,
22
+ TEAMSHARING_UPDATE_ITEM,
23
+ ];
14
24
  constructor(api) {
15
25
  super(ModuleConstants.TeamSharingModuleId, ModuleConstants.TeamSharingFriendlyName, 'folder-shared', 'TeamSharingPopup', 'Team Sharing allows users to share - at run-time - Adaptable Objects between colleagues.', api);
16
- this.SKIP_TEAMSHARING_UPDATE_ACTIONS = [
17
- TEAMSHARING_GET,
18
- TEAMSHARING_SET,
19
- TEAMSHARING_SHARE,
20
- TEAMSHARING_IMPORT_ITEM,
21
- TEAMSHARING_PROCESS_IMPORT,
22
- TEAMSHARING_REMOVE_ITEM,
23
- TEAMSHARING_LINK_ITEM,
24
- TEAMSHARING_UPDATE_ITEM,
25
- ];
26
26
  }
27
27
  onAdaptableReady() {
28
28
  if (this.api.teamSharingApi.isTeamSharingAvailable()) {
@@ -11,7 +11,7 @@ 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";
14
+ export declare const AdaptableOptionsDocsLink = "https://www.adaptabletools.com/docs/technical-reference-adaptable-options";
15
15
  export declare const AgGridModulesDocsLink = "https://www.adaptabletools.com/docs/dev-guide-aggrid-modules-overview";
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";
@@ -12,7 +12,7 @@ export const QuantileAggregatedScalarQueryDocsLink = `${HOST_URL_DOCS}/adaptable
12
12
  export const PredicateDocsLink = `${HOST_URL_DOCS}/adaptable-predicate`;
13
13
  export const PrimaryKeyDocsLink = `${HOST_URL_DOCS}/getting-started-primary-key`;
14
14
  export const LicenseDocsLink = `${HOST_URL_ROOT}/buy/buying-adaptable-licensing`;
15
- export const AdaptableOptionsDocsLink = `${HOST_URL_DOCS}/reference-options-overview`;
15
+ export const AdaptableOptionsDocsLink = `${HOST_URL_DOCS}/technical-reference-adaptable-options`;
16
16
  export const AgGridModulesDocsLink = `${HOST_URL_DOCS}/dev-guide-aggrid-modules-overview`;
17
17
  export const AlertMessageDocsLink = `${HOST_URL_DOCS}/handbook-alerting-message`;
18
18
  export const FormatColumnPlaceholderDocsLink = `${HOST_URL_DOCS}/handbook-column-formatting-display-format-placeholder`;