@adaptabletools/adaptable 15.0.2 → 15.1.0-canary.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 (116) hide show
  1. package/bundle.cjs.js +185 -181
  2. package/package.json +3 -3
  3. package/publishTimestamp.d.ts +1 -1
  4. package/publishTimestamp.js +1 -1
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -1
  6. package/src/AdaptableOptions/FilterOptions.d.ts +7 -0
  7. package/src/AdaptableOptions/GeneralOptions.d.ts +4 -0
  8. package/src/AdaptableOptions/SearchOptions.d.ts +8 -0
  9. package/src/AdaptableOptions/TeamSharingOptions.d.ts +7 -0
  10. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +5 -5
  11. package/src/Api/GridApi.d.ts +14 -6
  12. package/src/Api/Implementation/ActionApiImpl.js +3 -4
  13. package/src/Api/Implementation/AdaptableApiImpl.d.ts +4 -0
  14. package/src/Api/Implementation/AdaptableApiImpl.js +12 -0
  15. package/src/Api/Implementation/AlertApiImpl.js +23 -24
  16. package/src/Api/Implementation/ApiBase.d.ts +4 -0
  17. package/src/Api/Implementation/ApiBase.js +14 -3
  18. package/src/Api/Implementation/CalculatedColumnApiImpl.js +8 -9
  19. package/src/Api/Implementation/CellSummaryApiImpl.js +1 -1
  20. package/src/Api/Implementation/ChartingApiImpl.js +1 -1
  21. package/src/Api/Implementation/ColumnApiImpl.js +31 -32
  22. package/src/Api/Implementation/CustomSortApiImpl.js +5 -6
  23. package/src/Api/Implementation/DashboardApiImpl.js +3 -3
  24. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +1 -1
  25. package/src/Api/Implementation/DataSetApiImpl.js +3 -3
  26. package/src/Api/Implementation/ExportApiImpl.js +7 -8
  27. package/src/Api/Implementation/FilterApiImpl.js +15 -16
  28. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -3
  29. package/src/Api/Implementation/FormatColumnApiImpl.js +18 -18
  30. package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -10
  31. package/src/Api/Implementation/GridApiImpl.d.ts +7 -2
  32. package/src/Api/Implementation/GridApiImpl.js +52 -13
  33. package/src/Api/Implementation/LayoutApiImpl.js +11 -12
  34. package/src/Api/Implementation/PlusMinusApiImpl.js +1 -1
  35. package/src/Api/Implementation/PredicateApiImpl.js +8 -9
  36. package/src/Api/Implementation/QueryApiImpl.js +5 -5
  37. package/src/Api/Implementation/QueryLanguageApiImpl.js +5 -6
  38. package/src/Api/Implementation/QuickSearchApiImpl.js +1 -1
  39. package/src/Api/Implementation/ScheduleApiImpl.js +17 -17
  40. package/src/Api/Implementation/SettingsPanelApiImpl.js +3 -4
  41. package/src/Api/Implementation/ShortcutApiImpl.js +5 -5
  42. package/src/Api/Implementation/SmartEditApiImpl.js +1 -1
  43. package/src/Api/Implementation/StyledColumnApiImpl.js +4 -4
  44. package/src/Api/Implementation/SystemStatusApiImpl.js +2 -2
  45. package/src/Api/Implementation/TeamSharingApiImpl.js +11 -12
  46. package/src/Api/Implementation/ThemeApiImpl.js +4 -4
  47. package/src/Api/Implementation/UserInterfaceApiImpl.js +2 -2
  48. package/src/Api/Internal/AdaptableInternalApi.js +1 -2
  49. package/src/Api/Internal/ChartingInternalApi.js +1 -2
  50. package/src/Api/Internal/GridInternalApi.js +11 -1
  51. package/src/Api/Internal/QueryInternalApi.js +1 -2
  52. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +4 -4
  53. package/src/Redux/Store/AdaptableReduxMerger.js +1 -2
  54. package/src/Redux/Store/AdaptableStore.js +16 -15
  55. package/src/Strategy/AlertModule.js +1 -0
  56. package/src/Strategy/CalculatedColumnModule.js +2 -3
  57. package/src/Strategy/CustomSortModule.d.ts +1 -0
  58. package/src/Strategy/CustomSortModule.js +1 -0
  59. package/src/Strategy/DashboardModule.js +1 -2
  60. package/src/Strategy/DataChangeHistoryModule.js +1 -2
  61. package/src/Strategy/FilterModule.js +1 -2
  62. package/src/Strategy/FlashingCellModule.js +1 -0
  63. package/src/Strategy/FormatColumnModule.js +2 -2
  64. package/src/Strategy/Interface/IModule.d.ts +6 -0
  65. package/src/Strategy/PlusMinusModule.js +1 -0
  66. package/src/Strategy/ScheduleModule.js +21 -0
  67. package/src/Strategy/ShortcutModule.js +1 -0
  68. package/src/Strategy/StyledColumnModule.js +2 -2
  69. package/src/Strategy/ToolPanelModule.js +2 -3
  70. package/src/Strategy/Utilities/Alert/getAlertBehaviourViewItems.d.ts +3 -8
  71. package/src/Strategy/Utilities/getObjectTagsViewItems.js +27 -2
  72. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +3 -0
  73. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +2 -2
  74. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  75. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +104 -42
  76. package/src/Utilities/Extensions/NumberExtensions.d.ts +2 -0
  77. package/src/Utilities/Extensions/NumberExtensions.js +6 -1
  78. package/src/Utilities/Helpers/AdaptableHelper.js +1 -2
  79. package/src/Utilities/Helpers/DateHelper.js +2 -2
  80. package/src/Utilities/Helpers/Helper.js +3 -3
  81. package/src/Utilities/Services/AggregatedScalarLiveValue.js +3 -4
  82. package/src/Utilities/Services/AlertService.js +1 -2
  83. package/src/Utilities/Services/CalculatedColumnExpressionService.js +3 -4
  84. package/src/Utilities/Services/DataService.js +1 -2
  85. package/src/Utilities/Services/LicenseService/index.js +1 -1
  86. package/src/Utilities/Services/MetamodelService.js +3 -4
  87. package/src/Utilities/Services/QueryLanguageService.js +1 -2
  88. package/src/Utilities/logDeprecation.d.ts +4 -3
  89. package/src/Utilities/logDeprecation.js +6 -7
  90. package/src/View/Charting/useChartState.js +1 -2
  91. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
  92. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +9 -2
  93. package/src/View/Dashboard/Dashboard.js +1 -2
  94. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  95. package/src/View/StateManagement/handleExportState.js +1 -2
  96. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +1 -2
  97. package/src/View/TeamSharing/SharedEntityObjectView.d.ts +3 -0
  98. package/src/View/Theme/ThemePopup.d.ts +1 -1
  99. package/src/View/Theme/ThemePopup.js +17 -3
  100. package/src/agGrid/Adaptable.d.ts +3 -1
  101. package/src/agGrid/Adaptable.js +94 -50
  102. package/src/agGrid/AdaptableLogger.d.ts +26 -0
  103. package/src/agGrid/AdaptableLogger.js +148 -0
  104. package/src/agGrid/agGridHelper.js +7 -8
  105. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -2
  106. package/src/components/OverlayTrigger/index.js +1 -2
  107. package/src/components/SelectableList/index.js +0 -2
  108. package/src/components/icons/index.js +2 -2
  109. package/src/metamodel/adaptable.metamodel.js +1 -1
  110. package/src/parser/src/evaluator.js +3 -1
  111. package/src/parser/src/parser.js +496 -453
  112. package/src/parser/src/types.d.ts +1 -1
  113. package/version.d.ts +1 -1
  114. package/version.js +1 -1
  115. package/src/Utilities/Helpers/LoggingHelper.d.ts +0 -15
  116. package/src/Utilities/Helpers/LoggingHelper.js +0 -111
