@adaptabletools/adaptable 13.0.0-canary.0 → 13.0.0-canary.10

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 (169) hide show
  1. package/agGrid.d.ts +23 -1
  2. package/agGrid.js +23 -1
  3. package/base.css +1 -0
  4. package/bundle.cjs.js +169 -169
  5. package/index.css +1 -0
  6. package/package.json +3 -3
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +7 -3
  10. package/src/AdaptableOptions/AdaptableOptions.d.ts +0 -2
  11. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +108 -23
  12. package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
  13. package/src/AdaptableOptions/FinsemblePluginOptions.js +2 -0
  14. package/src/AdaptableOptions/GeneralOptions.d.ts +5 -0
  15. package/src/Api/ConditionalStyleApi.d.ts +20 -42
  16. package/src/Api/ConfigApi.d.ts +1 -2
  17. package/src/Api/FinsembleApi.d.ts +10 -0
  18. package/src/Api/FinsembleApi.js +2 -0
  19. package/src/Api/FormatColumnApi.d.ts +47 -3
  20. package/src/Api/Implementation/ColumnApiImpl.js +3 -3
  21. package/src/Api/Implementation/DashboardApiImpl.js +2 -3
  22. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +18 -1
  23. package/src/Api/Implementation/FormatColumnApiImpl.js +97 -14
  24. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -0
  25. package/src/Api/Implementation/InternalApiImpl.js +4 -0
  26. package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -0
  27. package/src/Api/Implementation/PluginsApiImpl.js +6 -0
  28. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +0 -2
  29. package/src/Api/Implementation/QueryLanguageApiImpl.js +0 -3
  30. package/src/Api/Implementation/SystemStatusApiImpl.js +1 -2
  31. package/src/Api/Implementation/ToolPanelApiImpl.d.ts +3 -1
  32. package/src/Api/Implementation/ToolPanelApiImpl.js +8 -0
  33. package/src/Api/InternalApi.d.ts +1 -0
  34. package/src/Api/PluginsApi.d.ts +5 -0
  35. package/src/Api/QueryLanguageApi.d.ts +0 -5
  36. package/src/Api/ToolPanelApi.d.ts +10 -1
  37. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +1 -1
  38. package/src/PredefinedConfig/Common/AdaptablePredicate.js +37 -37
  39. package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
  40. package/src/PredefinedConfig/FormatColumnState.d.ts +19 -6
  41. package/src/PredefinedConfig/PredefinedConfig.d.ts +1 -0
  42. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +14 -0
  43. package/src/Redux/ActionsReducers/FormatColumnRedux.js +43 -1
  44. package/src/Redux/Store/AdaptableStore.js +2 -0
  45. package/src/Strategy/ConditionalStyleModule.d.ts +2 -0
  46. package/src/Strategy/ConditionalStyleModule.js +6 -0
  47. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  48. package/src/Strategy/DataChangeHistoryModule.js +12 -0
  49. package/src/Strategy/FormatColumnModule.d.ts +4 -9
  50. package/src/Strategy/FormatColumnModule.js +52 -2
  51. package/src/Strategy/Interface/IModule.d.ts +11 -10
  52. package/src/Strategy/Utilities/Alert/getAlertBehaviourViewItems.d.ts +2 -2
  53. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
  54. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
  55. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -10
  56. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +3 -2
  57. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +3 -1
  58. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -0
  59. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +3 -1
  60. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -0
  61. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -1
  62. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +1 -0
  63. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -1
  64. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -0
  65. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -1
  66. package/src/Utilities/Extensions/TypeExtensions.d.ts +1 -0
  67. package/src/Utilities/Extensions/TypeExtensions.js +5 -0
  68. package/src/Utilities/ObjectFactory.js +0 -1
  69. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +14 -4
  70. package/src/Utilities/Services/{LicenseService.d.ts → LicenseService/index.d.ts} +3 -3
  71. package/src/Utilities/Services/LicenseService/index.js +1 -0
  72. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.d.ts +1 -0
  73. package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.js +15 -0
  74. package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
  75. package/src/Utilities/Services/QueryLanguageService.js +88 -39
  76. package/src/Utilities/license/LicenseDetails.d.ts +1 -1
  77. package/src/Utilities/license/decode.d.ts +1 -0
  78. package/src/Utilities/license/decode.js +1 -1
  79. package/src/View/AdaptablePopover/index.d.ts +2 -2
  80. package/src/View/AdaptableView.d.ts +3 -3
  81. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +1 -1
  82. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts +1 -1
  83. package/src/View/AdaptableWizardView/index.d.ts +1 -1
  84. package/src/View/ColorPicker.d.ts +1 -5
  85. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  86. package/src/View/Components/Buttons/ButtonEdit.d.ts +1 -1
  87. package/src/View/Components/EntityRulesEditor/index.d.ts +2 -1
  88. package/src/View/Components/EntityRulesEditor/index.js +29 -19
  89. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.d.ts +1 -1
  90. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +2 -2
  91. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.d.ts +1 -1
  92. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -0
  93. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +1 -1
  94. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +1 -1
  95. package/src/View/Components/Popups/AdaptablePopup/TopBar.d.ts +1 -1
  96. package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +1 -1
  97. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +4 -0
  98. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +5 -2
  99. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +2 -0
  100. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +18 -0
  101. package/src/View/FormatColumn/MoveFormatColumn.d.ts +7 -0
  102. package/src/View/FormatColumn/MoveFormatColumn.js +27 -0
  103. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  104. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +8 -0
  105. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +29 -0
  106. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +20 -2
  107. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -22
  108. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  109. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +13 -0
  110. package/src/View/FormatColumn/Wizard/constants.d.ts +1 -0
  111. package/src/View/FormatColumn/Wizard/constants.js +4 -0
  112. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  113. package/src/View/Layout/Wizard/sections/SettingsSection.d.ts +2 -2
  114. package/src/View/License/LicenseWatermark.d.ts +1 -1
  115. package/src/View/StateManagement/components/ClearButton.d.ts +1 -1
  116. package/src/View/StateManagement/components/LoadButton.d.ts +1 -1
  117. package/src/View/StatusBar/StatusBarPanel.d.ts +4 -4
  118. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +3 -3
  119. package/src/View/Wizard/OnePageAdaptableWizard.js +2 -2
  120. package/src/View/Wizard/OnePageWizards.d.ts +3 -3
  121. package/src/View/Wizard/OnePageWizards.js +2 -2
  122. package/src/agGrid/ActionColumnRenderer.d.ts +1 -0
  123. package/src/agGrid/ActionColumnRenderer.js +5 -5
  124. package/src/agGrid/Adaptable.d.ts +13 -2
  125. package/src/agGrid/Adaptable.js +142 -85
  126. package/src/agGrid/FilterWrapper.js +5 -5
  127. package/src/agGrid/FloatingFilterWrapper.js +3 -4
  128. package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -0
  129. package/src/agGrid/createAgStatusPanelComponent.js +3 -3
  130. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -0
  131. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  132. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +1 -0
  133. package/src/agGrid/editors/AdaptableNumberEditor/index.js +3 -3
  134. package/src/components/CheckBox/index.d.ts +1 -1
  135. package/src/components/Datepicker/index.d.ts +1 -1
  136. package/src/components/Dialog/index.d.ts +4 -2
  137. package/src/components/Dialog/index.js +2 -2
  138. package/src/components/DropdownButton/index.d.ts +21 -4
  139. package/src/components/DropdownButton/index.js +5 -6
  140. package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -1
  141. package/src/components/ExpressionEditor/EditorInput.js +1 -1
  142. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +1 -1
  143. package/src/components/Input/index.d.ts +1 -1
  144. package/src/components/List/ListGroupItem/index.d.ts +4 -2
  145. package/src/components/Loader/Loader.d.ts +2 -2
  146. package/src/components/Logo/index.d.ts +1 -1
  147. package/src/components/Modal/index.d.ts +1 -1
  148. package/src/components/PopupWithFooter.d.ts +2 -2
  149. package/src/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  150. package/src/components/SelectList.d.ts +1 -1
  151. package/src/components/SimpleButton/index.d.ts +4 -5
  152. package/src/components/SimpleButton/index.js +3 -2
  153. package/src/components/StylePreview.d.ts +1 -1
  154. package/src/components/Tag/Tag.d.ts +1 -1
  155. package/src/components/Textarea/index.d.ts +6 -4
  156. package/src/components/ToggleButton/index.d.ts +1 -1
  157. package/src/components/WindowModal/WindowModal.d.ts +1 -1
  158. package/src/components/icons/index.d.ts +3 -2
  159. package/src/components/icons/layout.d.ts +2 -1
  160. package/src/components/utils/useContainerScrollObserver/index.d.ts +1 -1
  161. package/src/metamodel/adaptable.metamodel.d.ts +100 -64
  162. package/src/metamodel/adaptable.metamodel.js +1 -1
  163. package/src/parser/src/types.d.ts +6 -3
  164. package/src/renderReactRoot.d.ts +3 -0
  165. package/src/renderReactRoot.js +54 -0
  166. package/src/types.d.ts +4 -2
  167. package/version.d.ts +1 -1
  168. package/version.js +1 -1
  169. package/src/Utilities/Services/LicenseService.js +0 -1
