@adaptabletools/adaptable 11.1.15 → 11.1.16

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 (146) hide show
  1. package/base.css +2 -0
  2. package/bundle.cjs.js +94 -94
  3. package/index.css +3 -0
  4. package/package.json +1 -1
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableOptions/AlertOptions.d.ts +8 -2
  8. package/src/AdaptableOptions/DashboardOptions.d.ts +4 -3
  9. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  10. package/src/AdaptableOptions/FilterOptions.d.ts +5 -4
  11. package/src/AdaptableOptions/LayoutOptions.d.ts +56 -10
  12. package/src/AdaptableOptions/ToolPanelOptions.d.ts +4 -3
  13. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +18 -16
  14. package/src/Api/AdaptableApi.d.ts +10 -0
  15. package/src/Api/ConfigApi.d.ts +3 -3
  16. package/src/Api/EventApi.d.ts +1 -0
  17. package/src/Api/Events/LayoutChanged.d.ts +1 -1
  18. package/src/Api/ExportApi.d.ts +16 -0
  19. package/src/Api/FinanceApi.d.ts +104 -3
  20. package/src/Api/Implementation/AdaptableApiImpl.d.ts +6 -0
  21. package/src/Api/Implementation/AdaptableApiImpl.js +53 -0
  22. package/src/Api/Implementation/AlertApiImpl.js +5 -5
  23. package/src/Api/Implementation/ApiBase.js +3 -0
  24. package/src/Api/Implementation/ConditionalStyleApiImpl.js +3 -3
  25. package/src/Api/Implementation/ConfigApiImpl.js +5 -1
  26. package/src/Api/Implementation/CustomSortApiImpl.js +4 -4
  27. package/src/Api/Implementation/EventApiImpl.d.ts +1 -0
  28. package/src/Api/Implementation/EventApiImpl.js +3 -0
  29. package/src/Api/Implementation/ExportApiImpl.d.ts +3 -0
  30. package/src/Api/Implementation/ExportApiImpl.js +10 -0
  31. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -1
  32. package/src/Api/Implementation/FlashingCellApiImpl.js +7 -6
  33. package/src/Api/Implementation/FormatColumnApiImpl.js +5 -5
  34. package/src/Api/Implementation/InternalApiImpl.d.ts +11 -5
  35. package/src/Api/Implementation/InternalApiImpl.js +65 -3
  36. package/src/Api/Implementation/PlusMinusApiImpl.js +4 -7
  37. package/src/Api/Implementation/ScheduleApiImpl.d.ts +2 -1
  38. package/src/Api/Implementation/ScheduleApiImpl.js +15 -7
  39. package/src/Api/Implementation/ShortcutApiImpl.js +3 -3
  40. package/src/Api/InternalApi.d.ts +11 -7
  41. package/src/Api/LayoutApi.d.ts +4 -6
  42. package/src/Api/ScheduleApi.d.ts +5 -1
  43. package/src/PredefinedConfig/AlertState.d.ts +3 -3
  44. package/src/PredefinedConfig/Common/AdaptableButton.d.ts +2 -5
  45. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +4 -3
  46. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +18 -1
  47. package/src/PredefinedConfig/Common/AdaptablePredicate.js +9 -0
  48. package/src/PredefinedConfig/Common/BaseContext.d.ts +10 -0
  49. package/src/PredefinedConfig/Common/BaseContext.js +2 -0
  50. package/src/PredefinedConfig/Common/CellSummary.d.ts +3 -3
  51. package/src/PredefinedConfig/Common/FDC3Context.d.ts +9 -9
  52. package/src/PredefinedConfig/Common/Menu.d.ts +4 -13
  53. package/src/PredefinedConfig/DataSourceState.d.ts +2 -2
  54. package/src/PredefinedConfig/FilterState.d.ts +1 -1
  55. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -5
  56. package/src/Redux/Store/AdaptableStore.d.ts +1 -0
  57. package/src/Redux/Store/AdaptableStore.js +6 -1
  58. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +1 -0
  59. package/src/Strategy/AlertModule.js +3 -0
  60. package/src/Strategy/CalculatedColumnModule.d.ts +3 -17
  61. package/src/Strategy/CalculatedColumnModule.js +2 -0
  62. package/src/Strategy/ConditionalStyleModule.js +4 -1
  63. package/src/Strategy/CustomSortModule.js +2 -0
  64. package/src/Strategy/DataSourceModule.js +2 -0
  65. package/src/Strategy/ExportModule.d.ts +5 -3
  66. package/src/Strategy/ExportModule.js +10 -0
  67. package/src/Strategy/FlashingCellModule.js +2 -0
  68. package/src/Strategy/FormatColumnModule.js +2 -0
  69. package/src/Strategy/FreeTextColumnModule.js +2 -0
  70. package/src/Strategy/Interface/IModule.d.ts +5 -3
  71. package/src/Strategy/Interface/IScheduleModule.d.ts +1 -1
  72. package/src/Strategy/LayoutModule.d.ts +2 -1
  73. package/src/Strategy/LayoutModule.js +35 -2
  74. package/src/Strategy/PlusMinusModule.js +7 -4
  75. package/src/Strategy/QueryModule.d.ts +2 -8
  76. package/src/Strategy/QueryModule.js +2 -0
  77. package/src/Strategy/ScheduleModule.d.ts +4 -3
  78. package/src/Strategy/ScheduleModule.js +4 -2
  79. package/src/Strategy/ShortcutModule.js +6 -1
  80. package/src/Strategy/StatusBarModule.d.ts +2 -1
  81. package/src/Strategy/StatusBarModule.js +2 -3
  82. package/src/Strategy/Utilities/getObjectTagsViewItems.d.ts +4 -0
  83. package/src/Strategy/Utilities/getObjectTagsViewItems.js +13 -0
  84. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +2 -1
  85. package/src/Utilities/Emitter.d.ts +1 -0
  86. package/src/Utilities/Emitter.js +9 -0
  87. package/src/Utilities/Extensions/TypeExtensions.d.ts +2 -0
  88. package/src/Utilities/Interface/MessagePopups.d.ts +3 -3
  89. package/src/Utilities/ObjectFactory.d.ts +2 -2
  90. package/src/Utilities/Services/AlertService.js +1 -1
  91. package/src/Utilities/Services/DataService.js +1 -1
  92. package/src/Utilities/Services/Interface/IModuleService.d.ts +1 -1
  93. package/src/Utilities/Services/ModuleService.d.ts +1 -1
  94. package/src/Utilities/Services/ModuleService.js +1 -0
  95. package/src/View/Alert/AlertStatusSubPanel.js +2 -1
  96. package/src/View/Alert/Wizard/AlertWizard.js +9 -0
  97. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +9 -0
  98. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -0
  99. package/src/View/Components/FilterForm/FilterForm.js +1 -1
  100. package/src/View/Components/FilterForm/QuickFilterForm.js +11 -7
  101. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  102. package/src/View/Components/Popups/AdaptableToaster.js +3 -1
  103. package/src/View/Components/Popups/FormPopups/FormPopups.d.ts +3 -3
  104. package/src/View/Components/TagValueSelector/index.d.ts +13 -0
  105. package/src/View/Components/TagValueSelector/index.js +22 -0
  106. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +9 -0
  107. package/src/View/CustomSort/Wizard/CustomSortWizard.js +9 -0
  108. package/src/View/DataSource/Wizard/DataSourceSettingsWizard.js +1 -1
  109. package/src/View/DataSource/Wizard/DataSourceWizard.js +10 -0
  110. package/src/View/Export/ExportSelector.d.ts +4 -0
  111. package/src/View/Export/ExportSelector.js +75 -0
  112. package/src/View/Export/ExportViewPanel.js +6 -7
  113. package/src/View/Export/ReportExportDropdown.d.ts +2 -5
  114. package/src/View/Export/Wizard/NewReportWizard.js +9 -0
  115. package/src/View/Export/constants.d.ts +2 -0
  116. package/src/View/Export/constants.js +5 -0
  117. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +9 -0
  118. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +9 -0
  119. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +9 -0
  120. package/src/View/GridInfo/GridOptionsComponent.d.ts +0 -1
  121. package/src/View/GridInfo/GridOptionsComponent.js +0 -1
  122. package/src/View/Layout/LayoutCloneButton.d.ts +6 -0
  123. package/src/View/Layout/LayoutCloneButton.js +15 -0
  124. package/src/View/Layout/LayoutRadioSelector.d.ts +2 -1
  125. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  126. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +6 -1
  127. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
  128. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +9 -0
  129. package/src/View/Query/Wizard/NamedQueryWizard.js +9 -0
  130. package/src/View/Schedule/Wizard/ScheduleWizard.js +10 -0
  131. package/src/View/Shortcut/Wizard/ShortcutWizard.js +10 -0
  132. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  133. package/src/View/Wizard/ObjectTagsWizardSection.d.ts +8 -0
  134. package/src/View/Wizard/ObjectTagsWizardSection.js +22 -0
  135. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -0
  136. package/src/View/Wizard/OnePageAdaptableWizard.js +12 -5
  137. package/src/agGrid/Adaptable.d.ts +12 -0
  138. package/src/agGrid/Adaptable.js +80 -45
  139. package/src/agGrid/createAgStatusPanelComponent.js +1 -0
  140. package/src/components/AdaptableFormComponent/AdaptableFormComponent.d.ts +8 -7
  141. package/src/components/ExpressionEditor/index.js +5 -2
  142. package/src/metamodel/adaptable.metamodel.d.ts +44 -2
  143. package/src/metamodel/adaptable.metamodel.js +222 -21
  144. package/src/types.d.ts +6 -5
  145. package/version.d.ts +1 -1
  146. package/version.js +1 -1
