@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.
Files changed (132) hide show
  1. package/base.css +19 -11
  2. package/bundle.cjs.js +100 -100
  3. package/index.css +23 -11
  4. package/package.json +2 -2
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -0
  8. package/src/AdaptableOptions/LayoutOptions.d.ts +5 -1
  9. package/src/Api/AlertApi.d.ts +3 -2
  10. package/src/Api/BulkUpdateApi.d.ts +6 -1
  11. package/src/Api/CalculatedColumnApi.d.ts +1 -1
  12. package/src/Api/CellSummaryApi.d.ts +1 -1
  13. package/src/Api/ConditionalStyleApi.d.ts +1 -1
  14. package/src/Api/ConfigApi.d.ts +1 -1
  15. package/src/Api/CustomSortApi.d.ts +1 -1
  16. package/src/Api/DashboardApi.d.ts +1 -1
  17. package/src/Api/DataSourceApi.d.ts +1 -1
  18. package/src/Api/EventApi.d.ts +1 -1
  19. package/src/Api/Events/GridDataChanged.d.ts +5 -1
  20. package/src/Api/ExportApi.d.ts +7 -2
  21. package/src/Api/FormatColumnApi.d.ts +1 -1
  22. package/src/Api/FreeTextColumnApi.d.ts +1 -1
  23. package/src/Api/GridApi.d.ts +24 -3
  24. package/src/Api/Implementation/AlertApiImpl.d.ts +4 -1
  25. package/src/Api/Implementation/AlertApiImpl.js +79 -52
  26. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +1 -0
  27. package/src/Api/Implementation/BulkUpdateApiImpl.js +4 -0
  28. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  29. package/src/Api/Implementation/ConfigApiImpl.js +7 -2
  30. package/src/Api/Implementation/ExportApiImpl.d.ts +2 -1
  31. package/src/Api/Implementation/ExportApiImpl.js +14 -1
  32. package/src/Api/Implementation/GridApiImpl.d.ts +9 -1
  33. package/src/Api/Implementation/GridApiImpl.js +24 -3
  34. package/src/Api/Implementation/InternalApiImpl.d.ts +9 -2
  35. package/src/Api/Implementation/InternalApiImpl.js +37 -1
  36. package/src/Api/Implementation/LayoutApiImpl.d.ts +6 -0
  37. package/src/Api/Implementation/LayoutApiImpl.js +48 -0
  38. package/src/Api/Implementation/ScheduleApiImpl.js +1 -0
  39. package/src/Api/Implementation/SettingsPanelApiImpl.js +7 -1
  40. package/src/Api/InternalApi.d.ts +9 -2
  41. package/src/Api/LayoutApi.d.ts +38 -1
  42. package/src/Api/PlusMinusApi.d.ts +1 -1
  43. package/src/Api/QueryApi.d.ts +1 -1
  44. package/src/Api/QuickSearchApi.d.ts +1 -1
  45. package/src/Api/ScheduleApi.d.ts +1 -1
  46. package/src/Api/ShortcutApi.d.ts +1 -1
  47. package/src/Api/SmartEditApi.d.ts +1 -1
  48. package/src/Api/TeamSharingApi.d.ts +1 -1
  49. package/src/Api/ThemeApi.d.ts +1 -1
  50. package/src/PredefinedConfig/AlertState.d.ts +7 -3
  51. package/src/PredefinedConfig/Common/AdaptableAlert.d.ts +35 -6
  52. package/src/PredefinedConfig/Common/AdaptableAlert.js +7 -0
  53. package/src/PredefinedConfig/Common/AdaptablePredicate.js +20 -0
  54. package/src/PredefinedConfig/Common/CellHighlightInfo.d.ts +1 -1
  55. package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +1 -1
  56. package/src/PredefinedConfig/Common/Entitlement.d.ts +2 -2
  57. package/src/PredefinedConfig/Common/Menu.d.ts +3 -0
  58. package/src/PredefinedConfig/Common/RowsHighlightInfo.d.ts +15 -0
  59. package/src/PredefinedConfig/Common/RowsHighlightInfo.js +2 -0
  60. package/src/PredefinedConfig/ConfigState.d.ts +4 -1
  61. package/src/PredefinedConfig/LayoutState.d.ts +1 -1
  62. package/src/PredefinedConfig/PopupState.d.ts +2 -1
  63. package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
  64. package/src/Redux/ActionsReducers/PopupRedux.d.ts +18 -0
  65. package/src/Redux/ActionsReducers/PopupRedux.js +36 -1
  66. package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -0
  67. package/src/Redux/ActionsReducers/SystemRedux.js +32 -1
  68. package/src/Redux/Store/AdaptableReduxMerger.d.ts +1 -0
  69. package/src/Redux/Store/AdaptableReduxMerger.js +40 -4
  70. package/src/Redux/Store/AdaptableStore.js +69 -27
  71. package/src/Strategy/AlertModule.d.ts +5 -3
  72. package/src/Strategy/AlertModule.js +60 -16
  73. package/src/Strategy/BulkUpdateModule.js +5 -0
  74. package/src/Strategy/ExportModule.js +1 -0
  75. package/src/Strategy/SmartEditModule.js +6 -0
  76. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
  77. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +1 -1
  78. package/src/Utilities/Defaults/DefaultSettingsPanel.js +6 -2
  79. package/src/Utilities/Interface/MessagePopups.d.ts +13 -0
  80. package/src/Utilities/ObjectFactory.d.ts +8 -6
  81. package/src/Utilities/ObjectFactory.js +26 -12
  82. package/src/Utilities/Services/LicenseService.js +1 -1
  83. package/src/Utilities/Services/ModuleService.js +1 -1
  84. package/src/Utilities/Services/ValidationService.js +1 -0
  85. package/src/View/AdaptableView.js +2 -0
  86. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +16 -9
  87. package/src/View/Alert/Wizard/AlertButtonsEditor.js +13 -3
  88. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +2 -0
  89. package/src/View/Alert/Wizard/AlertWizard.js +83 -1
  90. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
  91. package/src/View/Components/FilterForm/FilterForm.js +2 -2
  92. package/src/View/Components/Panels/PanelFooter.d.ts +10 -0
  93. package/src/View/Components/Panels/PanelFooter.js +14 -0
  94. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +12 -7
  95. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -1
  96. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +3 -1
  97. package/src/View/Components/Popups/{AdaptablePopup/Utilities.d.ts → Utilities.d.ts} +4 -0
  98. package/src/View/Components/Popups/{AdaptablePopup/Utilities.js → Utilities.js} +5 -2
  99. package/src/View/Components/Popups/WindowPopups/WindowPopups.d.ts +6 -0
  100. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +32 -0
  101. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +4 -0
  102. package/src/View/Components/Popups/WindowPopups/windowFactory.js +8 -0
  103. package/src/View/Layout/LayoutEditorStandalonePopup.d.ts +3 -0
  104. package/src/View/Layout/LayoutEditorStandalonePopup.js +76 -0
  105. package/src/View/Layout/LayoutPopup.js +3 -24
  106. package/src/View/Layout/LayoutViewPanel.d.ts +1 -4
  107. package/src/View/Layout/LayoutViewPanel.js +5 -18
  108. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.d.ts +9 -0
  109. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +55 -0
  110. package/src/View/Layout/Wizard/LayoutEditor/index.js +3 -68
  111. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
  112. package/src/View/Layout/Wizard/LayoutEditorWizard.js +35 -7
  113. package/src/View/SystemStatus/SystemStatusEntityRow.js +1 -2
  114. package/src/agGrid/Adaptable.d.ts +4 -2
  115. package/src/agGrid/Adaptable.js +65 -69
  116. package/src/agGrid/PercentBarRenderer.js +2 -1
  117. package/src/agGrid/agGridHelper.d.ts +1 -1
  118. package/src/agGrid/agGridHelper.js +23 -8
  119. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  120. package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
  121. package/src/components/Dialog/index.js +1 -1
  122. package/src/components/Modal/index.js +1 -1
  123. package/src/components/WindowModal/WindowModal.d.ts +10 -8
  124. package/src/components/WindowModal/WindowModal.js +4 -2
  125. package/src/components/WindowModal/useStacking.d.ts +9 -0
  126. package/src/components/WindowModal/useStacking.js +45 -0
  127. package/src/env.js +3 -3
  128. package/src/metamodel/adaptable.metamodel.d.ts +51 -11
  129. package/src/metamodel/adaptable.metamodel.js +183 -40
  130. package/src/types.d.ts +3 -2
  131. package/version.d.ts +1 -1
  132. 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, } = action;
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
- if (((_c = actionTyped.alert.alertDefinition.AlertProperties) === null || _c === void 0 ? void 0 : _c.HighlightCell) &&
384
- actionTyped.alert.dataChangedInfo) {
385
- let rowNode = actionTyped.alert.dataChangedInfo.rowNode;
386
- adaptable.refreshCells([rowNode], [actionTyped.alert.dataChangedInfo.column.columnId], true);
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 = actionTyped.alert.alertDefinition.AlertProperties) === null || _d === void 0 ? void 0 : _d.HighlightRow) &&
389
- actionTyped.alert.dataChangedInfo) {
390
- let rowNode = actionTyped.alert.dataChangedInfo.rowNode;
391
- adaptable.api.gridApi.refreshRowNode(rowNode);
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) && alert.dataChangedInfo) {
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) && alert.dataChangedInfo) {
410
- let rowNode = alert.dataChangedInfo.rowNode;
411
- adaptable.api.gridApi.refreshRowNode(rowNode);
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
- if (actionTyped.alert.dataChangedInfo) {
424
- let rowNode = actionTyped.alert.dataChangedInfo.rowNode;
425
- if (actionTyped.alert.alertDefinition.AlertProperties.HighlightCell) {
426
- adaptable.refreshCells([rowNode], [actionTyped.alert.dataChangedInfo.column.columnId], true);
427
- }
428
- if (actionTyped.alert.alertDefinition.AlertProperties.HighlightRow) {
429
- adaptable.api.gridApi.refreshRowNode(rowNode);
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 (!((_e = adaptable.adaptableOptions.layoutOptions) === null || _e === void 0 ? void 0 : _e.autoSaveLayouts)) {
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 (!((_f = adaptable.adaptableOptions.layoutOptions) === null || _f === void 0 ? void 0 : _f.autoSaveLayouts)) {
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,] = adaptable.api.internalApi
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,] = adaptable.api.internalApi
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,] = adaptable.api.internalApi
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
- protected handleDataSourceChanged(dataChangedInfo: DataChangedInfo): void;
17
+ private handleCellDataChanged;
18
+ private handleGridDataChanged;
19
19
  private handleReactiveAlertTriggered;
20
20
  private showAlertForDefinitions;
21
- private getAlertDefinitionsForDataChange;
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.handleDataSourceChanged(dataChangedInfo);
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 currentAlerts = this.api.internalApi
91
- .getAdaptableAlerts()
92
- .filter((a) => { var _a; return a.dataChangedInfo && ((_a = a.alertDefinition.AlertProperties) === null || _a === void 0 ? void 0 : _a.HighlightCell); });
93
- if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(currentAlerts)) {
94
- let relevantAlert = currentAlerts.find((a) => this.api.scopeApi.isColumnInScope(menuContext.adaptableColumn, a.alertDefinition.Scope) && a.dataChangedInfo.rowNode == menuContext.rowNode);
95
- if (relevantAlert) {
96
- items.push(this.createColumnMenuItemReduxAction('Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
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
- handleDataSourceChanged(dataChangedInfo) {
104
- const alertDefinitions = this.getAlertDefinitionsForDataChange(dataChangedInfo);
105
- if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(alertDefinitions)) {
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.CreateAlert(dataChangedInfo.column.friendlyName, this.api.alertApi.getAlertDescription(alertDefinition, dataChangedInfo), alertDefinition, dataChangedInfo);
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
- getAlertDefinitionsForDataChange(dataChangedEvent) {
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 if (this.isAlertPredicateTriggered(alertDefinition, dataChangedEvent, defaultNoPredicateReturn)) {
155
- triggeredAlerts.push(alertDefinition);
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'),
@@ -126,6 +126,7 @@ exports.DefaultAdaptableOptions = {
126
126
  },
127
127
  layoutOptions: {
128
128
  includeExpandedRowGroups: false,
129
+ displayRowGroups: 'closed',
129
130
  autoSaveLayouts: true,
130
131
  autoSizeColumnsInLayout: false,
131
132
  autoSizeColumnsInPivotLayout: false,
@@ -1,6 +1,6 @@
1
1
  import { AdaptableSettingsPanel } from '../../PredefinedConfig/Common/Types';
2
2
  import { AdaptableModule } from '../../types';
3
- export declare const ACTION_POPUPS: AdaptableModule[];
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.ACTION_POPUPS = void 0;
4
- exports.ACTION_POPUPS = ['BulkUpdate', 'SmartEdit', 'CellSummary'];
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 { AdaptableAlert } from '../PredefinedConfig/Common/AdaptableAlert';
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 CreateEmptyAlert(): AdaptableAlert;
37
- export declare function CreateAlert(alertHeader: string, alertMessage: string, alertDefinition: AlertDefinition, dataChangedInfo?: DataChangedInfo): AdaptableAlert;
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
- CreateEmptyAlert: typeof CreateEmptyAlert;
76
- CreateAlert: typeof CreateAlert;
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;