@@ -5,7 +5,13 @@ const tslib_1 = require("tslib");
5
5
  const parser = tslib_1.__importStar(require("../../parser/src"));
6
6
  const rxjs_1 = require("rxjs");
7
7
  const LoggingHelper_1 = require("../Helpers/LoggingHelper");
8
+ const aggregatedScalarExpressionFunctions_1 = require("../ExpressionFunctions/aggregatedScalarExpressionFunctions");
9
+ const aggregatedBooleanExpressionFunctions_1 = require("../ExpressionFunctions/aggregatedBooleanExpressionFunctions");
8
10
  const AggregatedScalarLiveValue_1 = require("./AggregatedScalarLiveValue");
11
+ const booleanExpressionFunctions_1 = require("../ExpressionFunctions/booleanExpressionFunctions");
12
+ const scalarExpressionFunctions_1 = require("../ExpressionFunctions/scalarExpressionFunctions");
13
+ const observableExpressionFunctions_1 = require("../ExpressionFunctions/observableExpressionFunctions");
14
+ const TypeExtensions_1 = require("../Extensions/TypeExtensions");
9
15
  class QueryLanguageService {
10
16
  constructor(adaptableApi) {
11
17
  this.adaptableApi = adaptableApi;
@@ -16,7 +22,7 @@ class QueryLanguageService {
16
22
  this.cacheModuleSpecificExpressionFunctions = new Map();
17
23
  }
18
24
  evaluateBooleanExpression(expression, module, rowNode) {
19
- const moduleExpressionFunctions = this.getModuleExpressionFunctions(module);
25
+ const moduleExpressionFunctions = this.getModuleExpressionFunctionsMap(module);
20
26
  const booleanAndScalarFunctions = this.getBooleanAndScalarFunctions(moduleExpressionFunctions);
21
27
  return parser.evaluate(expression, {
22
28
  node: rowNode,
@@ -30,7 +36,7 @@ class QueryLanguageService {
30
36
  return this.evaluateBooleanExpression(expression, module, rowNode);
31
37
  }
32
38
  evaluateAggregatedScalarExpression(expression, module) {
33
- const aggregatedScalarFunctions = this.getModuleExpressionFunctions(module).aggregatedScalarFunctions;
39
+ const aggregatedScalarFunctions = this.getModuleExpressionFunctionsMap(module).aggregatedScalarFunctions;
34
40
  return parser.evaluate(expression, {
35
41
  node: null,
36
42
  adaptableApi: this.adaptableApi,
@@ -39,7 +45,7 @@ class QueryLanguageService {
39
45
  });
40
46
  }
41
47
  evaluateObservableExpression(reactiveExpression, module) {
42
- const moduleExpressionFunctions = this.getModuleExpressionFunctions(module);
48
+ const moduleExpressionFunctions = this.getModuleExpressionFunctionsMap(module);
43
49
  const booleanAndScalarFunctions = this.getBooleanAndScalarFunctions(moduleExpressionFunctions);
44
50
  const reactiveExpression$ = parser.evaluate(reactiveExpression, {
45
51
  node: reactiveExpression,
@@ -51,12 +57,12 @@ class QueryLanguageService {
51
57
  return reactiveExpression$;
52
58
  }
53
59
  evaluateAggregatedBooleanExpression(aggregationExpression, module) {
54
- const moduleExpressionFunctions = this.getModuleExpressionFunctions(module);
55
- const booleanAndScalarFunctions = this.getBooleanAndScalarFunctions(moduleExpressionFunctions);
60
+ const moduleExpressionFunctionsMap = this.getModuleExpressionFunctionsMap(module);
61
+ const booleanAndScalarFunctions = this.getBooleanAndScalarFunctions(moduleExpressionFunctionsMap);
56
62
  const aggregationEvaluation = parser.evaluate(aggregationExpression, {
57
63
  node: aggregationExpression,
58
64
  adaptableApi: this.adaptableApi,
59
- functions: moduleExpressionFunctions.aggregatedBooleanFunctions,
65
+ functions: moduleExpressionFunctionsMap.aggregatedBooleanFunctions,
60
66
  whereClauseFunctions: booleanAndScalarFunctions,
61
67
  evaluateCustomQueryVariable: this.evaluateCustomQueryVariable,
62
68
  });
@@ -89,7 +95,7 @@ class QueryLanguageService {
89
95
  }
90
96
  const { ast } = parser.parse(expression.trim());
91
97
  const rootFn = ast[ast.length - 1];
92
- const moduleExpressionFunctions = this.getModuleExpressionFunctions(module);
98
+ const moduleExpressionFunctions = this.getModuleExpressionFunctionsMap(module);
93
99
  const booleanAndScalarFunctions = this.getBooleanAndScalarFunctions(moduleExpressionFunctions);
94
100
  if (rootFn.type === undefined || booleanAndScalarFunctions[rootFn.type] === undefined) {
95
101
  const result = {
@@ -268,43 +274,86 @@ class QueryLanguageService {
268
274
  }
269
275
  // Returns the ExpressionFunctions available for the given Module as specified in the `QueryLanguageOptions.moduleExpressionFunctions`
270
276
  // if there are no specific functions defined, it falls back to the default values
271
- getModuleExpressionFunctions(module) {
272
- var _a, _b, _c, _d, _e, _f, _g;
277
+ getModuleExpressionFunctionsMap(module) {
278
+ var _a, _b, _c;
279
+ const expressionOptions = this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions;
280
+ if (module) {
281
+ let cachedResult = this.cacheModuleSpecificExpressionFunctions.get(module);
282
+ if (cachedResult) {
283
+ return cachedResult;
284
+ }
285
+ }
286
+ const generalBooleanExpressionFunctions = this.extractMappedExpressionFunctions(booleanExpressionFunctions_1.booleanExpressionFunctions, expressionOptions.systemBooleanFunctions, expressionOptions.customBooleanFunctions);
287
+ const generalScalarExpressionFunctions = this.extractMappedExpressionFunctions(scalarExpressionFunctions_1.scalarExpressionFunctions, expressionOptions.systemScalarFunctions, expressionOptions.customScalarFunctions);
288
+ const generalObservableExpressionFunctions = this.extractMappedExpressionFunctions(observableExpressionFunctions_1.observableExpressionFunctions, expressionOptions.systemObservableFunctions);
289
+ const generalAggregatedBooleanExpressionFunctions = this.extractMappedExpressionFunctions(aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions, expressionOptions.systemAggregatedBooleanFunctions);
290
+ const generalAggregatedScalarExpressionFunctions = this.extractMappedExpressionFunctions(aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions, expressionOptions.systemAggregatedScalarFunctions);
273
291
  if (!module) {
274
292
  (0, LoggingHelper_1.LogAdaptableInfo)(`QueryLanguageService.getModuleExpressionFunctions() was called with an undefined 'module' param, this should never happen`);
275
293
  return {
276
- booleanFunctions: this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
277
- .defaultBooleanFunctions,
278
- scalarFunctions: this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
279
- .defaultScalarFunctions,
280
- observableFunctions: this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
281
- .defaultObservableFunctions,
282
- aggregatedBooleanFunctions: this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
283
- .defaultAggregatedBooleanFunctions,
284
- aggregatedScalarFunctions: this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
285
- .defaultAggregatedScalarFunctions,
294
+ booleanFunctions: generalBooleanExpressionFunctions,
295
+ scalarFunctions: generalScalarExpressionFunctions,
296
+ observableFunctions: generalObservableExpressionFunctions,
297
+ aggregatedBooleanFunctions: generalAggregatedBooleanExpressionFunctions,
298
+ aggregatedScalarFunctions: generalAggregatedScalarExpressionFunctions,
299
+ };
300
+ }
301
+ let moduleExpressionFunctions;
302
+ if (typeof expressionOptions.moduleExpressionFunctions === 'function') {
303
+ const context = {
304
+ adaptableApi: this.adaptableApi,
305
+ module,
306
+ availableBooleanFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalBooleanExpressionFunctions),
307
+ availableScalarFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalScalarExpressionFunctions),
308
+ availableObservableFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalObservableExpressionFunctions),
309
+ availableAggregatedBooleanFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalAggregatedBooleanExpressionFunctions),
310
+ availableAggregatedScalarFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalAggregatedScalarExpressionFunctions),
286
311
  };
312
+ moduleExpressionFunctions = (_a = expressionOptions.moduleExpressionFunctions(context)) !== null && _a !== void 0 ? _a : {};
287
313
  }
288
- let cachedResult = this.cacheModuleSpecificExpressionFunctions.get(module);
289
- if (cachedResult) {
290
- return cachedResult;
314
+ else {
315
+ moduleExpressionFunctions = (_c = (_b = expressionOptions.moduleExpressionFunctions) === null || _b === void 0 ? void 0 : _b[module]) !== null && _c !== void 0 ? _c : {};
291
316
  }
292
- const moduleSpecificOptions = (_b = (_a = this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
293
- .moduleExpressionFunctions) === null || _a === void 0 ? void 0 : _a[module]) !== null && _b !== void 0 ? _b : {};
294
- const moduleSpecificFunctions = {
295
- booleanFunctions: (_c = moduleSpecificOptions.booleanFunctions) !== null && _c !== void 0 ? _c : this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
296
- .defaultBooleanFunctions,
297
- scalarFunctions: (_d = moduleSpecificOptions.scalarFunctions) !== null && _d !== void 0 ? _d : this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
298
- .defaultScalarFunctions,
299
- observableFunctions: (_e = moduleSpecificOptions.observableFunctions) !== null && _e !== void 0 ? _e : this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
300
- .defaultObservableFunctions,
301
- aggregatedBooleanFunctions: (_f = moduleSpecificOptions.aggregatedBooleanFunctions) !== null && _f !== void 0 ? _f : this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
302
- .defaultAggregatedBooleanFunctions,
303
- aggregatedScalarFunctions: (_g = moduleSpecificOptions.aggregatedScalarFunctions) !== null && _g !== void 0 ? _g : this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions
304
- .defaultAggregatedScalarFunctions,
317
+ const moduleExpressionFunctionsMap = {
318
+ booleanFunctions: this.extractMappedExpressionFunctions(generalBooleanExpressionFunctions, moduleExpressionFunctions.systemBooleanFunctions, moduleExpressionFunctions.customBooleanFunctions),
319
+ scalarFunctions: this.extractMappedExpressionFunctions(generalScalarExpressionFunctions, moduleExpressionFunctions.systemScalarFunctions, moduleExpressionFunctions.customScalarFunctions),
320
+ observableFunctions: this.extractMappedExpressionFunctions(generalObservableExpressionFunctions, moduleExpressionFunctions.systemObservableFunctions),
321
+ aggregatedBooleanFunctions: this.extractMappedExpressionFunctions(generalAggregatedBooleanExpressionFunctions, moduleExpressionFunctions.systemAggregatedBooleanFunctions),
322
+ aggregatedScalarFunctions: this.extractMappedExpressionFunctions(generalAggregatedScalarExpressionFunctions, moduleExpressionFunctions.systemAggregatedScalarFunctions),
305
323
  };
306
- this.cacheModuleSpecificExpressionFunctions.set(module, moduleSpecificFunctions);
307
- return moduleSpecificFunctions;
324
+ this.cacheModuleSpecificExpressionFunctions.set(module, moduleExpressionFunctionsMap);
325
+ return moduleExpressionFunctionsMap;
326
+ }
327
+ extractMappedExpressionFunctions(availableExpressionFunctions, systemFunctions, customFunctions) {
328
+ const systemFunctionNames = typeof systemFunctions === 'function'
329
+ ? systemFunctions({
330
+ adaptableApi: this.adaptableApi,
331
+ availableExpressionFunctionNames: (0, TypeExtensions_1.getTypedKeys)(availableExpressionFunctions),
332
+ })
333
+ : systemFunctions;
334
+ let generalExpressionFunctions = {};
335
+ // add system functions
336
+ if (Array.isArray(systemFunctionNames)) {
337
+ // add only system functions specified by user
338
+ systemFunctionNames.forEach((systemFunctionName) => {
339
+ generalExpressionFunctions[systemFunctionName] =
340
+ availableExpressionFunctions[systemFunctionName];
341
+ });
342
+ }
343
+ else {
344
+ // add ALL system functions
345
+ generalExpressionFunctions = Object.assign({}, availableExpressionFunctions);
346
+ }
347
+ const customFunctionDefinitions = typeof customFunctions === 'function'
348
+ ? customFunctions({
349
+ adaptableApi: this.adaptableApi,
350
+ availableExpressionFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalExpressionFunctions),
351
+ })
352
+ : customFunctions;
353
+ if (customFunctionDefinitions) {
354
+ generalExpressionFunctions = Object.assign(Object.assign({}, generalExpressionFunctions), customFunctionDefinitions);
355
+ }
356
+ return generalExpressionFunctions;
308
357
  }
309
358
  evaluateCustomQueryVariable(functionName, args) {
310
359
  var _a, _b, _c;
@@ -317,8 +366,8 @@ class QueryLanguageService {
317
366
  ? customQueryVariableDefinition(context)
318
367
  : customQueryVariableDefinition;
319
368
  }
320
- getBooleanAndScalarFunctions(moduleExpressionFunctions) {
321
- return Object.assign(Object.assign({}, moduleExpressionFunctions.booleanFunctions), moduleExpressionFunctions.scalarFunctions);
369
+ getBooleanAndScalarFunctions(moduleExpressionFunctionsMap) {
370
+ return Object.assign(Object.assign({}, moduleExpressionFunctionsMap.booleanFunctions), moduleExpressionFunctionsMap.scalarFunctions);
322
371
  }
323
372
  getExpressionCacheKey(expression, module) {
324
373
  return `${module}::${expression}`;
@@ -2,9 +2,9 @@ export declare type LicenseDetails = {
2
2
  start: Date;
3
3
  end: Date;
4
4
  owner: string;
5
+ appName: string;
5
6
  trial: boolean;
6
7
  skipAirtable?: boolean;
7
- count?: number;
8
8
  timestamp?: number;
9
9
  ref: string;
10
10
  };
@@ -1,4 +1,5 @@
1
1
  import { LicenseDetails } from './LicenseDetails';
2
+ export declare const GENERIC_APP_NAME = "GenericAdaptableApp";
2
3
  export declare const fieldsToLicenseDetails: (fields: {
3
4
  name: string;
4
5
  value: string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License"),r=e=>{var r;const o=e.reduce(((e,t)=>(e.set(t.name,t.value),e)),new Map),s={count:o.get("DeveloperCount")?Number(o.get("DeveloperCount")):0,start:new Date(o.get("StartDate")),end:new Date(o.get("EndDate")),owner:o.get("Owner"),timestamp:o.get("TS")?Number(o.get("TS")):0,trial:"true"===o.get("Trial"),ref:null!==(r=o.get("Ref"))&&void 0!==r?r:""};if(!(s.start&&s.end&&s.owner&&"boolean"==typeof s.trial&&s.ref))throw t();return s};exports.fieldsToLicenseDetails=r;const o=r=>{let o="",s=r.split("|").map((e=>{let[t,r]=e.split("=");return"C"===t&&(o=r),{name:t,value:r}}));if(!o)throw t();const n=o.split(",").reverse(),a=n.pop();n.forEach(((r,o)=>{const n=s[o];if((0,e.compute_string)(n.value)!==r)throw t()}));const i=[...s];i.pop();const l=i.map((e=>`${e.name}=${e.value}`)).join("|");if((0,e.compute_string)(l)!==a)throw t();return s=s.map((e=>Object.assign(Object.assign({},e),{value:decodeURI(e.value)}))),(0,exports.fieldsToLicenseDetails)(s)};exports.decode=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=exports.GENERIC_APP_NAME=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License");exports.GENERIC_APP_NAME="GenericAdaptableApp";const r=e=>{var r;const s=e.reduce(((e,t)=>(e.set(t.name,t.value),e)),new Map),o={start:new Date(s.get("StartDate")),end:new Date(s.get("EndDate")),owner:s.get("Owner"),appName:s.get("AppName")||exports.GENERIC_APP_NAME,timestamp:s.get("TS")?Number(s.get("TS")):0,trial:"true"===s.get("Trial"),ref:null!==(r=s.get("Ref"))&&void 0!==r?r:""};if(!(o.start&&o.end&&o.owner&&"boolean"==typeof o.trial&&o.ref))throw t();return o};exports.fieldsToLicenseDetails=r;const s=r=>{let s="",o=r.split("|").map((e=>{let[t,r]=e.split("=");return"C"===t&&(s=r),{name:t,value:r}}));if(!s)throw t();const a=s.split(",").reverse(),n=a.pop();a.forEach(((r,s)=>{const a=o[s];if((0,e.compute_string)(a.value)!==r)throw t()}));const i=[...o];i.pop();const p=i.map((e=>`${e.name}=${e.value}`)).join("|");if((0,e.compute_string)(p)!==n)throw t();return o=o.map((e=>Object.assign(Object.assign({},e),{value:decodeURI(e.value)}))),(0,exports.fieldsToLicenseDetails)(o)};exports.decode=s;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
3
- export interface AdaptablePopoverProps extends React.ClassAttributes<AdaptablePopover> {
3
+ export interface AdaptablePopoverProps extends React.ClassAttributes<React.PropsWithChildren<AdaptablePopover>> {
4
4
  headerText?: string;
5
5
  showEvent?: string;
6
6
  hideEvent?: string;
@@ -15,6 +15,6 @@ export interface AdaptablePopoverProps extends React.ClassAttributes<AdaptablePo
15
15
  popoverMaxWidth?: number;
16
16
  popupPadding?: number;
17
17
  }
18
- export declare class AdaptablePopover extends React.Component<AdaptablePopoverProps, {}> {
18
+ export declare class AdaptablePopover extends React.Component<React.PropsWithChildren<AdaptablePopoverProps>, {}> {
19
19
  render(): JSX.Element;
20
20
  }
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  import { IAdaptable } from '../AdaptableInterfaces/IAdaptable';
3
- export declare const AdaptableApp: ({ Adaptable }: {
3
+ export declare const AdaptableApp: React.FunctionComponent<{
4
4
  Adaptable: IAdaptable;
5
- }) => JSX.Element;
5
+ }>;
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { BoxProps } from 'rebass';
3
- export declare const NocodeWizardFormBox: React.FunctionComponent<BoxProps>;
3
+ export declare const NocodeWizardFormBox: React.FunctionComponent<React.PropsWithChildren<BoxProps>>;
@@ -4,4 +4,4 @@ export interface FinanceFormProps {
4
4
  adaptableOptions: AdaptableOptions;
5
5
  onChangeadAptableOptions: (adaptableOptions: AdaptableOptions) => void;
6
6
  }
7
- export declare const FinanceForm: React.FunctionComponent<FinanceFormProps>;
7
+ export declare const FinanceForm: React.FunctionComponent<React.PropsWithChildren<FinanceFormProps>>;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableWizardViewProps } from './Wizard';
3
- declare const AdaptableWizardView: React.FunctionComponent<AdaptableWizardViewProps>;
3
+ declare const AdaptableWizardView: React.FunctionComponent<React.PropsWithChildren<AdaptableWizardViewProps>>;
4
4
  export default AdaptableWizardView;
@@ -7,8 +7,4 @@ export declare type ColorPickerProps = Omit<HTMLProps<HTMLInputElement>, 'onChan
7
7
  onChange: (color: string) => void;
8
8
  value: string;
9
9
  } & Omit<BoxProps, 'onChange'>;
10
- export declare const ColorPicker: React.ForwardRefExoticComponent<Pick<Omit<React.HTMLProps<HTMLInputElement>, "onChange"> & {
11
- api: AdaptableApi;
12
- onChange: (color: string) => void;
13
- value: string;
14
- } & Omit<BoxProps, "onChange">, "max" | "required" | "type" | "data" | "default" | "high" | "low" | "key" | "id" | "media" | "height" | "width" | "start" | "open" | "name" | "alignSelf" | "backgroundColor" | "color" | "content" | "flex" | "fontSize" | "margin" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "order" | "padding" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "value" | "hidden" | "cite" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "acceptCharset" | "action" | "method" | "noValidate" | "target" | "accessKey" | "draggable" | "lang" | "className" | "prefix" | "children" | "contentEditable" | "inputMode" | "nonce" | "tabIndex" | "async" | "disabled" | "multiple" | "size" | "manifest" | "m" | "wrap" | "accept" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "min" | "minLength" | "muted" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "wmode" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "api" | "mt" | "mb" | "ml" | "mr" | "my" | "marginY" | "mx" | "marginX" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "bg" | "css"> & React.RefAttributes<unknown>>;
10
+ export declare const ColorPicker: React.ForwardRefExoticComponent<Pick<ColorPickerProps, "max" | "required" | "type" | "data" | "default" | "high" | "low" | "key" | "id" | "media" | "height" | "width" | "start" | "open" | "name" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "color" | "content" | "display" | "flex" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "margin" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflow" | "overflowX" | "overflowY" | "padding" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "textAlign" | "translate" | "verticalAlign" | "value" | "hidden" | "cite" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "acceptCharset" | "action" | "method" | "noValidate" | "target" | "accessKey" | "draggable" | "lang" | "className" | "prefix" | "children" | "contentEditable" | "inputMode" | "nonce" | "tabIndex" | "async" | "disabled" | "multiple" | "size" | "manifest" | "m" | "wrap" | "accept" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "min" | "minLength" | "muted" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "wmode" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "api" | "bg" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "css" | "variant" | "tx" | "sx"> & React.RefAttributes<unknown>>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableInputProps } from '../AdaptableInput';
3
3
  export declare type AdaptableDateInputProps = AdaptableInputProps;
4
- declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "max" | "required" | "type" | "data" | "default" | "high" | "low" | "key" | "id" | "media" | "height" | "width" | "start" | "open" | "name" | "alignSelf" | "backgroundColor" | "color" | "content" | "flex" | "fontSize" | "margin" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "order" | "padding" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "value" | "hidden" | "cite" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "acceptCharset" | "action" | "method" | "noValidate" | "target" | "accessKey" | "draggable" | "lang" | "className" | "prefix" | "children" | "contentEditable" | "inputMode" | "nonce" | "tabIndex" | "async" | "disabled" | "multiple" | "size" | "manifest" | "m" | "wrap" | "accept" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "min" | "minLength" | "muted" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "wmode" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "mt" | "mb" | "ml" | "mr" | "my" | "marginY" | "mx" | "marginX" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "bg" | "css" | "placehoder"> & React.RefAttributes<HTMLInputElement>>;
4
+ declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "max" | "required" | "type" | "data" | "default" | "high" | "low" | "key" | "id" | "media" | "height" | "width" | "start" | "open" | "name" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "color" | "content" | "display" | "flex" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "margin" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflow" | "overflowX" | "overflowY" | "padding" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "textAlign" | "translate" | "verticalAlign" | "value" | "hidden" | "cite" | "dir" | "form" | "label" | "p" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "acceptCharset" | "action" | "method" | "noValidate" | "target" | "accessKey" | "draggable" | "lang" | "className" | "prefix" | "children" | "contentEditable" | "inputMode" | "nonce" | "tabIndex" | "async" | "disabled" | "multiple" | "size" | "manifest" | "m" | "wrap" | "accept" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "min" | "minLength" | "muted" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "contextMenu" | "placeholder" | "spellCheck" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "wmode" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bg" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "css" | "variant" | "tx" | "sx" | "placehoder"> & React.RefAttributes<HTMLInputElement>>;
5
5
  export default AdaptableDateInput;
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { SimpleButtonProps } from '../../../components/SimpleButton';
3
- export declare const ButtonEdit: React.FunctionComponent<SimpleButtonProps>;
3
+ export declare const ButtonEdit: React.FunctionComponent<React.PropsWithChildren<SimpleButtonProps>>;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FlexProps } from 'rebass';
3
- import type { AdaptablePredicate, AdaptablePredicateDef, AdaptableScope, AdaptableApi, AdaptableModule } from '../../../types';
3
+ import type { AdaptableApi, AdaptableModule, AdaptablePredicate, AdaptablePredicateDef, AdaptableScope } from '../../../types';
4
4
  import type { XOR } from '../../../Utilities/Extensions/TypeExtensions';
5
5
  import { AdaptableQuery } from '../../../PredefinedConfig/Common/AdaptableQuery';
6
6
  import { OnePageAdaptableWizardContextType } from '../../Wizard/OnePageAdaptableWizard';
@@ -13,6 +13,7 @@ export declare const isRuleValid: (abObject: {
13
13
  declare type EntityRulesEditorProps<T> = {
14
14
  data: T;
15
15
  module: AdaptableModule;
16
+ showNoRule?: boolean;
16
17
  showPredicate?: boolean;
17
18
  showObservable?: boolean;
18
19
  showAggregation?: boolean;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EntityRulesEditor = exports.EntityRulesSummary = exports.isRuleValid = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
+ const react_1 = require("react");
6
7
  const rebass_1 = require("rebass");
7
8
  const Tabs_1 = require("../../../components/Tabs");
8
9
  const Radio_1 = tslib_1.__importDefault(require("../../../components/Radio"));
@@ -13,7 +14,6 @@ const AdaptableInput_1 = tslib_1.__importDefault(require("../AdaptableInput"));
13
14
  const AdaptableContext_1 = require("../../AdaptableContext");
14
15
  const ButtonInfo_1 = require("../Buttons/ButtonInfo");
15
16
  const DocumentationLinkConstants_1 = require("../../../Utilities/Constants/DocumentationLinkConstants");
16
- const react_1 = require("react");
17
17
  const PermittedValuesSelector_1 = require("../PermittedValuesSelector");
18
18
  const isRuleValid = (abObject, api, context) => {
19
19
  var _a, _b, _c, _d, _e, _f;
@@ -52,20 +52,26 @@ const EntityRulesSummary = (props) => {
52
52
  };
53
53
  exports.EntityRulesSummary = EntityRulesSummary;
54
54
  const EntityRulesEditor = (props) => {
55
- var _a, _b;
56
- const { data, children, descriptions, predicateDefs, showPredicate = true, showObservable = true, showBoolean = true, showAggregation = true, flexProps, module, } = props;
55
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
56
+ const { data, children, descriptions, predicateDefs, showNoRule = false, showPredicate = true, showObservable = true, showBoolean = true, showAggregation = true, flexProps, module, } = props;
57
57
  const { api } = (0, AdaptableContext_1.useAdaptable)();
58
- const type = data.Rule.BooleanExpression != undefined
59
- ? 'BooleanExpression'
60
- : data.Rule.ObservableExpression != undefined && showObservable
61
- ? 'ObservableExpression'
62
- : data.Rule.AggregatedBooleanExpression != undefined && showAggregation
63
- ? 'AggregatedBooleanExpression'
64
- : 'Predicate';
58
+ const type = data.Rule == undefined
59
+ ? 'NoRule'
60
+ : data.Rule.BooleanExpression != undefined
61
+ ? 'BooleanExpression'
62
+ : data.Rule.ObservableExpression != undefined && showObservable
63
+ ? 'ObservableExpression'
64
+ : data.Rule.AggregatedBooleanExpression != undefined && showAggregation
65
+ ? 'AggregatedBooleanExpression'
66
+ : 'Predicate';
65
67
  const [selectedTab, setSelectedTab] = React.useState(type);
66
68
  const setType = (type) => {
67
69
  setSelectedTab(type);
68
- if (type === 'BooleanExpression' && showBoolean) {
70
+ if (type === 'NoRule' && showNoRule) {
71
+ delete data.Rule;
72
+ props.onChange(Object.assign({}, data));
73
+ }
74
+ else if (type === 'BooleanExpression' && showBoolean) {
69
75
  props.onChange(Object.assign(Object.assign({}, data), { Rule: {
70
76
  BooleanExpression: '',
71
77
  } }));
@@ -88,8 +94,8 @@ const EntityRulesEditor = (props) => {
88
94
  } }));
89
95
  }
90
96
  };
91
- const predicateId = data.Rule.Predicate != undefined ? data.Rule.Predicate.PredicateId : undefined;
92
- const predicateInputs = predicateId ? (_a = data.Rule.Predicate.Inputs) !== null && _a !== void 0 ? _a : [] : [];
97
+ const predicateId = ((_a = data.Rule) === null || _a === void 0 ? void 0 : _a.Predicate) != undefined ? (_b = data.Rule) === null || _b === void 0 ? void 0 : _b.Predicate.PredicateId : undefined;
98
+ const predicateInputs = predicateId ? (_d = (_c = data.Rule) === null || _c === void 0 ? void 0 : _c.Predicate.Inputs) !== null && _d !== void 0 ? _d : [] : [];
93
99
  const currentPredicateDef = api.predicateApi.getPredicateDefById(predicateId);
94
100
  const isValuesPredicateDef = (colDef) => colDef && ['Values', 'ExcludeValues'].includes(colDef.id);
95
101
  const predicateDefsOptions = predicateDefs
@@ -158,6 +164,10 @@ const EntityRulesEditor = (props) => {
158
164
  return (React.createElement(rebass_1.Flex, Object.assign({ flexDirection: "column", padding: 2, pt: 0, pl: 0 }, flexProps, { style: Object.assign({ height: '100%' }, flexProps === null || flexProps === void 0 ? void 0 : flexProps.style) }),
159
165
  children,
160
166
  React.createElement(Tabs_1.Tabs, { onValueChange: setType, value: selectedTab, pt: 2, pl: 2, style: { flex: 1, overflow: 'auto' } },
167
+ showNoRule ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'NoRule', style: { flex: 1 } },
168
+ React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'NoRule' }, "No Condition"))) : null,
169
+ showNoRule ? (React.createElement(Tabs_1.Tabs.Content, { value: 'NoRule' },
170
+ React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, 'Format Column is always applied'))) : null,
161
171
  showPredicate ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'Predicate', style: { flex: 1 } },
162
172
  React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'Predicate' }, "Predicate"))) : null,
163
173
  showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { value: "Predicate" },
@@ -168,13 +178,13 @@ const EntityRulesEditor = (props) => {
168
178
  overflow: 'hidden',
169
179
  textOverflow: 'ellipsis',
170
180
  maxWidth: 'inherit',
171
- }, placeholder: "Select Rule", showClearButton: !!data.Rule.Predicate, onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_b = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _b === void 0 ? void 0 :
172
- _b.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
181
+ }, placeholder: "Select Rule", showClearButton: !!((_e = data.Rule) === null || _e === void 0 ? void 0 : _e.Predicate), onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_f = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _f === void 0 ? void 0 :
182
+ _f.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
173
183
  index > 0 && React.createElement(HelpBlock_1.default, { marginTop: 2 }, "AND"),
174
184
  React.createElement(AdaptableInput_1.default, { marginTop: 2, type: predicateDefInput.type, autoFocus: index === 0, value: predicateInputs[index], onChange: (e) => onPredicateInputChange(e, index) })))),
175
185
  isValuesPredicateDef(currentPredicateDef) &&
176
186
  'ColumnIds' in data.Scope &&
177
- data.Scope.ColumnIds.length === 1 && (React.createElement(PermittedValuesSelector_1.PermitedValuesSelector, { onPredicateValuesChange: onPredicateValuesChange, predicate: data.Rule.Predicate, scope: data.Scope })),
187
+ data.Scope.ColumnIds.length === 1 && (React.createElement(PermittedValuesSelector_1.PermitedValuesSelector, { onPredicateValuesChange: onPredicateValuesChange, predicate: (_g = data.Rule) === null || _g === void 0 ? void 0 : _g.Predicate, scope: data.Scope })),
178
188
  showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "query-documentation", mt: 3, mb: 2, style: {
179
189
  fontSize: 'var(--ab-font-size-3)',
180
190
  padding: 0,
@@ -187,12 +197,12 @@ const EntityRulesEditor = (props) => {
187
197
  "See Predicate documentation for more details and examples")))) : null,
188
198
  showBoolean ? React.createElement(QueryTab, { value: "BooleanExpression", type: type, label: "Boolean" }) : null,
189
199
  showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { value: 'BooleanExpression', paddingLeft: 0 },
190
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'boolean', module: module, value: data.Rule.BooleanExpression, onChange: setBooleanExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
200
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'boolean', module: module, value: (_h = data.Rule) === null || _h === void 0 ? void 0 : _h.BooleanExpression, onChange: setBooleanExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
191
201
  showObservable ? (React.createElement(QueryTab, { value: "ObservableExpression", type: type, label: "Observable" })) : null,
192
202
  showObservable ? (React.createElement(Tabs_1.Tabs.Content, { value: 'ObservableExpression', paddingLeft: 0 },
193
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'observable', module: module, value: data.Rule.ObservableExpression, onChange: setReactiveExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
203
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'observable', module: module, value: (_j = data.Rule) === null || _j === void 0 ? void 0 : _j.ObservableExpression, onChange: setReactiveExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
194
204
  showAggregation ? (React.createElement(QueryTab, { value: "AggregatedBooleanExpression", type: type, label: "Aggregated Boolean" })) : null,
195
205
  showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { value: 'AggregatedBooleanExpression', paddingLeft: 0 },
196
- React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'aggregatedBoolean', module: module, value: data.Rule.AggregatedBooleanExpression, onChange: setAggregationExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null)));
206
+ React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'aggregatedBoolean', module: module, value: (_k = data.Rule) === null || _k === void 0 ? void 0 : _k.AggregatedBooleanExpression, onChange: setAggregationExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null)));
197
207
  };