@@ -21,20 +21,20 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
21
21
  return (_a = alertForms.find((f) => f.name === name)) === null || _a === void 0 ? void 0 : _a.form;
22
22
  }
23
23
  getAlertDefinitions() {
24
- return this.getAlertState().AlertDefinitions;
24
+ var _a, _b;
25
+ return ((_b = (_a = this.getAlertState().AlertDefinitions) === null || _a === void 0 ? void 0 : _a.filter((alertDefinition) => this.adaptable.api.internalApi.isObjectAvailableInLayout(alertDefinition, 'Alert'))) !== null && _b !== void 0 ? _b : []);
25
26
  }
26
27
  getAlertDefinitionById(id) {
27
- var _a;
28
- return (_a = this.getAlertDefinitions()) === null || _a === void 0 ? void 0 : _a.find((alert) => (alert === null || alert === void 0 ? void 0 : alert.Uuid) === id);
28
+ return this.getAlertDefinitions().find((alert) => (alert === null || alert === void 0 ? void 0 : alert.Uuid) === id);
29
29
  }
30
30
  getNonReactiveAlertDefinitions() {
31
- return this.getAlertState().AlertDefinitions.filter((alertDef) => !AdaptableQuery_1.isReactiveQuery(alertDef.Rule));
31
+ return this.getAlertDefinitions().filter((alertDef) => !AdaptableQuery_1.isReactiveQuery(alertDef.Rule));
32
32
  }
33
33
  getActiveNonReactiveAlertDefinitions() {
34
34
  return this.getNonReactiveAlertDefinitions().filter((alertDef) => !alertDef.IsSuspended);
35
35
  }
36
36
  getReactiveAlertDefinitions() {
37
- return this.getAlertState().AlertDefinitions.filter((alertDef) => AdaptableQuery_1.isReactiveQuery(alertDef.Rule));
37
+ return this.getAlertDefinitions().filter((alertDef) => AdaptableQuery_1.isReactiveQuery(alertDef.Rule));
38
38
  }