@@ -36,7 +36,6 @@ const StatusBarRedux = tslib_1.__importStar(require("../ActionsReducers/StatusBa
36
36
  const ChartingRedux = tslib_1.__importStar(require("../ActionsReducers/ChartingRedux"));
37
37
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
38
38
  const ConfigConstants = tslib_1.__importStar(require("../../Utilities/Constants/ConfigConstants"));
39
- const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
40
39
  const ObjectFactory_1 = require("../../Utilities/ObjectFactory");
41
40
  const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
42
41
  const PreviewHelper_1 = require("../../Utilities/Helpers/PreviewHelper");
@@ -107,7 +106,7 @@ class AdaptableStore {
107
106
  // END STATE LOAD
108
107
  this.loadStorageInProgress = false;
109
108
  }, (e) => {
110
- (0, LoggingHelper_1.LogAdaptableError)('Failed to load previous Adaptable State : ', e);
109
+ adaptable.logger.error('Failed to load previous Adaptable State : ', e);
111
110
  //for now i'm still initializing Adaptable even if loading state has failed....
112
111
  //we may revisit that later
113
112
  this.TheStore.dispatch((0, exports.InitState)());
@@ -169,12 +168,12 @@ class AdaptableStore {
169
168
  Object.keys(State).forEach((key) => {
170
169
  // this check should be removed in version 12 !!!
171
170
  if (key === 'Chart') {
172
- (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: AdapTable Charts Plugin is deprecated! AG Grid built-in charts are fully supported & integrated in AdapTable.
171
+ adaptable.logger.consoleWarn(`DEPRECATED: AdapTable Charts Plugin is deprecated! AG Grid built-in charts are fully supported & integrated in AdapTable.
173
172
 
174
173
  Please contact 'support@adaptabletools.com' if you require any charting features that are not currently available.`);
175
174
  }
176
175
  if (key === 'SparklineColumn') {
177
- (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: AdapTable SparklineColumn is deprecated! AG Grid built-in Sparklines are fully supported & integrated in AdapTable.
176
+ adaptable.logger.consoleWarn(`DEPRECATED: AdapTable SparklineColumn is deprecated! AG Grid built-in Sparklines are fully supported & integrated in AdapTable.
178
177
 
179
178
  Please contact 'support@adaptabletools.com' if you require any sparklines features that are not currently available.`);
180
179
  }
@@ -189,7 +188,6 @@ class AdaptableStore {
189
188
  // If the user has remote storage set then we use Remote Engine, otherwise we use Local Enginge
190
189
  // not sure we can do this as we need to be backwardly compatible with existing users so need to stick with adaptable id (which should be unique)
191
190
  // const localStorageKey = 'adaptable-adaptable-state-' + adaptable.adaptableOptions.primaryKey;
192
- const predefinedConfig = adaptable.adaptableOptions.predefinedConfig;
193
191
  storageEngine = (0, AdaptableReduxLocalStorageEngine_1.createEngine)({
194
192
  adaptableId: adaptable.adaptableOptions.adaptableId,
195
193
  adaptableStateKey: adaptable.adaptableOptions.adaptableStateKey,
@@ -753,7 +751,9 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
753
751
  let returnAction;
754
752
  // needs to be called before 'next' so previous and next column filters are known
755
753
  const shouldTriggerGridFiltering = adaptable.api.filterApi.internalApi.shouldNewColumnFilterTriggerGridFiltering(action);
756
- if ((_g = adaptable.adaptableOptions.layoutOptions) === null || _g === void 0 ? void 0 : _g.autoSaveLayouts) {
754
+ const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
755
+ if (((_g = adaptable.adaptableOptions.layoutOptions) === null || _g === void 0 ? void 0 : _g.autoSaveLayouts) &&
756
+ !currentLayout.IsReadOnly) {
757
757
  returnAction = next(action);
758
758
  }
759
759
  else {
@@ -1193,7 +1193,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1193
1193
  middlewareAPI.dispatch(TeamSharingRedux.TeamSharingSet(sharedEntities));
1194
1194
  })
1195
1195
  .catch((error) => {
1196
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing get error : ' + error.message);
1196
+ adaptable.logger.error('TeamSharing get error : ' + error.message);
1197
1197
  middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
1198
1198
  alertType: 'generic',
1199
1199
  header: 'Team Sharing',
@@ -1234,11 +1234,11 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1234
1234
  })
1235
1235
  .then(() => {
1236
1236
  if (shareSuccessful) {
1237
- (0, LoggingHelper_1.LogAdaptableInfo)(`Custom Shared Object '${Configuration.Name}' Shared Successfully`);
1237
+ adaptable.logger.info(`Custom Shared Object '${Configuration.Name}' Shared Successfully`);
1238
1238
  }
1239
1239
  })
1240
1240
  .catch((error) => {
1241
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing share error : ' + error.message, actionTyped.Entity);
1241
+ adaptable.logger.error('TeamSharing share error : ' + error.message, actionTyped.Entity);
1242
1242
  });
1243
1243
  return returnAction;
1244
1244
  }
@@ -1291,7 +1291,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1291
1291
  }
1292
1292
  })
1293
1293
  .catch((error) => {
1294
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing share error : ' + error.message, actionTyped.Entity);
1294
+ adaptable.logger.error('TeamSharing share error : ' + error.message, actionTyped.Entity);
1295
1295
  middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
1296
1296
  alertType: 'generic',
1297
1297
  header: 'Team Sharing',
@@ -1334,7 +1334,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1334
1334
  return adaptable.api.teamSharingApi.persistSharedEntities(newSharedEntities);
1335
1335
  })
1336
1336
  .catch((error) => {
1337
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing remove error : ' + error.message);
1337
+ adaptable.logger.error('TeamSharing remove error : ' + error.message);
1338
1338
  middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
1339
1339
  alertType: 'generic',
1340
1340
  header: 'Team Sharing',
@@ -1355,7 +1355,8 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1355
1355
  .getTeamSharingService()
1356
1356
  .buildSharedEntityImportActions(actionTyped.SharedEntity);
1357
1357
  const processImportAction = TeamSharingRedux.TeamSharingProcessImport(importStepActions);
1358
- if (needsOverwriteConfirmation) {
1358
+ if (needsOverwriteConfirmation &&
1359
+ !adaptable.api.optionsApi.getTeamSharingOptions().suppressOverrideConfigWarning) {
1359
1360
  let confirmation = {
1360
1361
  CancelButtonText: 'Cancel Import',
1361
1362
  Header: 'Overwriting Existing Object',
@@ -1391,7 +1392,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1391
1392
  }
1392
1393
  }
1393
1394
  else {
1394
- (0, LoggingHelper_1.LogAdaptableError)('Team Sharing Import Error: Unknown item type', sharedEntity);
1395
+ adaptable.logger.error('Team Sharing Import Error: Unknown item type', sharedEntity);
1395
1396
  }
1396
1397
  }
1397
1398
  if (activeSharedEntities.length) {
@@ -1440,7 +1441,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1440
1441
  return adaptable.api.teamSharingApi.persistSharedEntities(updatedSharedEntities);
1441
1442
  })
1442
1443
  .catch((error) => {
1443
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing update active item error : ' + error.message);
1444
+ adaptable.logger.error('TeamSharing update active item error : ' + error.message);
1444
1445
  middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
1445
1446
  alertType: 'generic',
1446
1447
  header: 'Team Sharing',
@@ -1460,7 +1461,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
1460
1461
  adaptable.api.internalApi.getTeamSharingService().showUpdateNotifications();
1461
1462
  })
1462
1463
  .catch((error) => {
1463
- (0, LoggingHelper_1.LogAdaptableError)('TeamSharing update error : ' + error.message);
1464
+ adaptable.logger.error('TeamSharing update error : ' + error.message);
1464
1465
  middlewareAPI.dispatch(PopupRedux.PopupShowAlert({
1465
1466
  alertType: 'generic',
1466
1467
  header: 'Team Sharing',
@@ -244,6 +244,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
244
244
  getViewProperties() {
245
245
  return {
246
246
  getDeleteAction: AlertRedux.AlertDefinitionDelete,
247
+ getEditAction: AlertRedux.AlertDefinitionEdit,
247
248
  getSuspendAction: AlertRedux.AlertDefinitionSuspend,
248
249
  getUnSuspendAction: AlertRedux.AlertDefinitionUnSuspend,
249
250
  getSuspendAllAction: AlertRedux.AlertDefinitionSuspendAll,
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const CalculatedColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/CalculatedColumnRedux"));
8
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
9
8
  const getExpressionViewItems_1 = require("./Utilities/getExpressionViewItems");
10
9
  const CalculatedColumnWizard_1 = require("../View/CalculatedColumn/Wizard/CalculatedColumnWizard");
11
10
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
@@ -32,14 +31,14 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
32
31
  };
33
32
  cc.ColumnExpression = undefined;
34
33
  oldCalculatedColumns.push(cc);
35
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
34
+ this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
36
35
  }
37
36
  if (!cc.CalculatedColumnSettings) {
38
37
  cc.CalculatedColumnSettings = {
39
38
  DataType: 'Number',
40
39
  };
41
40
  oldCalculatedColumns.push(cc);
42
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
41
+ this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
43
42
  }
44
43
  });
45
44
  oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
@@ -20,6 +20,7 @@ export declare class CustomSortModule extends AdaptableModuleBase implements IMo
20
20
  toView(customSort: CustomSort): AdaptableObjectView;
21
21
  toViewAll(): AdaptableObjectView[];
22
22
  getViewProperties(): {
23
+ getEditAction: (customSort: CustomSort) => CustomSortRedux.CustomSortEditAction;
23
24
  getDeleteAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
24
25
  getSuspendAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
25
26
  getUnSuspendAction: (customSort: CustomSort) => CustomSortRedux.CustomSortDeleteAction;
@@ -67,6 +67,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
67
67
  }
68
68
  getViewProperties() {
69
69
  return {
70
+ getEditAction: CustomSortRedux.CustomSortEdit,
70
71
  getDeleteAction: CustomSortRedux.CustomSortDelete,
71
72
  getSuspendAction: CustomSortRedux.CustomSortSuspend,
72
73
  getUnSuspendAction: CustomSortRedux.CustomSortUnSuspend,
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const DashboardRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/DashboardRedux"));
8
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
9
8
  class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
10
9
  constructor(api) {
11
10
  super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
@@ -13,7 +12,7 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
13
12
  updateOldConfig() {
14
13
  let dashboardState = this.api.dashboardApi.getDashboardState();
15
14
  if (dashboardState.VisibleButtons) {
16
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
15
+ this.api.logWarn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
17
16
  this.api.dashboardApi.setModuleButtons(dashboardState.VisibleButtons);
18
17
  }
19
18
  }
@@ -7,7 +7,6 @@ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/Mod
7
7
  const SystemRedux_1 = require("../Redux/ActionsReducers/SystemRedux");
8
8
  const DataChangeHistoryStatusBarContent_1 = require("../View/DataChangeHistory/DataChangeHistoryStatusBarContent");
9
9
  const core_1 = require("@ag-grid-community/core");
10
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
11
10
  class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
12
11
  constructor(api) {
13
12
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'track-changes', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
@@ -27,7 +26,7 @@ class DataChangeHistoryModule extends AdaptableModuleBase_1.AdaptableModuleBase
27
26
  .getAdaptableInstance()
28
27
  .isAgGridModulePresent(core_1.ModuleNames.ClientSideRowModelModule);
29
28
  if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
30
- (0, LoggingHelper_1.LogAdaptableWarning)(`Data Change History is NOT available due to missing required AG Grid module: ${core_1.ModuleNames.ClientSideRowModelModule}`);
29
+ this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${core_1.ModuleNames.ClientSideRowModelModule}`);
31
30
  }
32
31
  return isAdaptableModuleAvailable && isAgGridModuleAvailable;
33
32
  }
@@ -7,7 +7,6 @@ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/Mod
7
7
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
8
8
  const LayoutRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/LayoutRedux"));
9
9
  const SystemRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/SystemRedux"));
10
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
11
10
  const FilterStatusBarSubPanelPopover_1 = require("../View/Filter/FilterStatusBarSubPanelPopover");
12
11
  class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
13
12
  constructor(api) {
@@ -29,7 +28,7 @@ class FilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
29
28
  const columnFilters = this.api.filterApi.getColumnFilters();
30
29
  columnFilters.forEach((cf) => {
31
30
  if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
32
- (0, LoggingHelper_1.LogAdaptableError)('Column Filter contains missing column: ' + cf.ColumnId);
31
+ this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
33
32
  }
34
33
  });
35
34
  }
@@ -252,6 +252,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
252
252
  }
253
253
  getViewProperties() {
254
254
  return {
255
+ getEditAction: FlashingCellRedux.FlashingCellDefinitionEdit,
255
256
  getSuspendAction: FlashingCellRedux.FlashingCellDefinitionSuspend,
256
257
  getUnSuspendAction: FlashingCellRedux.FlashingCellDefinitionUnSuspend,
257
258
  getSuspendAllAction: FlashingCellRedux.FlashingCellDefinitionSuspendAll,
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const FormatColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/FormatColumnRedux"));
8
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
9
8
  const FormatColumnWizard_1 = require("../View/FormatColumn/Wizard/FormatColumnWizard");
10
9
  const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
11
10
  const FormatColumnFormatWizardSection_1 = require("../View/FormatColumn/Wizard/FormatColumnFormatWizardSection");
@@ -94,7 +93,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
94
93
  if (!(oldConditionalStyles === null || oldConditionalStyles === void 0 ? void 0 : oldConditionalStyles.length)) {
95
94
  return;
96
95
  }
97
- (0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: Conditional Styles have been merged into 'Format Columns'`);
96
+ this.api.logWarn(`DEPRECATED: Conditional Styles have been merged into 'Format Columns'`);
98
97
  // remove conditional styles
99
98
  this.api.internalApi.deleteConditionalStyles(oldConditionalStyles);
100
99
  const transformedFormatColumns = oldConditionalStyles.map((conditionalStyle) => {
@@ -159,6 +158,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
159
158
  getViewProperties() {
160
159
  return {
161
160
  actions: [MoveFormatColumn_1.MoveFormatColumn],
161
+ getEditAction: FormatColumnRedux.FormatColumnEdit,
162
162
  getDeleteAction: FormatColumnRedux.FormatColumnDelete,
163
163
  getSuspendAction: FormatColumnRedux.FormatColumnSuspend,
164
164
  getUnSuspendAction: FormatColumnRedux.FormatColumnUnSuspend,
@@ -44,6 +44,11 @@ export interface AdaptableObjectItemView {
44
44
  */
45
45
  view?: React.FunctionComponent<React.PropsWithChildren<{
46
46
  data: AdaptableObject | SuspendableObject;
47
+ module?: IModule;
48
+ }>> | React.ReactElement;
49
+ viewAfter?: React.FunctionComponent<React.PropsWithChildren<{
50
+ data: AdaptableObject | SuspendableObject;
51
+ module?: IModule;
47
52
  }>> | React.ReactElement;
48
53
  /**
49
54
  * Values used for the component.
@@ -96,6 +101,7 @@ export interface AdaptableModuleView {
96
101
  getUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
97
102
  getCompactSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
98
103
  getCompactUnSuspendAction?: (abObject: AdaptableObject) => Redux.Action;
104
+ getEditAction?: (abObject: AdaptableObject) => Redux.Action;
99
105
  getSuspendAllAction?: () => Redux.Action;
100
106
  getUnSuspendAllAction?: () => Redux.Action;
101
107
  getDeleteAllAction?: () => Redux.Action;
@@ -207,6 +207,7 @@ class PlusMinusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
207
207
  }
208
208
  getViewProperties() {
209
209
  return {
210
+ getEditAction: PlusMinusRedux.PlusMinusNudgeEdit,
210
211
  getDeleteAction: PlusMinusRedux.PlusMinusNudgeDelete,
211
212
  getSuspendAction: PlusMinusRedux.PlusMinusNudgeSuspend,
212
213
  getUnSuspendAction: PlusMinusRedux.PlusMinusNudgeUnSuspend,
@@ -196,6 +196,27 @@ class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
196
196
  }
197
197
  return {
198
198
  abObjectTypes,
199
+ getEditAction: (schedule) => {
200
+ let editAction = null;
201
+ switch (schedule.ScheduleType) {
202
+ case Enums_1.ScheduleType.Reminder:
203
+ editAction = ScheduleRedux.ReminderScheduleEdit(schedule);
204
+ break;
205
+ case Enums_1.ScheduleType.Report:
206
+ editAction = ScheduleRedux.ReportScheduleEdit(schedule);
207
+ break;
208
+ case Enums_1.ScheduleType.ipushpull:
209
+ editAction = ScheduleRedux.IPushPullScheduleEdit(schedule);
210
+ break;
211
+ case Enums_1.ScheduleType.Glue42:
212
+ editAction = ScheduleRedux.Glue42ScheduleEdit(schedule);
213
+ break;
214
+ case Enums_1.ScheduleType.OpenFin:
215
+ editAction = ScheduleRedux.OpenFinScheduleEdit(schedule);
216
+ break;
217
+ }
218
+ return editAction;
219
+ },
199
220
  getDeleteAction: (schedule) => {
200
221
  let deleteAction = null;
201
222
  switch (schedule.ScheduleType) {
@@ -89,6 +89,7 @@ class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
89
89
  }
90
90
  getViewProperties() {
91
91
  return {
92
+ getEditAction: ShortcutRedux.ShortcutEdit,
92
93
  getDeleteAction: ShortcutRedux.ShortcutDelete,
93
94
  getSuspendAction: ShortcutRedux.ShortcutSuspend,
94
95
  getUnSuspendAction: ShortcutRedux.ShortcutUnSuspend,
@@ -8,7 +8,6 @@ const StyledColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers
8
8
  const StyledColumnWizard_1 = require("../View/StyledColumn/Wizard/StyledColumnWizard");
9
9
  const StyledColumnWizardStyleSection_1 = require("../View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection");
10
10
  const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
11
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
12
11
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
13
12
  class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
13
  constructor(api) {
@@ -43,7 +42,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
43
42
  if (!formatColumnsWithColumnStyles.length) {
44
43
  return;
45
44
  }
46
- (0, LoggingHelper_1.ConsoleLogInfo)(`Converting ${formatColumnsWithColumnStyles.length} FormatColumns Styles to Styled Columns`, formatColumnsWithColumnStyles);
45
+ this.api.logInfo(`Converting ${formatColumnsWithColumnStyles.length} FormatColumns Styles to Styled Columns`, formatColumnsWithColumnStyles);
47
46
  formatColumnsWithColumnStyles.forEach((formatColumn) => {
48
47
  this.api.formatColumnApi.deleteFormatColumn(formatColumn);
49
48
  });
@@ -208,6 +207,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
208
207
  }
209
208
  getViewProperties() {
210
209
  return {
210
+ getEditAction: StyledColumnRedux.StyledColumnEdit,
211
211
  getDeleteAction: StyledColumnRedux.StyledColumnDelete,
212
212
  getSuspendAction: StyledColumnRedux.StyledColumnSuspend,
213
213
  getUnSuspendAction: StyledColumnRedux.StyledColumnUnSuspend,
@@ -6,7 +6,6 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const Types_1 = require("../PredefinedConfig/Common/Types");
8
8
  const ToolPanelRedux_1 = require("../Redux/ActionsReducers/ToolPanelRedux");
9
- const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
10
9
  class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
10
  constructor(api) {
12
11
  super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'tool-panel', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
@@ -20,7 +19,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
20
19
  updateOldConfig() {
21
20
  const deprecatedToolPanelConfigs = this.api.toolPanelApi.getToolPanelState().VisibleToolPanels;
22
21
  if (deprecatedToolPanelConfigs === null || deprecatedToolPanelConfigs === void 0 ? void 0 : deprecatedToolPanelConfigs.length) {
23
- (0, LoggingHelper_1.LogAdaptableWarning)(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
22
+ this.api.logWarn(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
24
23
  const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
25
24
  Name: toolPanel,
26
25
  State: 'collapsed',
@@ -29,7 +28,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
29
28
  }
30
29
  else if (!this.api.toolPanelApi.getToolPanelState().ToolPanels) {
31
30
  // no predefined config provided, we will display all the panels collapsed (custom & module)
32
- (0, LoggingHelper_1.LogAdaptableInfo)(`No predefined ToolPanels provided, displaying all available ones (custom&system)`);
31
+ this.api.logInfo(`No predefined ToolPanels provided, displaying all available ones (custom&system)`);
33
32
  const defaultConfig = [];
34
33
  this.api.toolPanelApi
35
34
  .getCustomToolPanels()
@@ -1,8 +1,3 @@
1
- import * as React from 'react';
2
- import { AdaptableApi, AlertDefinition } from '../../../types';
3
- export declare const getAlertBehaviourViewItems: (api: AdaptableApi) => {
4
- name: string;
5
- view: React.FunctionComponent<React.PropsWithChildren<{
6
- data: AlertDefinition;
7
- }>>;
8
- };
1
+ import { AdaptableApi } from '../../../types';
2
+ import { AdaptableObjectItemView } from '../../Interface/IModule';
3
+ export declare const getAlertBehaviourViewItems: (api: AdaptableApi) => AdaptableObjectItemView;
@@ -1,14 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getObjectTagsViewItems = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
7
+ const react_redux_1 = require("react-redux");
4
8
  const getObjectTagsViewItems = (object, api) => {
5
- var _a, _b;
9
+ var _a, _b, _c, _d;
6
10
  if (!api.internalApi.shouldDisplayTagSections() || !((_a = object === null || object === void 0 ? void 0 : object.Tags) === null || _a === void 0 ? void 0 : _a.length)) {
7
11
  return;
8
12
  }
13
+ const currentLayoutName = api.layoutApi.getCurrentLayoutName();
14
+ const hasCurrentLayoutAsTag = (_c = ((_b = object === null || object === void 0 ? void 0 : object.Tags) !== null && _b !== void 0 ? _b : [])) === null || _c === void 0 ? void 0 : _c.includes(currentLayoutName);
9
15
  return {
10
16
  name: 'Tags',
11
- values: (_b = object === null || object === void 0 ? void 0 : object.Tags) === null || _b === void 0 ? void 0 : _b.map((tag) => api.internalApi.getLabelForTag(tag)),
17
+ values: (_d = object === null || object === void 0 ? void 0 : object.Tags) === null || _d === void 0 ? void 0 : _d.map((tag) => api.internalApi.getLabelForTag(tag)),
18
+ viewAfter: (props) => {
19
+ const dispatch = (0, react_redux_1.useDispatch)();
20
+ const viewOptions = props.module.getViewProperties();
21
+ const handleToggleTag = react_1.default.useCallback(() => {
22
+ var _a;
23
+ let tags = (_a = props.data.Tags) !== null && _a !== void 0 ? _a : [];
24
+ if (hasCurrentLayoutAsTag) {
25
+ // remove layout
26
+ tags = tags.filter((tag) => tag !== currentLayoutName);
27
+ }
28
+ else {
29
+ tags.push(currentLayoutName);
30
+ }
31
+ const newObject = Object.assign(Object.assign({}, props.data), { Tags: tags });
32
+ const editAction = viewOptions.getEditAction(newObject);
33
+ dispatch(editAction);
34
+ }, [hasCurrentLayoutAsTag, props.data]);
35
+ return (react_1.default.createElement(SimpleButton_1.default, { onClick: handleToggleTag, mt: 1, icon: hasCurrentLayoutAsTag ? 'minus' : 'plus' }, hasCurrentLayoutAsTag ? 'Remove from Layout' : 'Add to Layout'));
36
+ },
12
37
  };
13
38
  };
14
39
  exports.getObjectTagsViewItems = getObjectTagsViewItems;
@@ -214,9 +214,11 @@ exports.DefaultAdaptableOptions = {
214
214
  showSuspendFilterButton: false,
215
215
  quickFilterWildcards: {},
216
216
  quickFilterDebounce: 250,
217
+ showValuesCount: undefined,
217
218
  },
218
219
  searchOptions: {
219
220
  excludeColumnFromQuickSearch: undefined,
221
+ runQuickSearchOnRowGroups: false,
220
222
  clearSearchesOnStartUp: false,
221
223
  quickSearchPlaceholder: 'Search',
222
224
  filterResultsAfterQuickSearch: false,
@@ -237,6 +239,7 @@ exports.DefaultAdaptableOptions = {
237
239
  saveSharedEntities: (sharedEntities) => sharedEntities,
238
240
  updateInterval: 0,
239
241
  updateNotification: undefined,
242
+ suppressOverrideConfigWarning: false,
240
243
  },
241
244
  userInterfaceOptions: {
242
245
  applicationIcon: undefined,
@@ -17,7 +17,7 @@ exports.booleanExpressionFunctions = {
17
17
  category: 'logical',
18
18
  returnType: 'boolean',
19
19
  signatures: ['TRUE'],
20
- examples: ['TRUE'],
20
+ examples: ['[column] = TRUE'],
21
21
  },
22
22
  FALSE: {
23
23
  handler: () => {
@@ -27,7 +27,7 @@ exports.booleanExpressionFunctions = {
27
27
  category: 'logical',
28
28
  returnType: 'boolean',
29
29
  signatures: ['FALSE'],
30
- examples: ['FALSE'],
30
+ examples: ['[column] = FALSE'],
31
31
  },
32
32
  AND: {
33
33
  handler(args) {
@@ -2,6 +2,6 @@ import { ExpressionFunction } from '../../parser/src/types';
2
2
  /**
3
3
  * List of all the Scalar Functions available in AdaptableQL
4
4
  */
5
- export declare type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'TODAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK';
5
+ export declare type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'ABS' | 'CEILING' | 'FLOOR' | 'ROUND' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'TODAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'NULL' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK';
6
6
  export declare const scalarExpressionFunctions: Record<ScalarFunctionName, ExpressionFunction>;
7
7
  export declare const scalarExpressionFunctionNames: ScalarFunctionName[];