198
208
  exports.EntityRulesEditor = EntityRulesEditor;
@@ -11,5 +11,5 @@ interface AdaptablePopupBodyProps {
11
11
  onHide?: () => void;
12
12
  api: AdaptableApi;
13
13
  }
14
- export declare const AdaptablePopupBody: React.FunctionComponent<AdaptablePopupBodyProps>;
14
+ export declare const AdaptablePopupBody: React.FunctionComponent<React.PropsWithChildren<AdaptablePopupBodyProps>>;
15
15
  export {};
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare const AdaptablePopupDialog: React.FunctionComponent<{
2
+ export declare const AdaptablePopupDialog: React.FunctionComponent<React.PropsWithChildren<{
3
3
  baseClassName: string;
4
4
  className: string;
5
5
  friendlyName: string;
@@ -8,4 +8,4 @@ export declare const AdaptablePopupDialog: React.FunctionComponent<{
8
8
  onHide: () => void;
9
9
  style?: React.CSSProperties;
10
10
  modalContainer?: string | HTMLElement;
11
- }>;
11
+ }>>;
@@ -8,4 +8,4 @@ export interface AdaptablePopupModuleViewProps extends ModuleViewPopupProps<type
8
8
  accessLevel: AccessLevel;
9
9
  popupParams?: ModuleParams;
10
10
  }