39
39
  getActiveReactiveAlertDefinitions() {
40
40
  return this.getReactiveAlertDefinitions().filter((alertDef) => !alertDef.IsSuspended);
@@ -42,6 +42,9 @@ class ApiBase {
42
42
  * @param action the Redux Action to be dispatched
43
43
  */
44
44
  dispatchAction(action) {
45
+ if (this.adaptable.isDestroyed) {
46
+ return;
47
+ }
45
48
  this.adaptable.adaptableStore.TheStore.dispatch(action);
46
49
  }
47
50
  /**
@@ -10,14 +10,14 @@ class ConditionalStyleApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().ConditionalStyle;
11
11
  }
12
12
  getAllConditionalStyle() {
13
- return this.getConditionalStyleState().ConditionalStyles;
13
+ var _a, _b;
14
+ return ((_b = (_a = this.getConditionalStyleState().ConditionalStyles) === null || _a === void 0 ? void 0 : _a.filter((conditionalStyle) => this.adaptable.api.internalApi.isObjectAvailableInLayout(conditionalStyle, 'ConditionalStyle'))) !== null && _b !== void 0 ? _b : []);
14
15
  }
15
16
  getAllActiveConditionalStyle() {
16
17
  return this.getAllConditionalStyle().filter((style) => !style.IsSuspended);
17
18
  }
18
19
  getConditionalStyleById(id) {
19
- var _a;
20
- return (_a = this.getAllConditionalStyle()) === null || _a === void 0 ? void 0 : _a.find((conditionalStyle) => (conditionalStyle === null || conditionalStyle === void 0 ? void 0 : conditionalStyle.Uuid) === id);
20
+ return this.getAllConditionalStyle().find((conditionalStyle) => (conditionalStyle === null || conditionalStyle === void 0 ? void 0 : conditionalStyle.Uuid) === id);
21
21
  }
22
22
  getAllSuspendedConditionalStyle() {
23
23
  return this.getAllConditionalStyle().filter((style) => style.IsSuspended);
@@ -79,7 +79,11 @@ class ConfigApiImpl extends ApiBase_1.ApiBase {
79
79
  return Object.values(this.getPersistedState());
80
80
  }
81
81
  loadUserState(state) {
82
- this.reloadPredefinedConfig(state);
82
+ const adaptableOptions = this.adaptable.adaptableOptions;
83
+ this.setAdaptableStateKey(adaptableOptions.adaptableStateKey, {
84
+ predefinedConfig: state || adaptableOptions.predefinedConfig,
85
+ flushCurrentState: false,
86
+ });
83
87
  }
84
88
  getAdaptableSearchState() {
85
89
  const currentQuery = this.adaptable.api.queryApi.getCurrentQuery();
@@ -10,11 +10,11 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().CustomSort;
11
11
  }
12
12
  getAllCustomSort() {
13
- return this.getAdaptableState().CustomSort.CustomSorts;
13
+ var _a, _b;
14
+ return ((_b = (_a = this.getCustomSortState().CustomSorts) === null || _a === void 0 ? void 0 : _a.filter((customSort) => this.adaptable.api.internalApi.isObjectAvailableInLayout(customSort, 'CustomSort'))) !== null && _b !== void 0 ? _b : []);
14
15
  }
15
16
  getCustomSortById(id) {
16
- var _a;
17
- return (_a = this.getAllCustomSort()) === null || _a === void 0 ? void 0 : _a.find((customSort) => customSort.Uuid === id);
17
+ return this.getAllCustomSort().find((customSort) => customSort.Uuid === id);
18
18
  }
19
19
  getAllActiveCustomSort() {
20
20
  return this.getAllCustomSort().filter((customSort) => !customSort.IsSuspended);
@@ -23,7 +23,7 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
23
23
  return this.getAllCustomSort().filter((customSort) => customSort.IsSuspended);
24
24
  }
25
25
  getCustomSortByColumn(column) {
26
- return this.getAdaptableState().CustomSort.CustomSorts.find((cs) => cs.ColumnId == column);
26
+ return this.getAllCustomSort().find((cs) => cs.ColumnId == column);
27
27
  }
28
28
  addCustomSort(customSort) {
29
29
  this.addUidToAdaptableObject(customSort);
@@ -5,6 +5,7 @@ import { EmitterCallback } from '../../Utilities/Emitter';
5
5
  export declare class EventApiImpl extends ApiBase implements EventApi {
6
6
  private emitter;
7
7
  constructor(adaptable: IAdaptable);
8
+ destroy(): void;
8
9
  on: (eventName: string, callback: EmitterCallback) => (() => void);
9
10
  off: (eventName: string, callback: EmitterCallback) => void;
10
11
  emit: (eventName: string, data?: any) => Promise<any>;
@@ -23,5 +23,8 @@ class EventApiImpl extends ApiBase_1.ApiBase {
23
23
  this.emitSync = (eventName, data) => this.emitter.emitSync(eventName, data);
24
24
  this.emitter = new Emitter_1.default();
25
25
  }
26
+ destroy() {
27
+ this.emitter.destroy();
28
+ }
26
29
  }
27
30
  exports.EventApiImpl = EventApiImpl;
@@ -12,11 +12,14 @@ export declare class ExportApiImpl extends ApiBase implements ExportApi {
12
12
  getReportByName(reportName: string): Report | undefined;
13
13
  getReportById(id: Report['Uuid']): Report;
14
14
  getDestinationByName(destinationName: ExportDestination | string): ExportDestination | CustomDestination | undefined;
15
+ getCurrentDestination(): ExportDestination | CustomDestination;
15
16
  getAvailableSystemReports(): SystemReportNames;
16
17
  getAvailableExportDestinations(): ExportDestination[];
17
18
  getAllReports(): Report[];
18
19
  getReportSchedules(): ReportSchedule[];
19
20
  sendReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
21
+ selectReport(reportName: string): void;
22
+ selectDestination(destinationName: string): void;
20
23
  getAllCustomDestination(): CustomDestination[];
21
24
  isExportDestinationCustom(destinationName: string): boolean;
22
25
  getExportDestinationForm(destinationName: string): AdaptableForm<ExportButtonContext> | undefined;
@@ -37,6 +37,10 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
37
37
  }
38
38
  return this.getAllCustomDestination().find((destination) => destination.name === destinationName);
39
39
  }
40
+ getCurrentDestination() {
41
+ const currentDestination = this.getExportState().CurrentDestination;
42
+ return currentDestination && this.getDestinationByName(currentDestination);
43
+ }
40
44
  getAvailableSystemReports() {
41
45
  return this.getExportOptions().systemReportNames.filter((s) => this.adaptable.api.internalApi.getReportService().IsSystemReportActive(s));
42
46
  }
@@ -65,6 +69,12 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
65
69
  this.dispatchAction(ExportRedux.ExportApply(report, destination));
66
70
  }
67
71
  }
72
+ selectReport(reportName) {
73
+ this.dispatchAction(ExportRedux.ReportSelect(reportName));
74
+ }
75
+ selectDestination(destinationName) {
76
+ this.dispatchAction(ExportRedux.DestinationSelect(destinationName));
77
+ }
68
78
  getAllCustomDestination() {
69
79
  var _a;
70
80
  return (_a = this.getExportOptions().customDestinations) !== null && _a !== void 0 ? _a : [];
@@ -6,8 +6,8 @@ import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePr
6
6
  import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
7
7
  export declare class FlashingCellApiImpl extends ApiBase implements FlashingCellApi {
8
8
  getFlashingCellState(): FlashingCellState;
9
- mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
10
9
  getFlashingCellDefinitions(): FlashingCellDefinition[];
10
+ mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
11
11
  getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
12
12
  getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
13
13
  getFlashingCellFlashTarget(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition['FlashTarget'];
@@ -9,6 +9,13 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
9
9
  getFlashingCellState() {
10
10
  return this.getAdaptableState().FlashingCell;
11
11
  }
12
+ getFlashingCellDefinitions() {
13
+ var _a, _b;
14
+ const flashingCellDefinitions = (_b = (_a = this.getFlashingCellState().FlashingCellDefinitions) === null || _a === void 0 ? void 0 : _a.filter((flashingCellDefinition) => this.adaptable.api.internalApi.isObjectAvailableInLayout(flashingCellDefinition, 'FlashingCell'))) !== null && _b !== void 0 ? _b : [];
15
+ return flashingCellDefinitions.map((flashingCellDefinition) => {
16
+ return this.mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition);
17
+ });
18
+ }
12
19
  mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition) {
13
20
  const flashingDefaults = this.adaptable.adaptableOptions.flashingCellOptions;
14
21
  if (!flashingDefaults) {
@@ -31,12 +38,6 @@ class FlashingCellApiImpl extends ApiBase_1.ApiBase {
31
38
  }
32
39
  return flashingCellDefinition;
33
40
  }
34
- getFlashingCellDefinitions() {
35
- const flashingCellDefinitions = this.getFlashingCellState().FlashingCellDefinitions;
36
- return flashingCellDefinitions.map((flashingCellDefinition) => {
37
- return this.mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition);
38
- });
39
- }
40
41
  getFlashingCellDefinitionById(id) {
41
42
  var _a;
42
43
  return (_a = this.getFlashingCellDefinitions()) === null || _a === void 0 ? void 0 : _a.find((fc) => (fc === null || fc === void 0 ? void 0 : fc.Uuid) === id);
@@ -13,11 +13,11 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
13
13
  return this.getAdaptableState().FormatColumn;
14
14
  }
15
15
  getAllFormatColumn() {
16
- return this.getAdaptableState().FormatColumn.FormatColumns;
16
+ var _a, _b;
17
+ return ((_b = (_a = this.getFormatColumnState().FormatColumns) === null || _a === void 0 ? void 0 : _a.filter((formatColumn) => this.adaptable.api.internalApi.isObjectAvailableInLayout(formatColumn, 'FormatColumn'))) !== null && _b !== void 0 ? _b : []);
17
18
  }
18
19
  getFormatColumnById(id) {
19
- var _a;
20
- return (_a = this.getAllFormatColumn()) === null || _a === void 0 ? void 0 : _a.find((formatColumn) => formatColumn.Uuid === id);
20
+ return this.getAllFormatColumn().find((formatColumn) => formatColumn.Uuid === id);
21
21
  }
22
22
  getAllActiveFormatColumn() {
23
23
  return this.getAllFormatColumn().filter((formatColumn) => !formatColumn.IsSuspended);
@@ -57,10 +57,10 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
57
57
  return returnValues;
58
58
  }
59
59
  getAllFormatColumnWithDisplayFormat() {
60
- return this.getAdaptableState().FormatColumn.FormatColumns.filter((fc) => fc.DisplayFormat != null);
60
+ return this.getAllFormatColumn().filter((fc) => fc.DisplayFormat != null);
61
61
  }
62
62
  getAllFormatColumnWithCellAlignment() {
63
- return this.getAdaptableState().FormatColumn.FormatColumns.filter((fc) => fc.CellAlignment != null);
63
+ return this.getAllFormatColumn().filter((fc) => fc.CellAlignment != null);
64
64
  }
65
65
  addFormatColumn(formatColumn) {
66
66
  this.addUidToAdaptableObject(formatColumn);
@@ -11,7 +11,7 @@ import { SelectedRowInfo } from '../../PredefinedConfig/Selection/SelectedRowInf
11
11
  import { AdaptableModule, AdaptableQLModule } from '../../PredefinedConfig/Common/Types';
12
12
  import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
13
13
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
14
- import { AdaptableCellChangedAlert, AdaptableOptions, AdaptableRowChangedAlert, AdaptableState, AlertButtonContext, Layout, SystemStatusMessageInfo } from '../../types';
14
+ import { AdaptableCellChangedAlert, AdaptableOptions, AdaptableRowChangedAlert, AdaptableState, AlertButtonContext, BaseContext, Layout, LayoutAssociatedObject, SystemStatusMessageInfo } from '../../types';
15
15
  import { IValidationService } from '../../Utilities/Services/Interface/IValidationService';
16
16
  import { IModuleService } from '../../Utilities/Services/Interface/IModuleService';
17
17
  import { IReportService } from '../../Utilities/Services/Interface/IReportService';
@@ -27,13 +27,14 @@ import { RowNode } from '@ag-grid-community/all-modules';
27
27
  import { ITeamSharingService } from '../../Utilities/Services/Interface/ITeamSharingService';
28
28
  import { ColumnValuesComparer } from '../../AdaptableOptions/GeneralOptions';
29
29
  import { ButtonStyle } from '../../PredefinedConfig/Common/ButtonStyle';
30
- import { AdaptableButton, ButtonContext } from '../../PredefinedConfig/Common/AdaptableButton';
30
+ import { AdaptableButton } from '../../PredefinedConfig/Common/AdaptableButton';
31
31
  import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
32
32
  import { AlertButtonForm, AlertDefinition } from '../../PredefinedConfig/AlertState';
33
33
  import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
34
34
  import { AdaptableFrameworkComponent } from '../../AdaptableOptions/AdaptableFrameworkComponent';
35
35
  import { IMetamodelService } from '../../Utilities/Services/Interface/IMetamodelService';
36
36
  import { IModuleCollection } from '../../Strategy/Interface/IModule';
37
+ import { AdaptableObjectTag } from '../../PredefinedConfig/Common/AdaptableObject';
37
38
  export declare class InternalApiImpl extends ApiBase implements InternalApi {
38
39
  getSystemState(): SystemState;
39
40
  getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): (Omit<AdaptableForm<AlertButtonContext>, 'buttons'> & {
@@ -107,9 +108,9 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
107
108
  clearGradientColumnState(): void;
108
109
  clearPercentBarState(): void;
109
110
  getCustomSortComparer(column: AdaptableColumn): ColumnValuesComparer | undefined;
110
- getLabelForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): string | undefined;
111
- getTooltipForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): string | undefined;
112
- getStyleForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): ButtonStyle | undefined;
111
+ getLabelForButton(button: AdaptableButton<BaseContext>, context: BaseContext): string | undefined;
112
+ getTooltipForButton(button: AdaptableButton<BaseContext>, context: BaseContext): string | undefined;
113
+ getStyleForButton(button: AdaptableButton<BaseContext>, context: BaseContext): ButtonStyle | undefined;
113
114
  isDocumentationLinksDisplayed(): boolean;
114
115
  getQueryPreviewData(): any;
115
116
  waitForTeamSharingImportEnd(): Promise<boolean>;
@@ -121,5 +122,10 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
121
122
  executeWithProgressIndicator(label: string, executeFn: () => void): void;
122
123
  hideProgressIndicator(): void;
123
124
  getCorrectEnglishVariant(wordToSpell: string): string;
125
+ isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule): boolean;
126
+ shouldDisplayTagSections(): boolean;
127
+ getAvailableTags(): AdaptableObjectTag[] | undefined;
128
+ private getObjectTags;
129
+ private getLayoutTags;
124
130
  dispatchReduxAction(action: Action): void;
125
131
  }
@@ -117,10 +117,14 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
117
117
  const { AdaptableFlashingCells: AdaptableFlashingAlerts, AdaptableFlashingCellsMap: AdaptableFlashingAlertsMap, } = this.getSystemState();
118
118
  const forPrimaryKey = (_a = AdaptableFlashingAlerts[primaryKey]) !== null && _a !== void 0 ? _a : {};
119
119
  const toFlashingAlert = (uuid) => { var _a; return uuid ? (_a = AdaptableFlashingAlertsMap[uuid]) !== null && _a !== void 0 ? _a : null : null; };
120
- if (!columnId) {
121
- return toFlashingAlert(forPrimaryKey[SystemRedux_1.FLASHING_CELL_ROW_KEY]);
120
+ const adaptableFlashingCell = columnId
121
+ ? toFlashingAlert(forPrimaryKey[columnId])
122
+ : toFlashingAlert(forPrimaryKey[SystemRedux_1.FLASHING_CELL_ROW_KEY]);
123
+ if ((adaptableFlashingCell === null || adaptableFlashingCell === void 0 ? void 0 : adaptableFlashingCell.flashingCellDefinition) &&
124
+ !this.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell')) {
125
+ return;
122
126
  }
123
- return toFlashingAlert(forPrimaryKey[columnId]);
127
+ return adaptableFlashingCell;
124
128
  }
125
129
  addSystemStatusMessageInfo(systemStatusMessageInfo) {
126
130
  const maxMessagesInStore = this.getNotificationsOptions().maxSystemMessagesInStore;
@@ -465,6 +469,64 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
465
469
  }
466
470
  return wordToSpell;
467
471
  }
472
+ isObjectAvailableInLayout(object, module) {
473
+ if (!this.adaptable.adaptableOptions.layoutOptions.isObjectAvailableInLayout) {
474
+ return true;
475
+ }
476
+ const context = {
477
+ object,
478
+ module,
479
+ layout: this.adaptable.api.layoutApi.getCurrentLayout(),
480
+ adaptableApi: this.adaptable.api,
481
+ };
482
+ return this.adaptable.adaptableOptions.layoutOptions.isObjectAvailableInLayout(context);
483
+ }
484
+ shouldDisplayTagSections() {
485
+ return this.getAvailableTags() != undefined;
486
+ }
487
+ getAvailableTags() {
488
+ const layoutTags = this.getLayoutTags();
489
+ const objectTags = this.getObjectTags();
490
+ if (!layoutTags && !objectTags) {
491
+ return;
492
+ }
493
+ return [...(layoutTags || []), ...(objectTags || [])];
494
+ }
495
+ getObjectTags() {
496
+ if (!this.adaptable.adaptableOptions.userInterfaceOptions.objectTags) {
497
+ return;
498
+ }
499
+ if (Array.isArray(this.adaptable.adaptableOptions.userInterfaceOptions.objectTags)) {
500
+ return this.adaptable.adaptableOptions.userInterfaceOptions.objectTags;
501
+ }
502
+ if (typeof this.adaptable.adaptableOptions.userInterfaceOptions.objectTags === 'function') {
503
+ // sanitize the provided tags, just to be sure that the user does NOT break the UI
504
+ return this.adaptable.adaptableOptions.userInterfaceOptions
505
+ .objectTags(this.adaptable.api)
506
+ .filter((tag) => (tag === null || tag === void 0 ? void 0 : tag.value) != undefined && (tag === null || tag === void 0 ? void 0 : tag.label) != undefined);
507
+ }
508
+ }
509
+ getLayoutTags() {
510
+ if (!this.adaptable.adaptableOptions.layoutOptions.autoGenerateTagsForLayouts) {
511
+ return;
512
+ }
513
+ if (this.adaptable.adaptableOptions.layoutOptions.autoGenerateTagsForLayouts === true) {
514
+ return this.adaptable.api.layoutApi.getAllLayout().map((layout) => {
515
+ return {
516
+ label: layout.Name,
517
+ value: layout.Name,
518
+ };
519
+ });
520
+ }
521
+ if (typeof this.adaptable.adaptableOptions.layoutOptions.autoGenerateTagsForLayouts === 'function') {
522
+ const customGeneratedTags = this.adaptable.adaptableOptions.layoutOptions.autoGenerateTagsForLayouts({
523
+ layouts: this.adaptable.api.layoutApi.getAllLayout(),
524
+ adaptableApi: this.adaptable.api,
525
+ });
526
+ // sanitize the provided tags, just to be sure that the user does NOT break the UI
527
+ return customGeneratedTags.filter((tag) => (tag === null || tag === void 0 ? void 0 : tag.value) != undefined && (tag === null || tag === void 0 ? void 0 : tag.label) != undefined);
528
+ }
529
+ }
468
530
  // General way to get to store from inside Adaptable...
469
531
  dispatchReduxAction(action) {
470
532
  this.dispatchAction(action);
@@ -10,15 +10,12 @@ class PlusMinusApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().PlusMinus;
11
11
  }
12
12
  getAllPlusMinus() {
13
- let returnvalue = [];
14
- // get with expressions
15
- returnvalue.push(...this.getPlusMinusState().PlusMinusNudges.filter((p) => { var _a; return ((_a = p.Rule) === null || _a === void 0 ? void 0 : _a.BooleanExpression) != undefined; }));
16
- returnvalue.push(...this.getPlusMinusState().PlusMinusNudges.filter((p) => p.Rule == undefined));
17
- return returnvalue;
13
+ var _a, _b;
14
+ const layoutSpecificPlusMinusNudges = (_b = (_a = this.getPlusMinusState().PlusMinusNudges) === null || _a === void 0 ? void 0 : _a.filter((plusMinusNudge) => this.adaptable.api.internalApi.isObjectAvailableInLayout(plusMinusNudge, 'PlusMinus'))) !== null && _b !== void 0 ? _b : [];
15
+ return layoutSpecificPlusMinusNudges.filter((plusMinusNudge) => plusMinusNudge.Rule == undefined || plusMinusNudge.Rule.BooleanExpression != undefined);
18
16
  }
19
17
  getPlusMinusById(id) {
20
- var _a;
21
- return (_a = this.getAllPlusMinus()) === null || _a === void 0 ? void 0 : _a.find((plusMinus) => (plusMinus === null || plusMinus === void 0 ? void 0 : plusMinus.Uuid) === id);
18
+ return this.getAllPlusMinus().find((plusMinus) => (plusMinus === null || plusMinus === void 0 ? void 0 : plusMinus.Uuid) === id);
22
19
  }
23
20
  getAllActivePlusMinus() {
24
21
  return this.getAllPlusMinus().filter((plusMinusNudge) => !plusMinusNudge.IsSuspended);
@@ -5,8 +5,9 @@ import { ReportSchedule } from '../../PredefinedConfig/ExportState';
5
5
  import { Glue42Schedule } from '../../PredefinedConfig/Glue42State';
6
6
  import { IPushPullSchedule } from '../../PredefinedConfig/IPushPullState';
7
7
  import { OpenFinSchedule } from '../../PredefinedConfig/OpenFinState';
8
- import { ReminderSchedule } from '../../PredefinedConfig/ScheduleState';
8
+ import { ReminderSchedule, ScheduleState } from '../../PredefinedConfig/ScheduleState';
9
9
  export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
10
+ getScheduleState(): ScheduleState;
10
11
  getAllSchedule(): BaseSchedule[];
11
12
  getAllReminderSchedule(): ReminderSchedule[];
12
13
  getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
@@ -6,6 +6,9 @@ const ApiBase_1 = require("./ApiBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
7
7
  const ScheduleRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/ScheduleRedux"));
8
8
  class ScheduleApiImpl extends ApiBase_1.ApiBase {
9
+ getScheduleState() {
10
+ return this.getAdaptableState().Schedule;
11
+ }
9
12
  getAllSchedule() {
10
13
  let allSchedules = [];
11
14
  allSchedules.push(...this.getAllReminderSchedule());
@@ -16,11 +19,11 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
16
19
  return allSchedules;
17
20
  }
18
21
  getAllReminderSchedule() {
19
- return this.getAdaptableState().Schedule.Reminders;
22
+ var _a, _b;
23
+ return ((_b = (_a = this.getScheduleState().Reminders) === null || _a === void 0 ? void 0 : _a.filter((schedule) => this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
20
24
  }
21
25
  getScheduleById(id) {
22
- var _a;
23
- return (_a = this.getAllSchedule()) === null || _a === void 0 ? void 0 : _a.find((schedule) => (schedule === null || schedule === void 0 ? void 0 : schedule.Uuid) === id);
26
+ return this.getAllSchedule().find((schedule) => (schedule === null || schedule === void 0 ? void 0 : schedule.Uuid) === id);
24
27
  }
25
28
  getAllActiveReminderSchedule() {
26
29
  return this.getAllReminderSchedule().filter((schedule) => !schedule.IsSuspended);
@@ -48,7 +51,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
48
51
  return this.getScheduleById(schedule.Uuid);
49
52
  }
50
53
  getAllReportSchedule() {
51
- return this.adaptable.api.exportApi.getReportSchedules();
54
+ var _a, _b;
55
+ return ((_b = (_a = this.adaptable.api.exportApi
56
+ .getReportSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
52
57
  }
53
58
  getAllActiveReportSchedule() {
54
59
  return this.getAllReportSchedule().filter((schedule) => !schedule.IsSuspended);
@@ -76,8 +81,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
76
81
  return this.getScheduleById(schedule.Uuid);
77
82
  }
78
83
  getAllIPushPullSchedule() {
84
+ var _a, _b;
79
85
  const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
80
- return ippApi ? ippApi.getIPushPullSchedules() : [];
86
+ return ((_b = (_a = ippApi === null || ippApi === void 0 ? void 0 : ippApi.getIPushPullSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
81
87
  }
82
88
  getAllActiveIPushPullSchedule() {
83
89
  return this.getAllIPushPullSchedule().filter((schedule) => !schedule.IsSuspended);
@@ -105,8 +111,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
105
111
  return this.getScheduleById(schedule.Uuid);
106
112
  }
107
113
  getAllGlue42Schedule() {
114
+ var _a, _b;
108
115
  const glue42Api = this.adaptable.api.pluginsApi.getGlue42PluginApi();
109
- return glue42Api ? glue42Api.getGlue42Schedules() : [];
116
+ return ((_b = (_a = glue42Api === null || glue42Api === void 0 ? void 0 : glue42Api.getGlue42Schedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
110
117
  }
111
118
  getAllActiveGlue42Schedule() {
112
119
  return this.getAllGlue42Schedule().filter((schedule) => !schedule.IsSuspended);
@@ -134,8 +141,9 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
134
141
  return this.getScheduleById(schedule.Uuid);
135
142
  }
136
143
  getAllOpenFinSchedule() {
144
+ var _a, _b;
137
145
  const openFinApi = this.adaptable.api.pluginsApi.getOpenFinPluginApi();
138
- return openFinApi ? openFinApi.getOpenFinSchedules() : [];
146
+ return ((_b = (_a = openFinApi === null || openFinApi === void 0 ? void 0 : openFinApi.getOpenFinSchedules()) === null || _a === void 0 ? void 0 : _a.filter((schedule) => this.adaptable.api.internalApi.isObjectAvailableInLayout(schedule, 'Schedule'))) !== null && _b !== void 0 ? _b : []);
139
147
  }
140
148
  getAllActiveOpenFinSchedule() {
141
149
  return this.getAllOpenFinSchedule().filter((schedule) => !schedule.IsSuspended);
@@ -10,11 +10,11 @@ class ShortcutApiImpl extends ApiBase_1.ApiBase {
10
10
  return this.getAdaptableState().Shortcut;
11
11
  }
12
12
  getAllShortcut() {
13
- return this.getAdaptableState().Shortcut.Shortcuts;
13
+ var _a, _b;
14
+ return ((_b = (_a = this.getShortcutState().Shortcuts) === null || _a === void 0 ? void 0 : _a.filter((shortcut) => this.adaptable.api.internalApi.isObjectAvailableInLayout(shortcut, 'Shortcut'))) !== null && _b !== void 0 ? _b : []);
14
15
  }
15
16
  getShortcutById(id) {
16
- var _a;
17
- return (_a = this.getAllShortcut()) === null || _a === void 0 ? void 0 : _a.find((shortcut) => (shortcut === null || shortcut === void 0 ? void 0 : shortcut.Uuid) === id);
17
+ return this.getAllShortcut().find((shortcut) => (shortcut === null || shortcut === void 0 ? void 0 : shortcut.Uuid) === id);
18
18
  }
19
19
  getAllActiveShortcut() {
20
20
  return this.getAllShortcut().filter((shortcut) => !shortcut.IsSuspended);
@@ -17,14 +17,14 @@ import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
17
17
  import { Layout } from '../PredefinedConfig/LayoutState';
18
18
  import { AdaptableAlert, AdaptableCellChangedAlert, AdaptableRowChangedAlert } from '../PredefinedConfig/Common/AdaptableAlert';
19
19
  import { IDataService } from '../Utilities/Services/Interface/IDataService';
20
- import { AdaptableMessageType, AlertDefinition, CellDataChangedInfo, SystemStatusMessageInfo } from '../types';
20
+ import { AdaptableMessageType, AlertDefinition, BaseContext, CellDataChangedInfo, LayoutAssociatedObject, SystemStatusMessageInfo } from '../types';
21
21
  import { IEntitlementService } from '../Utilities/Services/Interface/IEntitlementService';
22
22
  import { AdaptableFlashingCell } from '../PredefinedConfig/Common/AdaptableFlashingCell';
23
23
  import { IQueryLanguageService } from '../Utilities/Services/Interface/IQueryLanguageService';
24
24
  import { IAlertService } from '../Utilities/Services/Interface/IAlertService';
25
25
  import { AdaptableState } from '../PredefinedConfig/AdaptableState';
26
26
  import { ITeamSharingService } from '../Utilities/Services/Interface/ITeamSharingService';
27
- import { AdaptableButton, ButtonContext } from '../PredefinedConfig/Common/AdaptableButton';
27
+ import { AdaptableButton } from '../PredefinedConfig/Common/AdaptableButton';
28
28
  import { ColumnValuesComparer } from '../AdaptableOptions/GeneralOptions';
29
29
  import { ButtonStyle } from '../PredefinedConfig/Common/ButtonStyle';
30
30
  import { AdaptableForm } from '../PredefinedConfig/Common/AdaptableForm';
@@ -33,6 +33,7 @@ import { AdaptableFrameworkComponent } from '../AdaptableOptions/AdaptableFramew
33
33
  import { IMetamodelService } from '../Utilities/Services/Interface/IMetamodelService';
34
34
  import { RowNode } from '@ag-grid-community/all-modules';
35
35
  import { IModuleCollection } from '../Strategy/Interface/IModule';
36
+ import { AdaptableObjectTag } from '../PredefinedConfig/Common/AdaptableObject';
36
37
  /**
37
38
  * This set of api methods is designed for **internal use of Adaptable** only.
38
39
  *
@@ -40,8 +41,8 @@ import { IModuleCollection } from '../Strategy/Interface/IModule';
40
41
  */
41
42
  export interface InternalApi {
42
43
  getSystemState(): SystemState;
43
- getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): Omit<AdaptableForm<ButtonContext>, 'buttons'> & {
44
- buttons?: (Omit<AdaptableButton<ButtonContext>, 'buttonStyle'> & {
44
+ getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): Omit<AdaptableForm<BaseContext>, 'buttons'> & {
45
+ buttons?: (Omit<AdaptableButton<BaseContext>, 'buttonStyle'> & {
45
46
  buttonStyle?: ButtonStyle;
46
47
  })[];
47
48
  };
@@ -111,9 +112,9 @@ export interface InternalApi {
111
112
  clearUpdatedRowState(): void;
112
113
  clearGradientColumnState(): void;
113
114
  clearPercentBarState(): void;
114
- getLabelForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): string | undefined;
115
- getTooltipForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): string | undefined;
116
- getStyleForButton(button: AdaptableButton<ButtonContext>, context: ButtonContext): ButtonStyle | undefined;
115
+ getLabelForButton(button: AdaptableButton<BaseContext>, context: BaseContext): string | undefined;
116
+ getTooltipForButton(button: AdaptableButton<BaseContext>, context: BaseContext): string | undefined;
117
+ getStyleForButton(button: AdaptableButton<BaseContext>, context: BaseContext): ButtonStyle | undefined;
117
118
  dispatchReduxAction(action: Action): void;
118
119
  waitForTeamSharingImportEnd(): Promise<boolean>;
119
120
  getUserDefinedHeaderName(columnId: string): string;
@@ -121,7 +122,10 @@ export interface InternalApi {
121
122
  destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar' | string): void;
122
123
  initializeDataChangeHistory(): void;
123
124
  isTextComparisonCaseSensitive(): boolean;
125
+ isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule): boolean;
124
126
  executeWithProgressIndicator(label: string, executeFn: () => unknown): void;
125
127
  hideProgressIndicator(): void;
126
128
  getCorrectEnglishVariant(wordToSpell: string): string;
129
+ shouldDisplayTagSections(): boolean;
130
+ getAvailableTags(): AdaptableObjectTag[] | undefined;
127
131
  }
@@ -68,7 +68,7 @@ export interface LayoutApi {
68
68
  * Saves given Layout into Adaptable State (creates new Layout if it doesn't exist)
69
69
  * @param layoutToSave the Layout to save
70
70
  *
71
- * @deprecated use {@link createOrUpdateLayout} instead
71
+ * @deprecated use `createOrUpdateLayout()` instead
72
72
  */
73
73
  saveLayout(layoutToSave: Layout): void;
74
74
  /**
@@ -136,9 +136,8 @@ export interface LayoutApi {
136
136
  showLayoutPopup(): void;
137
137
  /**
138
138
  * Opens Layout Editor - for Current or a named Layout
139
- *
140
139
  * @param layoutName Name of Layout to be edited or cloned; if not specified, uses Current Layout
141
- * @param action Whether to edit/clone, or create a new, Layout
140
+ * @param action Whether to edit, clone, or create a new Layout
142
141
  */
143
142
  showLayoutEditor(layoutName?: string,
144
143
  /**
@@ -166,9 +165,8 @@ export interface LayoutApi {
166
165
  */
167
166
  isCurrentLayoutReadOnly(): boolean;
168
167
  /**
169
- * Opens change column caption popup
170
- *
171
- * @param column AdaptableColumn
168
+ * Opens Change Column Caption popup
169
+ * @param column Column to open Popup for
172
170
  */
173
171
  showChangeColumnCaption(column: AdaptableColumn): void;
174
172
  /**
@@ -3,11 +3,15 @@ import { ReportSchedule } from '../PredefinedConfig/ExportState';
3
3
  import { Glue42Schedule } from '../PredefinedConfig/Glue42State';
4
4
  import { IPushPullSchedule } from '../PredefinedConfig/IPushPullState';
5
5
  import { OpenFinSchedule } from '../PredefinedConfig/OpenFinState';
6
- import { ReminderSchedule } from '../PredefinedConfig/ScheduleState';
6
+ import { ReminderSchedule, ScheduleState } from '../PredefinedConfig/ScheduleState';
7
7
  /**
8
8
  * Provides run-time access to the Schedule Module and associated state
9
9
  */
10
10
  export interface ScheduleApi {
11
+ /**
12
+ * Retrieves Schedule section from Adaptable State
13
+ */
14
+ getScheduleState(): ScheduleState;
11
15
  /**
12
16
  * Retrieves the Schedule section from Adaptable State
13
17
  * @returns schedules
@@ -4,13 +4,13 @@ import { AdaptablePredicate } from './Common/AdaptablePredicate';
4
4
  import { TypeHint } from './Common/Types';
5
5
  import { AdaptableMessageType } from './Common/AdaptableMessageType';
6
6
  import { AdaptableForm } from './Common/AdaptableForm';
7
- import { AdaptableButton, ButtonContext } from './Common/AdaptableButton';
7
+ import { AdaptableButton } from './Common/AdaptableButton';
8
8
  import { SuspendableObject } from './Common/SuspendableObject';
9
9
  import { AdaptableStyle } from './Common/AdaptableStyle';
10
10
  import { XOR } from '../Utilities/Extensions/TypeExtensions';
11
11
  import { AdaptableAggregatedBooleanQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
12
12
  import { ButtonStyle } from './Common/ButtonStyle';
13
- import { AlertButtonContext } from '../types';
13
+ import { AlertButtonContext, BaseContext } from '../types';
14
14
  /**
15
15
  * Predefined Configuration for Alert Module
16
16
  */
@@ -69,7 +69,7 @@ export declare type AdaptableAlertAction = 'highlight-cell' | 'highlight-row' |
69
69
  /**
70
70
  * Defines a button that appears in an Alert Form
71
71
  */
72
- export interface AlertButton<AlertButtonContext> extends Omit<AdaptableButton<ButtonContext>, 'onClick' | 'label' | 'buttonStyle' | 'hidden' | 'disabled' | 'tooltip'> {
72
+ export interface AlertButton<AlertButtonContext> extends Omit<AdaptableButton<BaseContext>, 'onClick' | 'label' | 'buttonStyle' | 'hidden' | 'disabled' | 'tooltip'> {
73
73
  /**
74
74
  * Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options
75
75
  */