@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.
- package/index.css +55 -37
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +6 -0
- package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
- package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
- package/src/AdaptableState/FormatColumnState.d.ts +0 -8
- package/src/AdaptableState/InitialState.d.ts +1 -1
- package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
- package/src/Api/DataSetApi.d.ts +1 -1
- package/src/Api/GridApi.d.ts +3 -3
- package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
- package/src/Api/Implementation/AlertApiImpl.js +1 -0
- package/src/Api/Implementation/ApiBase.js +1 -0
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +4 -0
- package/src/Api/Implementation/ColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
- package/src/Api/Implementation/CommentsApiImpl.js +1 -0
- package/src/Api/Implementation/CustomSortApiImpl.js +1 -0
- package/src/Api/Implementation/DashboardApiImpl.js +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
- package/src/Api/Implementation/DataImportApiImpl.js +1 -0
- package/src/Api/Implementation/DataSetApiImpl.js +1 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +16 -14
- package/src/Api/Implementation/ExportApiImpl.js +1 -0
- package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.js +3 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +1 -0
- package/src/Api/Implementation/FormatColumnApiImpl.js +1 -0
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -9
- package/src/Api/Implementation/GridApiImpl.js +17 -16
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +1 -0
- package/src/Api/Implementation/NamedQueryApiImpl.js +1 -0
- package/src/Api/Implementation/NoteApiImpl.js +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
- package/src/Api/Implementation/SystemStatusApiImpl.js +2 -0
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -1
- package/src/Api/Internal/ColumnInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
- package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
- package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
- package/src/Redux/Store/AdaptableStore.js +49 -43
- package/src/Strategy/AdaptableModuleBase.js +4 -0
- package/src/Strategy/AlertModule.js +1 -0
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/CellSummaryModule.js +1 -1
- package/src/Strategy/DataChangeHistoryModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +1 -0
- package/src/Strategy/FreeTextColumnModule.js +1 -0
- package/src/Strategy/LayoutModule.js +2 -1
- package/src/Strategy/PlusMinusModule.js +2 -0
- package/src/Strategy/ScheduleModule.js +1 -0
- package/src/Strategy/ShortcutModule.js +2 -0
- package/src/Strategy/TeamSharingModule.js +10 -10
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
- package/src/Utilities/Helpers/StyleHelper.js +14 -0
- package/src/Utilities/MenuItem.js +18 -0
- package/src/Utilities/ObjectFactory.js +1 -1
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
- package/src/Utilities/Services/AlertService.js +6 -4
- package/src/Utilities/Services/AnnotationsService.js +4 -1
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
- package/src/Utilities/Services/ChartingService.js +1 -0
- package/src/Utilities/Services/DataService.js +10 -2
- package/src/Utilities/Services/Fdc3Service.js +5 -3
- package/src/Utilities/Services/FlashingCellService.js +5 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +2 -2
- package/src/Utilities/Services/ModuleService.js +4 -3
- package/src/Utilities/Services/QueryLanguageService.js +6 -5
- package/src/Utilities/Services/RowFormService.js +1 -0
- package/src/Utilities/Services/RowSummaryService.js +10 -7
- package/src/Utilities/Services/TeamSharingService.js +3 -1
- package/src/Utilities/Services/ThemeService.js +11 -9
- package/src/Utilities/Services/ValidationService.js +1 -0
- package/src/Utilities/createAgStatusPanelComponent.js +3 -0
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/ActiveAlertsPanel.js +8 -0
- package/src/View/Alert/AlertViewPanel.js +13 -9
- package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +8 -8
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
- package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/Buttons/ButtonApply.js +1 -1
- package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
- package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
- package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
- package/src/View/Components/ExpressionWizard.js +5 -5
- package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
- package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +18 -17
- package/src/View/Components/StyleComponent.js +20 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
- package/src/View/CustomSort/CustomSortSummary.js +13 -13
- package/src/View/Dashboard/DashboardPopup.js +4 -5
- package/src/View/Export/ExportDestinationPicker.js +1 -1
- package/src/View/Export/ExportStatusBar.js +4 -2
- package/src/View/Export/ExportViewPanel.js +25 -18
- package/src/View/FormatColumn/FormatColumnSummary.js +13 -13
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -23
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +13 -13
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
- package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -2
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
- package/src/View/Theme/ThemePopup.js +13 -16
- package/src/View/UIHelper.d.ts +2 -0
- package/src/View/UIHelper.js +16 -0
- package/src/agGrid/Adaptable.js +4 -0
- package/src/agGrid/AdaptableAgGrid.d.ts +2 -2
- package/src/agGrid/AdaptableAgGrid.js +104 -38
- package/src/agGrid/AdaptableFilterHandler.js +4 -0
- package/src/agGrid/AdaptableLogger.d.ts +3 -0
- package/src/agGrid/AdaptableLogger.js +10 -0
- package/src/agGrid/AgGridAdapter.js +11 -1
- package/src/agGrid/AgGridColumnAdapter.js +5 -18
- package/src/agGrid/AgGridExportAdapter.js +10 -9
- package/src/agGrid/AgGridFilterAdapter.js +4 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.js +3 -0
- package/src/agGrid/AgGridMenuAdapter.js +1 -0
- package/src/agGrid/AgGridModulesAdapter.js +2 -1
- package/src/agGrid/AgGridOptionsService.js +3 -0
- package/src/agGrid/AgGridThemeAdapter.js +2 -0
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
- package/src/agGrid/index.d.ts +6 -0
- package/src/agGrid/index.js +6 -0
- package/src/components/Dashboard/DashboardToolbar.js +1 -1
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/ExpressionEditor/EditorInput.js +19 -3
- package/src/components/Tree/TreeDropdown/index.js +1 -1
- package/src/components/overlayBaseZIndex.js +1 -1
- package/src/components/utils/useContainerScrollObserver/index.js +17 -14
- package/src/devTools/index.js +54 -53
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +11 -11
- package/src/layout-manager/src/LMLogger.js +7 -0
- package/src/layout-manager/src/index.js +56 -51
- package/src/metamodel/adaptable.metamodel.d.ts +66 -7
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +5 -0
- package/src/migration/VersionUpgrade.js +1 -0
- package/src/migration/VersionUpgrade17.js +1 -2
- package/src/migration/VersionUpgrade22.d.ts +6 -0
- package/src/migration/VersionUpgrade22.js +31 -0
- package/src/parser/src/ExpressionEvaluationError.js +1 -0
- package/src/types.d.ts +1 -1
- 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.
|
|
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
|
|
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
|
|
15
|
-
export declare const AgGridModulesDocsLink = "https://www.adaptabletools.com/docs/
|
|
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/
|
|
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
|
|
19
|
-
exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/
|
|
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}/
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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);
|