11
- export declare const AdaptablePopupModuleView: React.FunctionComponent<AdaptablePopupModuleViewProps>;
11
+ export declare const AdaptablePopupModuleView: React.FunctionComponent<React.PropsWithChildren<AdaptablePopupModuleViewProps>>;
@@ -111,6 +111,7 @@ const AdaptablePopupModuleView = (props) => {
111
111
  "s not available in current Layout")));
112
112
  };
113
113
  return (React.createElement(PopupPanel_1.PopupPanel, { glyphicon: moduleInfo.Glyph, infoLink: moduleInfo.HelpPage, headerText: moduleInfo.FriendlyName, button: newButton, infoLinkDisabled: !props.api.internalApi.isDocumentationLinksDisplayed() },
114
+ moduleViewProperties.HeaderComponent && React.createElement(moduleViewProperties.HeaderComponent, null),
114
115
  toggleButtonShowLayoutAssociatedObjects(),
115
116
  (items === null || items === void 0 ? void 0 : items.length) ? (React.createElement(AdaptableObjectList_1.AdaptableObjectList, { module: props.module, items: items })) : (React.createElement(EmptyContent_1.default, null, emptyContent !== null && emptyContent !== void 0 ? emptyContent : `Click 'New' to create a new ${moduleInfo.FriendlyName}`)),
116
117
  isWizardOpen && EditWizard && (React.createElement(EditWizard, { abObjectType: abObjectType, moduleInfo: moduleInfo, data: null, popupParams: props.popupParams, configEntities: null, onCloseWizard: handleWizardClose, onFinishWizard: handleWizardClose }))));
