@adaptabletools/adaptable 11.0.7 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base.css +19 -11
- package/bundle.cjs.js +100 -100
- package/index.css +23 -11
- package/package.json +2 -2
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -0
- package/src/AdaptableOptions/LayoutOptions.d.ts +5 -1
- package/src/Api/AlertApi.d.ts +3 -2
- package/src/Api/BulkUpdateApi.d.ts +6 -1
- package/src/Api/CalculatedColumnApi.d.ts +1 -1
- package/src/Api/CellSummaryApi.d.ts +1 -1
- package/src/Api/ConditionalStyleApi.d.ts +1 -1
- package/src/Api/ConfigApi.d.ts +1 -1
- package/src/Api/CustomSortApi.d.ts +1 -1
- package/src/Api/DashboardApi.d.ts +1 -1
- package/src/Api/DataSourceApi.d.ts +1 -1
- package/src/Api/EventApi.d.ts +1 -1
- package/src/Api/Events/GridDataChanged.d.ts +5 -1
- package/src/Api/ExportApi.d.ts +7 -2
- package/src/Api/FormatColumnApi.d.ts +1 -1
- package/src/Api/FreeTextColumnApi.d.ts +1 -1
- package/src/Api/GridApi.d.ts +24 -3
- package/src/Api/Implementation/AlertApiImpl.d.ts +4 -1
- package/src/Api/Implementation/AlertApiImpl.js +79 -52
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/BulkUpdateApiImpl.js +4 -0
- package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ConfigApiImpl.js +7 -2
- package/src/Api/Implementation/ExportApiImpl.d.ts +2 -1
- package/src/Api/Implementation/ExportApiImpl.js +14 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -1
- package/src/Api/Implementation/GridApiImpl.js +24 -3
- package/src/Api/Implementation/InternalApiImpl.d.ts +9 -2
- package/src/Api/Implementation/InternalApiImpl.js +37 -1
- package/src/Api/Implementation/LayoutApiImpl.d.ts +6 -0
- package/src/Api/Implementation/LayoutApiImpl.js +48 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +1 -0
- package/src/Api/Implementation/SettingsPanelApiImpl.js +7 -1
- package/src/Api/InternalApi.d.ts +9 -2
- package/src/Api/LayoutApi.d.ts +38 -1
- package/src/Api/PlusMinusApi.d.ts +1 -1
- package/src/Api/QueryApi.d.ts +1 -1
- package/src/Api/QuickSearchApi.d.ts +1 -1
- package/src/Api/ScheduleApi.d.ts +1 -1
- package/src/Api/ShortcutApi.d.ts +1 -1
- package/src/Api/SmartEditApi.d.ts +1 -1
- package/src/Api/TeamSharingApi.d.ts +1 -1
- package/src/Api/ThemeApi.d.ts +1 -1
- package/src/PredefinedConfig/AlertState.d.ts +7 -3
- package/src/PredefinedConfig/Common/AdaptableAlert.d.ts +35 -6
- package/src/PredefinedConfig/Common/AdaptableAlert.js +7 -0
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +20 -0
- package/src/PredefinedConfig/Common/CellHighlightInfo.d.ts +1 -1
- package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +1 -1
- package/src/PredefinedConfig/Common/Entitlement.d.ts +2 -2
- package/src/PredefinedConfig/Common/Menu.d.ts +3 -0
- package/src/PredefinedConfig/Common/RowsHighlightInfo.d.ts +15 -0
- package/src/PredefinedConfig/Common/RowsHighlightInfo.js +2 -0
- package/src/PredefinedConfig/ConfigState.d.ts +4 -1
- package/src/PredefinedConfig/LayoutState.d.ts +1 -1
- package/src/PredefinedConfig/PopupState.d.ts +2 -1
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
- package/src/Redux/ActionsReducers/PopupRedux.d.ts +18 -0
- package/src/Redux/ActionsReducers/PopupRedux.js +36 -1
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +32 -1
- package/src/Redux/Store/AdaptableReduxMerger.d.ts +1 -0
- package/src/Redux/Store/AdaptableReduxMerger.js +40 -4
- package/src/Redux/Store/AdaptableStore.js +69 -27
- package/src/Strategy/AlertModule.d.ts +5 -3
- package/src/Strategy/AlertModule.js +60 -16
- package/src/Strategy/BulkUpdateModule.js +5 -0
- package/src/Strategy/ExportModule.js +1 -0
- package/src/Strategy/SmartEditModule.js +6 -0
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
- package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +1 -1
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +6 -2
- package/src/Utilities/Interface/MessagePopups.d.ts +13 -0
- package/src/Utilities/ObjectFactory.d.ts +8 -6
- package/src/Utilities/ObjectFactory.js +26 -12
- package/src/Utilities/Services/LicenseService.js +1 -1
- package/src/Utilities/Services/ModuleService.js +1 -1
- package/src/Utilities/Services/ValidationService.js +1 -0
- package/src/View/AdaptableView.js +2 -0
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +16 -9
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +13 -3
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +2 -0
- package/src/View/Alert/Wizard/AlertWizard.js +83 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
- package/src/View/Components/FilterForm/FilterForm.js +2 -2
- package/src/View/Components/Panels/PanelFooter.d.ts +10 -0
- package/src/View/Components/Panels/PanelFooter.js +14 -0
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +12 -7
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +3 -1
- package/src/View/Components/Popups/{AdaptablePopup/Utilities.d.ts → Utilities.d.ts} +4 -0
- package/src/View/Components/Popups/{AdaptablePopup/Utilities.js → Utilities.js} +5 -2
- package/src/View/Components/Popups/WindowPopups/WindowPopups.d.ts +6 -0
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +32 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +4 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +8 -0
- package/src/View/Layout/LayoutEditorStandalonePopup.d.ts +3 -0
- package/src/View/Layout/LayoutEditorStandalonePopup.js +76 -0
- package/src/View/Layout/LayoutPopup.js +3 -24
- package/src/View/Layout/LayoutViewPanel.d.ts +1 -4
- package/src/View/Layout/LayoutViewPanel.js +5 -18
- package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.d.ts +9 -0
- package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +55 -0
- package/src/View/Layout/Wizard/LayoutEditor/index.js +3 -68
- package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
- package/src/View/Layout/Wizard/LayoutEditorWizard.js +35 -7
- package/src/View/SystemStatus/SystemStatusEntityRow.js +1 -2
- package/src/agGrid/Adaptable.d.ts +4 -2
- package/src/agGrid/Adaptable.js +65 -69
- package/src/agGrid/PercentBarRenderer.js +2 -1
- package/src/agGrid/agGridHelper.d.ts +1 -1
- package/src/agGrid/agGridHelper.js +23 -8
- package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
- package/src/components/Dialog/index.js +1 -1
- package/src/components/Modal/index.js +1 -1
- package/src/components/WindowModal/WindowModal.d.ts +10 -8
- package/src/components/WindowModal/WindowModal.js +4 -2
- package/src/components/WindowModal/useStacking.d.ts +9 -0
- package/src/components/WindowModal/useStacking.js +45 -0
- package/src/env.js +3 -3
- package/src/metamodel/adaptable.metamodel.d.ts +51 -11
- package/src/metamodel/adaptable.metamodel.js +183 -40
- package/src/types.d.ts +3 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -42,6 +42,7 @@ const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants")
|
|
|
42
42
|
const PreviewHelper_1 = require("../../Utilities/Helpers/PreviewHelper");
|
|
43
43
|
const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
|
|
44
44
|
const Emitter_1 = tslib_1.__importDefault(require("../../Utilities/Emitter"));
|
|
45
|
+
const AdaptableAlert_1 = require("../../PredefinedConfig/Common/AdaptableAlert");
|
|
45
46
|
const AdaptableToaster_1 = require("../../View/Components/Popups/AdaptableToaster");
|
|
46
47
|
const SystemRedux_1 = require("../ActionsReducers/SystemRedux");
|
|
47
48
|
exports.INIT_STATE = 'INIT_STATE';
|
|
@@ -109,6 +110,7 @@ class AdaptableStore {
|
|
|
109
110
|
// END STATE LOAD
|
|
110
111
|
this.loadStorageInProgress = false;
|
|
111
112
|
this.TheStore.dispatch(PopupRedux.PopupShowAlert({
|
|
113
|
+
alertType: 'generic',
|
|
112
114
|
header: 'Configuration',
|
|
113
115
|
message: 'Error loading your configuration:' + e,
|
|
114
116
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -258,7 +260,7 @@ exports.AdaptableStore = AdaptableStore;
|
|
|
258
260
|
const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
259
261
|
return function (next) {
|
|
260
262
|
return function (action) {
|
|
261
|
-
var _a, _b, _c, _d, _e, _f;
|
|
263
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
262
264
|
switch (action.type) {
|
|
263
265
|
/*******************
|
|
264
266
|
* NAMED QUERY ACTIONS
|
|
@@ -273,6 +275,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
273
275
|
const namedQueryReferences = adaptable.api.queryApi.getNamedQueryModuleReferences(actionTyped.namedQuery.Name);
|
|
274
276
|
if (namedQueryReferences.length) {
|
|
275
277
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
278
|
+
alertType: 'generic',
|
|
276
279
|
header: 'Named Query could not be deleted',
|
|
277
280
|
message: `It is still referenced in the following modules: ${namedQueryReferences.join(', ')}`,
|
|
278
281
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -294,6 +297,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
294
297
|
const namedQueryReferences = adaptable.api.queryApi.getNamedQueryModuleReferences(previousNamedQueryName);
|
|
295
298
|
if (namedQueryReferences.length) {
|
|
296
299
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
300
|
+
alertType: 'generic',
|
|
297
301
|
header: 'Named Query could not be renamed',
|
|
298
302
|
message: `It is currently referenced in the following modules: ${namedQueryReferences.join(', ')}`,
|
|
299
303
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -319,7 +323,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
319
323
|
*******************/
|
|
320
324
|
case SystemRedux.SYSTEM_FLASHING_CELL_ADD:
|
|
321
325
|
case SystemRedux.SYSTEM_FLASHING_CELL_DELETE: {
|
|
322
|
-
const { flashingCell: FlashingCell
|
|
326
|
+
const { flashingCell: FlashingCell } = action;
|
|
323
327
|
const { dataChangedInfo } = FlashingCell;
|
|
324
328
|
let ret = next(action);
|
|
325
329
|
if (dataChangedInfo) {
|
|
@@ -380,15 +384,17 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
380
384
|
case SystemRedux.SYSTEM_ALERT_DELETE: {
|
|
381
385
|
const actionTyped = action;
|
|
382
386
|
let ret = next(action);
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
+
const adaptableAlert = actionTyped.alert;
|
|
388
|
+
if (((_c = adaptableAlert.alertDefinition.AlertProperties) === null || _c === void 0 ? void 0 : _c.HighlightCell) &&
|
|
389
|
+
AdaptableAlert_1.isAdaptableCellChangedAlert(adaptableAlert) &&
|
|
390
|
+
adaptableAlert.dataChangedInfo) {
|
|
391
|
+
const rowNode = adaptableAlert.dataChangedInfo.rowNode;
|
|
392
|
+
adaptable.refreshCells([rowNode], [adaptableAlert.dataChangedInfo.column.columnId], true);
|
|
387
393
|
}
|
|
388
|
-
if (((_d =
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
adaptable.api.gridApi.
|
|
394
|
+
if (((_d = adaptableAlert.alertDefinition.AlertProperties) === null || _d === void 0 ? void 0 : _d.HighlightRow) &&
|
|
395
|
+
AdaptableAlert_1.isAdaptableRowChangedAlert(adaptableAlert) &&
|
|
396
|
+
adaptableAlert.gridDataChangedInfo) {
|
|
397
|
+
adaptable.api.gridApi.refreshRowNodes(adaptableAlert.gridDataChangedInfo.rowNodes);
|
|
392
398
|
}
|
|
393
399
|
return ret;
|
|
394
400
|
}
|
|
@@ -402,13 +408,16 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
402
408
|
let alerts = actionTyped.alerts;
|
|
403
409
|
alerts.forEach((alert) => {
|
|
404
410
|
var _a, _b;
|
|
405
|
-
if (((_a = alert.alertDefinition.AlertProperties) === null || _a === void 0 ? void 0 : _a.HighlightCell) &&
|
|
411
|
+
if (((_a = alert.alertDefinition.AlertProperties) === null || _a === void 0 ? void 0 : _a.HighlightCell) &&
|
|
412
|
+
AdaptableAlert_1.isAdaptableCellChangedAlert(alert) &&
|
|
413
|
+
alert.dataChangedInfo) {
|
|
406
414
|
let rowNode = alert.dataChangedInfo.rowNode;
|
|
407
415
|
adaptable.refreshCells([rowNode], [alert.dataChangedInfo.column.columnId], true);
|
|
408
416
|
}
|
|
409
|
-
if (((_b = alert.alertDefinition.AlertProperties) === null || _b === void 0 ? void 0 : _b.HighlightRow) &&
|
|
410
|
-
|
|
411
|
-
|
|
417
|
+
if (((_b = alert.alertDefinition.AlertProperties) === null || _b === void 0 ? void 0 : _b.HighlightRow) &&
|
|
418
|
+
AdaptableAlert_1.isAdaptableRowChangedAlert(alert) &&
|
|
419
|
+
alert.gridDataChangedInfo) {
|
|
420
|
+
adaptable.api.gridApi.refreshRowNodes(alert.gridDataChangedInfo.rowNodes);
|
|
412
421
|
}
|
|
413
422
|
});
|
|
414
423
|
return ret;
|
|
@@ -420,14 +429,17 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
420
429
|
case SystemRedux.SYSTEM_ALERT_REMOVE_HIGHLIGHT: {
|
|
421
430
|
let ret = next(action);
|
|
422
431
|
const actionTyped = action;
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
432
|
+
const adaptableAlert = actionTyped.alert;
|
|
433
|
+
if (((_e = adaptableAlert.alertDefinition.AlertProperties) === null || _e === void 0 ? void 0 : _e.HighlightCell) &&
|
|
434
|
+
AdaptableAlert_1.isAdaptableCellChangedAlert(adaptableAlert) &&
|
|
435
|
+
adaptableAlert.dataChangedInfo) {
|
|
436
|
+
const rowNode = adaptableAlert.dataChangedInfo.rowNode;
|
|
437
|
+
adaptable.refreshCells([rowNode], [adaptableAlert.dataChangedInfo.column.columnId], true);
|
|
438
|
+
}
|
|
439
|
+
if (((_f = adaptableAlert.alertDefinition.AlertProperties) === null || _f === void 0 ? void 0 : _f.HighlightRow) &&
|
|
440
|
+
AdaptableAlert_1.isAdaptableRowChangedAlert(adaptableAlert) &&
|
|
441
|
+
adaptableAlert.gridDataChangedInfo) {
|
|
442
|
+
adaptable.api.gridApi.refreshRowNodes(adaptableAlert.gridDataChangedInfo.rowNodes);
|
|
431
443
|
}
|
|
432
444
|
return ret;
|
|
433
445
|
}
|
|
@@ -481,6 +493,25 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
481
493
|
}
|
|
482
494
|
return ret;
|
|
483
495
|
}
|
|
496
|
+
case SystemRedux.SYSTEM_HIGHLIGHT_ROWS_ADD: {
|
|
497
|
+
const actionTyped = action;
|
|
498
|
+
const ret = next(action);
|
|
499
|
+
const rowsHighlightInfo = actionTyped.rowsHighlightInfo;
|
|
500
|
+
const rowNodes = adaptable.getRowNodesForPrimaryKeys(rowsHighlightInfo.primaryKeyValues);
|
|
501
|
+
if (rowNodes.length) {
|
|
502
|
+
adaptable.api.gridApi.refreshRowNodes(rowNodes);
|
|
503
|
+
}
|
|
504
|
+
return ret;
|
|
505
|
+
}
|
|
506
|
+
case SystemRedux.SYSTEM_HIGHLIGHT_ROWS_DELETE: {
|
|
507
|
+
const actionTyped = action;
|
|
508
|
+
const ret = next(action);
|
|
509
|
+
const rowNodes = adaptable.getRowNodesForPrimaryKeys(actionTyped.primaryKeyValues);
|
|
510
|
+
if (rowNodes.length) {
|
|
511
|
+
adaptable.api.gridApi.refreshRowNodes(rowNodes);
|
|
512
|
+
}
|
|
513
|
+
return ret;
|
|
514
|
+
}
|
|
484
515
|
case SystemRedux.SYSTEM_HIGHLIGHT_CELL_DELETE_ALL: {
|
|
485
516
|
const rowHighlightInfos = middlewareAPI.getState().System.HighlightedRows;
|
|
486
517
|
const ret = next(action);
|
|
@@ -540,6 +571,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
540
571
|
const calculatedColumnReferences = adaptable.api.calculatedColumnApi.getCalculatedColumnModuleReferences(actionTyped.calculatedColumn);
|
|
541
572
|
if (calculatedColumnReferences.length) {
|
|
542
573
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
574
|
+
alertType: 'generic',
|
|
543
575
|
header: 'CalculatedColumn could not be deleted',
|
|
544
576
|
message: `It is still referenced in the following modules: ${calculatedColumnReferences.join(', ')}`,
|
|
545
577
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -563,6 +595,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
563
595
|
const freeTextColumnReferences = adaptable.api.freeTextColumnApi.getFreeTextColumnModuleReferences(actionTyped.freeTextColumn);
|
|
564
596
|
if (freeTextColumnReferences.length) {
|
|
565
597
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
598
|
+
alertType: 'generic',
|
|
566
599
|
header: 'FreeTextColumn could not be deleted',
|
|
567
600
|
message: `It is still referenced in the following modules: ${freeTextColumnReferences.join(', ')}`,
|
|
568
601
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -762,7 +795,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
762
795
|
// tell grid the layout has been selected
|
|
763
796
|
adaptable.setLayout(currentLayout);
|
|
764
797
|
}
|
|
765
|
-
if (!((
|
|
798
|
+
if (!((_g = adaptable.adaptableOptions.layoutOptions) === null || _g === void 0 ? void 0 : _g.autoSaveLayouts)) {
|
|
766
799
|
middlewareAPI.dispatch(LayoutRedux.LayoutUpdateCurrentDraft(currentLayout));
|
|
767
800
|
}
|
|
768
801
|
}
|
|
@@ -770,7 +803,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
770
803
|
returnAction.type == LayoutRedux.LAYOUT_SAVE) {
|
|
771
804
|
const actionTyped = action;
|
|
772
805
|
// if autosave is false
|
|
773
|
-
if (!((
|
|
806
|
+
if (!((_h = adaptable.adaptableOptions.layoutOptions) === null || _h === void 0 ? void 0 : _h.autoSaveLayouts)) {
|
|
774
807
|
// and the current layout is saved, make sure we also update the draft
|
|
775
808
|
if (actionTyped.layout.Name === newLayoutState.CurrentLayout) {
|
|
776
809
|
middlewareAPI.dispatch(LayoutRedux.LayoutUpdateCurrentDraft(actionTyped.layout));
|
|
@@ -1001,6 +1034,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1001
1034
|
.catch((error) => {
|
|
1002
1035
|
LoggingHelper_1.LogAdaptableError('TeamSharing get error : ' + error.message);
|
|
1003
1036
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1037
|
+
alertType: 'generic',
|
|
1004
1038
|
header: 'Team Sharing',
|
|
1005
1039
|
message: "Couldn't get shared items: " + error.message,
|
|
1006
1040
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1027,6 +1061,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1027
1061
|
adaptable.api.teamSharingApi.getTeamSharingState().ActiveSharedEntityMap[Entity.Uuid];
|
|
1028
1062
|
if (existingActiveSharedEntity) {
|
|
1029
1063
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1064
|
+
alertType: 'generic',
|
|
1030
1065
|
header: 'Team Sharing',
|
|
1031
1066
|
message: `Couldn't share ${adaptable.api.internalApi.getModuleFriendlyName(existingActiveSharedEntity.Module)}, there is already an existing active share for it: ${existingActiveSharedEntity.Description}`,
|
|
1032
1067
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1049,6 +1084,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1049
1084
|
.then(() => {
|
|
1050
1085
|
if (shareSuccessful) {
|
|
1051
1086
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1087
|
+
alertType: 'generic',
|
|
1052
1088
|
header: 'Team Sharing',
|
|
1053
1089
|
message: `${adaptable.api.internalApi.getModuleFriendlyName(Module)} Shared Successfully`,
|
|
1054
1090
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Success'),
|
|
@@ -1058,6 +1094,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1058
1094
|
.catch((error) => {
|
|
1059
1095
|
LoggingHelper_1.LogAdaptableError('TeamSharing share error : ' + error.message, actionTyped.Entity);
|
|
1060
1096
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1097
|
+
alertType: 'generic',
|
|
1061
1098
|
header: 'Team Sharing',
|
|
1062
1099
|
message: "Couldn't share item: " + error.message,
|
|
1063
1100
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1081,6 +1118,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1081
1118
|
.getSharedEntityDependants(actionTyped.Uuid, sharedEntities);
|
|
1082
1119
|
if (sharedEntityDependants.length) {
|
|
1083
1120
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1121
|
+
alertType: 'generic',
|
|
1084
1122
|
header: `Cannot remove the shared item as it is referenced in:`,
|
|
1085
1123
|
message: sharedEntityDependants
|
|
1086
1124
|
.map((sharedEntity) => `${adaptable.api.internalApi.getModuleFriendlyName(sharedEntity.Module)} ${sharedEntity.Description}`)
|
|
@@ -1098,6 +1136,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1098
1136
|
.catch((error) => {
|
|
1099
1137
|
LoggingHelper_1.LogAdaptableError('TeamSharing remove error : ' + error.message);
|
|
1100
1138
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1139
|
+
alertType: 'generic',
|
|
1101
1140
|
header: 'Team Sharing',
|
|
1102
1141
|
message: "Couldn't remove item: " + error.message,
|
|
1103
1142
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1112,7 +1151,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1112
1151
|
case TeamSharingRedux.TEAMSHARING_IMPORT_ITEM: {
|
|
1113
1152
|
let returnAction = next(action);
|
|
1114
1153
|
const actionTyped = action;
|
|
1115
|
-
const [importStepActions, needsOverwriteConfirmation
|
|
1154
|
+
const [importStepActions, needsOverwriteConfirmation] = adaptable.api.internalApi
|
|
1116
1155
|
.getTeamSharingService()
|
|
1117
1156
|
.buildSharedEntityImportActions(actionTyped.SharedEntity);
|
|
1118
1157
|
const processImportAction = TeamSharingRedux.TeamSharingProcessImport(importStepActions);
|
|
@@ -1164,6 +1203,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1164
1203
|
.then(() => middlewareAPI.dispatch(TeamSharingRedux.TeamSharingCommitImport()))
|
|
1165
1204
|
.catch(() => middlewareAPI.dispatch(TeamSharingRedux.TeamSharingCommitImport()));
|
|
1166
1205
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1206
|
+
alertType: 'generic',
|
|
1167
1207
|
header: 'Team Sharing',
|
|
1168
1208
|
message: `Item Successfully Imported`,
|
|
1169
1209
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Success'),
|
|
@@ -1185,14 +1225,14 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1185
1225
|
.getSharedEntities(adaptableId)
|
|
1186
1226
|
.then((sharedEntities) => {
|
|
1187
1227
|
// check if remote server has a newer revision
|
|
1188
|
-
const [localRevision, remoteRevision
|
|
1228
|
+
const [localRevision, remoteRevision] = adaptable.api.internalApi
|
|
1189
1229
|
.getTeamSharingService()
|
|
1190
1230
|
.getSharedEntityLocalAndRemoteRevisions(ChangedAdaptableObject.Uuid, sharedEntities);
|
|
1191
1231
|
if (remoteRevision > localRevision) {
|
|
1192
1232
|
// if remote has a newer version, we will NOT overwrite it
|
|
1193
1233
|
return;
|
|
1194
1234
|
}
|
|
1195
|
-
const [updatedSharedEntities, newActiveEntities
|
|
1235
|
+
const [updatedSharedEntities, newActiveEntities] = adaptable.api.internalApi
|
|
1196
1236
|
.getTeamSharingService()
|
|
1197
1237
|
.updateActiveSharedEntity(ChangedAdaptableObject, UserName, sharedEntities);
|
|
1198
1238
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingLinkItem(...newActiveEntities));
|
|
@@ -1202,6 +1242,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1202
1242
|
.catch((error) => {
|
|
1203
1243
|
LoggingHelper_1.LogAdaptableError('TeamSharing update active item error : ' + error.message);
|
|
1204
1244
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1245
|
+
alertType: 'generic',
|
|
1205
1246
|
header: 'Team Sharing',
|
|
1206
1247
|
message: "Couldn't update active item: " + error.message,
|
|
1207
1248
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1222,6 +1263,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1222
1263
|
.catch((error) => {
|
|
1223
1264
|
LoggingHelper_1.LogAdaptableError('TeamSharing update error : ' + error.message);
|
|
1224
1265
|
middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
|
|
1266
|
+
alertType: 'generic',
|
|
1225
1267
|
header: 'Team Sharing',
|
|
1226
1268
|
message: "Couldn't check for updates: " + error.message,
|
|
1227
1269
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
3
3
|
import { AlertDefinition } from '../PredefinedConfig/AlertState';
|
|
4
|
-
import { DataChangedInfo } from '../PredefinedConfig/Common/DataChangedInfo';
|
|
5
4
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
6
5
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
7
6
|
import * as AlertRedux from '../Redux/ActionsReducers/AlertRedux';
|
|
@@ -15,12 +14,15 @@ export declare class AlertModule extends AdaptableModuleBase implements IModule
|
|
|
15
14
|
getReferencedNamedQueryNames(alertDefinition: AlertDefinition): string[];
|
|
16
15
|
updateOldConfig(): void;
|
|
17
16
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
18
|
-
|
|
17
|
+
private handleCellDataChanged;
|
|
18
|
+
private handleGridDataChanged;
|
|
19
19
|
private handleReactiveAlertTriggered;
|
|
20
20
|
private showAlertForDefinitions;
|
|
21
|
-
private
|
|
21
|
+
private getAlertDefinitionsForCellDataChange;
|
|
22
|
+
private getAlertDefinitionsForGridDataChange;
|
|
22
23
|
private getBaseAlertDefinitionsForDataChange;
|
|
23
24
|
private isAlertPredicateTriggered;
|
|
25
|
+
private isAlertDefinitionForRowChangeEvent;
|
|
24
26
|
getTeamSharingAction(): TeamSharingImportInfo<AlertDefinition>;
|
|
25
27
|
toView(alert: AlertDefinition): AdaptableObjectView;
|
|
26
28
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -34,7 +34,14 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
this.
|
|
37
|
+
this.handleCellDataChanged(dataChangedInfo);
|
|
38
|
+
});
|
|
39
|
+
this.api.eventApi.on('GridDataChanged', (gridDataChangedInfo) => {
|
|
40
|
+
if (gridDataChangedInfo.rowTrigger === 'Edit') {
|
|
41
|
+
// changed row alerts should be handled by standard 'Any' ('AnyChange') Predicate
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.handleGridDataChanged(gridDataChangedInfo);
|
|
38
45
|
});
|
|
39
46
|
this.api.internalApi
|
|
40
47
|
.getAlertService()
|
|
@@ -87,25 +94,40 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
87
94
|
const items = [];
|
|
88
95
|
if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
|
|
89
96
|
if (menuContext.adaptableColumn && menuContext.rowNode) {
|
|
90
|
-
let
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
let relevantAlert;
|
|
98
|
+
// find alerts which highlight the current cell
|
|
99
|
+
relevantAlert = this.api.internalApi.getAdaptableAlertWithHighlightCell(menuContext.adaptableColumn.columnId, menuContext.rowNode);
|
|
100
|
+
if (!relevantAlert) {
|
|
101
|
+
// find alerts which highlight the current row
|
|
102
|
+
relevantAlert = this.api.internalApi.getAdaptableAlertWithHighlightRow(menuContext.rowNode);
|
|
103
|
+
}
|
|
104
|
+
if (relevantAlert) {
|
|
105
|
+
items.push(this.createColumnMenuItemReduxAction('Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
}
|
|
101
109
|
return items;
|
|
102
110
|
}
|
|
103
|
-
|
|
104
|
-
const alertDefinitions = this.
|
|
105
|
-
if (
|
|
111
|
+
handleCellDataChanged(dataChangedInfo) {
|
|
112
|
+
const alertDefinitions = this.getAlertDefinitionsForCellDataChange(dataChangedInfo);
|
|
113
|
+
if (alertDefinitions === null || alertDefinitions === void 0 ? void 0 : alertDefinitions.length) {
|
|
106
114
|
this.showAlertForDefinitions(dataChangedInfo, alertDefinitions);
|
|
107
115
|
}
|
|
108
116
|
}
|
|
117
|
+
handleGridDataChanged(gridDataChangedInfo) {
|
|
118
|
+
const alertDefinitions = this.getAlertDefinitionsForGridDataChange(gridDataChangedInfo);
|
|
119
|
+
const rowAdded = gridDataChangedInfo.rowTrigger === 'Add';
|
|
120
|
+
const numberOfChangedRows = gridDataChangedInfo.rowNodes.length;
|
|
121
|
+
const actionName = rowAdded ? 'Added' : 'Removed';
|
|
122
|
+
const alertHeader = numberOfChangedRows > 1 ? `${actionName} Rows` : `${actionName} Row `;
|
|
123
|
+
const alertMessage = numberOfChangedRows > 1
|
|
124
|
+
? `${numberOfChangedRows} rows were ${actionName.toLowerCase()}`
|
|
125
|
+
: `${numberOfChangedRows} row was ${actionName.toLowerCase()}`;
|
|
126
|
+
alertDefinitions === null || alertDefinitions === void 0 ? void 0 : alertDefinitions.forEach((alertDefinition) => {
|
|
127
|
+
const alert = ObjectFactory_1.default.CreateRowChangedAlert(alertHeader, alertMessage, alertDefinition, gridDataChangedInfo);
|
|
128
|
+
this.api.alertApi.displayAlert(alert);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
109
131
|
handleReactiveAlertTriggered(reactiveAlertInfo) {
|
|
110
132
|
var _a;
|
|
111
133
|
// the row node data is most probably stale because the reactive queries buffer the changed data
|
|
@@ -122,13 +144,28 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
122
144
|
}
|
|
123
145
|
showAlertForDefinitions(dataChangedInfo, alertDefinitions = []) {
|
|
124
146
|
alertDefinitions.forEach((alertDefinition) => {
|
|
125
|
-
const alert = ObjectFactory_1.default.
|
|
147
|
+
const alert = ObjectFactory_1.default.CreateCellChangedAlert(dataChangedInfo.column.friendlyName, this.api.alertApi.getAlertDescription(alertDefinition, dataChangedInfo), alertDefinition, dataChangedInfo);
|
|
126
148
|
this.api.alertApi.displayAlert(alert);
|
|
127
149
|
});
|
|
128
150
|
}
|
|
129
|
-
|
|
151
|
+
getAlertDefinitionsForCellDataChange(dataChangedEvent) {
|
|
130
152
|
return this.getBaseAlertDefinitionsForDataChange(dataChangedEvent, this.api.alertApi.getActiveNonReactiveAlertDefinitions());
|
|
131
153
|
}
|
|
154
|
+
getAlertDefinitionsForGridDataChange(gridDataChangedInfo) {
|
|
155
|
+
return this.api.alertApi
|
|
156
|
+
.getActiveNonReactiveAlertDefinitions()
|
|
157
|
+
.filter((alertDefinition) => this.isAlertDefinitionForRowChangeEvent(alertDefinition))
|
|
158
|
+
.filter((alertDefinition) => {
|
|
159
|
+
var _a, _b, _c, _d;
|
|
160
|
+
if (gridDataChangedInfo.rowTrigger === 'Add') {
|
|
161
|
+
return ((_b = (_a = alertDefinition.Rule) === null || _a === void 0 ? void 0 : _a.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId) === 'AddedRow';
|
|
162
|
+
}
|
|
163
|
+
if (gridDataChangedInfo.rowTrigger === 'Delete') {
|
|
164
|
+
return ((_d = (_c = alertDefinition.Rule) === null || _c === void 0 ? void 0 : _c.Predicate) === null || _d === void 0 ? void 0 : _d.PredicateId) === 'RemovedRow';
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
132
169
|
getBaseAlertDefinitionsForDataChange(dataChangedEvent, definitions, defaultNoPredicateReturn = false) {
|
|
133
170
|
let relatedAlertDefinitions = definitions
|
|
134
171
|
.filter((v) => this.api.scopeApi.isColumnInScope(dataChangedEvent.column, v.Scope))
|
|
@@ -151,8 +188,11 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
151
188
|
triggeredAlerts.push(alertDefinition);
|
|
152
189
|
}
|
|
153
190
|
}
|
|
154
|
-
else
|
|
155
|
-
|
|
191
|
+
else {
|
|
192
|
+
if (!this.isAlertDefinitionForRowChangeEvent(alertDefinition) &&
|
|
193
|
+
this.isAlertPredicateTriggered(alertDefinition, dataChangedEvent, defaultNoPredicateReturn)) {
|
|
194
|
+
triggeredAlerts.push(alertDefinition);
|
|
195
|
+
}
|
|
156
196
|
}
|
|
157
197
|
});
|
|
158
198
|
}
|
|
@@ -168,6 +208,10 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
168
208
|
column: dataChangedEvent.column,
|
|
169
209
|
}, defaultNoPredicateReturn);
|
|
170
210
|
}
|
|
211
|
+
isAlertDefinitionForRowChangeEvent(alertDefinition) {
|
|
212
|
+
return (this.api.internalApi.isAlertDefinitionForAddedRowChangeEvent(alertDefinition) ||
|
|
213
|
+
this.api.internalApi.isAlertDefinitionForRemovedRowChangeEvent(alertDefinition));
|
|
214
|
+
}
|
|
171
215
|
getTeamSharingAction() {
|
|
172
216
|
return {
|
|
173
217
|
ModuleEntities: this.api.alertApi.getAlertDefinitions(),
|
|
@@ -43,6 +43,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
43
43
|
return {
|
|
44
44
|
IsValid: false,
|
|
45
45
|
Alert: {
|
|
46
|
+
alertType: 'generic',
|
|
46
47
|
header: 'Bulk Update Error',
|
|
47
48
|
message: 'Cannot edit while Grid is in Pivot Mode.',
|
|
48
49
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -53,6 +54,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
53
54
|
return {
|
|
54
55
|
IsValid: false,
|
|
55
56
|
Alert: {
|
|
57
|
+
alertType: 'generic',
|
|
56
58
|
header: 'Bulk Update Error',
|
|
57
59
|
message: 'No cells are selected.\nPlease select some cells.',
|
|
58
60
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -63,6 +65,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
63
65
|
return {
|
|
64
66
|
IsValid: false,
|
|
65
67
|
Alert: {
|
|
68
|
+
alertType: 'generic',
|
|
66
69
|
header: 'Bulk Update Error',
|
|
67
70
|
message: 'Bulk Update only supports single column edit.\nPlease adjust cell selection.',
|
|
68
71
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -74,6 +77,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
74
77
|
return {
|
|
75
78
|
IsValid: false,
|
|
76
79
|
Alert: {
|
|
80
|
+
alertType: 'generic',
|
|
77
81
|
header: 'Bulk Update Error',
|
|
78
82
|
message: 'Bulk Update is not permitted on readonly columns.\nPlease adjust the cell selection.',
|
|
79
83
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -85,6 +89,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
85
89
|
return {
|
|
86
90
|
IsValid: false,
|
|
87
91
|
Alert: {
|
|
92
|
+
alertType: 'generic',
|
|
88
93
|
header: 'Bulk Update Error',
|
|
89
94
|
message: 'Bulk Update is not permitted on readonly cells.\nPlease adjust the cell selection.',
|
|
90
95
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -185,6 +185,7 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
185
185
|
}
|
|
186
186
|
showEmptyExportWarning() {
|
|
187
187
|
this.api.internalApi.dispatchReduxAction(PopupRedux.PopupShowAlert({
|
|
188
|
+
alertType: 'generic',
|
|
188
189
|
header: 'Export',
|
|
189
190
|
message: 'No Data To Export',
|
|
190
191
|
alertDefinition: ObjectFactory_1.ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -49,6 +49,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
49
49
|
if (this.api.internalApi.isGridInPivotMode()) {
|
|
50
50
|
return {
|
|
51
51
|
Alert: {
|
|
52
|
+
alertType: 'generic',
|
|
52
53
|
header: 'Smart Edit Error',
|
|
53
54
|
message: 'Cannot edit while Grid is in Pivot Mode.',
|
|
54
55
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -58,6 +59,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
58
59
|
if (selectedCellInfo == null || ArrayExtensions_1.default.IsNullOrEmpty(selectedCellInfo.columns)) {
|
|
59
60
|
return {
|
|
60
61
|
Alert: {
|
|
62
|
+
alertType: 'generic',
|
|
61
63
|
header: 'Smart Edit Error',
|
|
62
64
|
message: 'No cells are selected.\nPlease select some cells.',
|
|
63
65
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -67,6 +69,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
67
69
|
if (ArrayExtensions_1.default.NotCorrectLength(selectedCellInfo.columns, 1)) {
|
|
68
70
|
return {
|
|
69
71
|
Alert: {
|
|
72
|
+
alertType: 'generic',
|
|
70
73
|
header: 'Smart Edit Error',
|
|
71
74
|
message: 'Smart Edit only supports single column edit.\nPlease adjust cell selection.',
|
|
72
75
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -78,6 +81,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
78
81
|
if (column.dataType != Enums_1.DataType.Number) {
|
|
79
82
|
return {
|
|
80
83
|
Alert: {
|
|
84
|
+
alertType: 'generic',
|
|
81
85
|
header: 'Smart Edit Error',
|
|
82
86
|
message: 'Smart Edit only supports editing of numeric columns.\nPlease adjust the cell selection.',
|
|
83
87
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -87,6 +91,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
87
91
|
if (column.readOnly) {
|
|
88
92
|
return {
|
|
89
93
|
Alert: {
|
|
94
|
+
alertType: 'generic',
|
|
90
95
|
header: 'Smart Edit Error',
|
|
91
96
|
message: 'Smart Edit is not permitted on readonly columns.\nPlease adjust the cell selection.',
|
|
92
97
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -98,6 +103,7 @@ class SmartEditModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
98
103
|
!this.api.gridApi.areCellsEditable(selectedCellInfo.gridCells)) {
|
|
99
104
|
return {
|
|
100
105
|
Alert: {
|
|
106
|
+
alertType: 'generic',
|
|
101
107
|
header: 'Smart Edit Error',
|
|
102
108
|
message: 'Smart Edit is not permitted on readonly cells.\nPlease adjust the cell selection.',
|
|
103
109
|
alertDefinition: ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages('Error'),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AdaptableSettingsPanel } from '../../PredefinedConfig/Common/Types';
|
|
2
2
|
import { AdaptableModule } from '../../types';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const STANDALONE_MODULE_POPUPS: AdaptableModule[];
|
|
4
4
|
/**
|
|
5
5
|
* This constants determines the order and the items that appear in the navigation.
|
|
6
6
|
*/
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_NAVIGATION_ITEMS = exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.DEFAULT_NAVIGATION_ITEMS = exports.STANDALONE_MODULE_POPUPS = void 0;
|
|
4
|
+
exports.STANDALONE_MODULE_POPUPS = [
|
|
5
|
+
'BulkUpdate',
|
|
6
|
+
'SmartEdit',
|
|
7
|
+
'CellSummary',
|
|
8
|
+
];
|
|
5
9
|
/**
|
|
6
10
|
* This constants determines the order and the items that appear in the navigation.
|
|
7
11
|
*/
|
|
@@ -58,3 +58,16 @@ export interface PromptPopup {
|
|
|
58
58
|
DefaultValue?: string;
|
|
59
59
|
ConfirmActionCreator?: (inputText: string) => Action;
|
|
60
60
|
}
|
|
61
|
+
export interface WindowPopup {
|
|
62
|
+
PopupList: {
|
|
63
|
+
/**
|
|
64
|
+
* Used to identify the window.
|
|
65
|
+
* - used to close the window
|
|
66
|
+
* - used to identify the 'Component' name, to know what to instantiate
|
|
67
|
+
*/
|
|
68
|
+
Id: string;
|
|
69
|
+
Title: string;
|
|
70
|
+
PopupProps?: any;
|
|
71
|
+
Icon?: string;
|
|
72
|
+
}[];
|
|
73
|
+
}
|
|
@@ -21,20 +21,21 @@ import { OpenFinSchedule, OpenFinReport } from '../PredefinedConfig/OpenFinState
|
|
|
21
21
|
import { NamedQuery } from '../PredefinedConfig/QueryState';
|
|
22
22
|
import { ColumnFilter } from '../PredefinedConfig/FilterState';
|
|
23
23
|
import { ReminderSchedule } from '../PredefinedConfig/ScheduleState';
|
|
24
|
-
import {
|
|
24
|
+
import { AdaptableCellChangedAlert, AdaptableGenericAlert, AdaptableRowChangedAlert } from '../PredefinedConfig/Common/AdaptableAlert';
|
|
25
25
|
import { AdaptableMessageType } from '../PredefinedConfig/Common/AdaptableMessageType';
|
|
26
26
|
import { SystemStatusMessageInfo } from '../PredefinedConfig/Common/SystemStatusMessageInfo';
|
|
27
27
|
import { NotificationsOptions } from '../AdaptableOptions/NotificationsOptions';
|
|
28
28
|
import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
|
|
29
|
-
import { FlashingCellDefinition } from '../types';
|
|
29
|
+
import { FlashingCellDefinition, GridDataChangedInfo } from '../types';
|
|
30
30
|
import { ToastOptions } from 'react-toastify';
|
|
31
31
|
export declare function CreateEmptyCustomSort(): CustomSort;
|
|
32
32
|
export declare function CreateEmptyDataSource(): DataSource;
|
|
33
33
|
export declare function CreateEmptyCalculatedColumn(isFilterable: boolean): CalculatedColumn;
|
|
34
34
|
export declare function CreateEmptyNamedQuery(expression?: string): NamedQuery;
|
|
35
35
|
export declare function CreateEmptyPlusMinusNudge(): PlusMinusNudge;
|
|
36
|
-
export declare function
|
|
37
|
-
export declare function
|
|
36
|
+
export declare function CreateGenericAlert(alertHeader: string, alertMessage: string, alertDefinition: AlertDefinition): AdaptableGenericAlert;
|
|
37
|
+
export declare function CreateCellChangedAlert(alertHeader: string, alertMessage: string, alertDefinition: AlertDefinition, dataChangedInfo: DataChangedInfo): AdaptableCellChangedAlert;
|
|
38
|
+
export declare function CreateRowChangedAlert(alertHeader: string, alertMessage: string, alertDefinition: AlertDefinition, gridDataChange: GridDataChangedInfo): AdaptableRowChangedAlert;
|
|
38
39
|
export declare function CreateEmptyAlertDefinition(): AlertDefinition;
|
|
39
40
|
export declare function CreateEmptyFlashingCellDefinition(): FlashingCellDefinition;
|
|
40
41
|
export declare function CreateInternalAlertDefinitionForMessages(messageType: AdaptableMessageType, alertProperties?: AlertProperties): AlertDefinition;
|
|
@@ -72,8 +73,9 @@ export declare const ObjectFactory: {
|
|
|
72
73
|
CreateEmptyCalculatedColumn: typeof CreateEmptyCalculatedColumn;
|
|
73
74
|
CreateEmptyNamedQuery: typeof CreateEmptyNamedQuery;
|
|
74
75
|
CreateEmptyPlusMinusNudge: typeof CreateEmptyPlusMinusNudge;
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
CreateGenericAlert: typeof CreateGenericAlert;
|
|
77
|
+
CreateCellChangedAlert: typeof CreateCellChangedAlert;
|
|
78
|
+
CreateRowChangedAlert: typeof CreateRowChangedAlert;
|
|
77
79
|
CreateEmptyAlertDefinition: typeof CreateEmptyAlertDefinition;
|
|
78
80
|
CreateEmptyFlashingCellDefinition: typeof CreateEmptyFlashingCellDefinition;
|
|
79
81
|
CreateInternalAlertDefinitionForMessages: typeof CreateInternalAlertDefinitionForMessages;
|