@@ -7,5 +7,5 @@ interface NavigationProps {
7
7
  activeItem: string;
8
8
  customSettingsPanels?: CustomSettingsPanel[];
9
9
  }
10
- export declare const Navigation: React.FunctionComponent<NavigationProps>;
10
+ export declare const Navigation: React.FunctionComponent<React.PropsWithChildren<NavigationProps>>;
11
11
  export {};
@@ -8,4 +8,4 @@ export interface PanelWithButtonProps {
8
8
  infoLink?: string;
9
9
  infoLinkDisabled?: boolean;
10
10
  }
11
- export declare const PopupPanel: React.FunctionComponent<PanelWithButtonProps>;
11
+ export declare const PopupPanel: React.FunctionComponent<React.PropsWithChildren<PanelWithButtonProps>>;
@@ -3,5 +3,5 @@ import { SettingsPanelOptions } from '../../../../AdaptableOptions/SettingsPanel
3
3
  interface TopBarProps {
4
4
  icon: SettingsPanelOptions['icon'];
5
5
  }
6
- export declare const TopBar: React.FunctionComponent<TopBarProps>;
6
+ export declare const TopBar: React.FunctionComponent<React.PropsWithChildren<TopBarProps>>;
7
7
  export default TopBar;
@@ -8,4 +8,4 @@ export interface AdaptablePopupPromptProps {
8
8
  onConfirmActionCreator?: (inputText: string) => Action;
9
9
  defaultValue?: string;
10
10
  }
11
- export declare const AdaptablePopupPrompt: React.FunctionComponent<AdaptablePopupPromptProps>;
11
+ export declare const AdaptablePopupPrompt: React.FunctionComponent<React.PropsWithChildren<AdaptablePopupPromptProps>>;