@adaptabletools/adaptable 13.0.0-canary.8 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/agGrid.d.ts +10 -10
  2. package/agGrid.js +10 -10
  3. package/base.css +1231 -733
  4. package/base.css.map +1 -0
  5. package/bundle.cjs.js +237 -220
  6. package/index.css +1249 -734
  7. package/index.css.map +1 -0
  8. package/package.json +5 -5
  9. package/publishTimestamp.d.ts +1 -1
  10. package/publishTimestamp.js +1 -1
  11. package/src/AdaptableInterfaces/IAdaptable.d.ts +7 -3
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +0 -2
  13. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +116 -35
  14. package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
  15. package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
  16. package/src/{Api/ConditionalStyleApi.js → AdaptableOptions/FinsemblePluginOptions.js} +0 -0
  17. package/src/AdaptableOptions/GeneralOptions.d.ts +0 -6
  18. package/src/AdaptableOptions/LayoutOptions.d.ts +2 -1
  19. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  20. package/src/Api/AdaptableApi.d.ts +2 -5
  21. package/src/Api/ColumnApi.d.ts +8 -2
  22. package/src/Api/ConfigApi.d.ts +0 -6
  23. package/src/Api/ExportApi.d.ts +6 -6
  24. package/src/Api/FinsembleApi.d.ts +10 -0
  25. package/src/{Strategy/Interface/IConditionalStyleModule.js → Api/FinsembleApi.js} +0 -0
  26. package/src/Api/FormatColumnApi.d.ts +46 -73
  27. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  28. package/src/Api/Implementation/AdaptableApiImpl.js +2 -3
  29. package/src/Api/Implementation/AlertApiImpl.js +9 -4
  30. package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
  31. package/src/Api/Implementation/ColumnApiImpl.js +15 -11
  32. package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -2
  33. package/src/Api/Implementation/ConfigApiImpl.js +0 -11
  34. package/src/Api/Implementation/ExportApiImpl.d.ts +4 -4
  35. package/src/Api/Implementation/ExportApiImpl.js +14 -14
  36. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -1
  37. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +24 -22
  38. package/src/Api/Implementation/FormatColumnApiImpl.js +57 -224
  39. package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
  40. package/src/Api/Implementation/InternalApiImpl.js +4 -3
  41. package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -0
  42. package/src/Api/Implementation/PluginsApiImpl.js +6 -0
  43. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -1
  44. package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -15
  45. package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
  46. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +25 -0
  47. package/src/Api/Implementation/StyledColumnApiImpl.js +193 -0
  48. package/src/Api/InternalApi.d.ts +1 -1
  49. package/src/Api/PluginsApi.d.ts +5 -0
  50. package/src/Api/QueryLanguageApi.d.ts +3 -2
  51. package/src/Api/ScopeApi.d.ts +1 -1
  52. package/src/Api/StyledColumnApi.d.ts +106 -0
  53. package/src/Api/StyledColumnApi.js +2 -0
  54. package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
  55. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  56. package/src/PredefinedConfig/Common/Types.d.ts +3 -3
  57. package/src/PredefinedConfig/Common/Types.js +1 -0
  58. package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
  59. package/src/PredefinedConfig/FormatColumnState.d.ts +6 -96
  60. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -0
  61. package/src/PredefinedConfig/StyledColumnState.d.ts +119 -0
  62. package/src/PredefinedConfig/StyledColumnState.js +2 -0
  63. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
  64. package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
  65. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
  66. package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
  67. package/src/Redux/DeadRedux.d.ts +6 -0
  68. package/src/Redux/DeadRedux.js +19 -1
  69. package/src/Redux/Store/AdaptableStore.js +9 -8
  70. package/src/Strategy/ConditionalStyleModule.d.ts +2 -27
  71. package/src/Strategy/ConditionalStyleModule.js +0 -219
  72. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  73. package/src/Strategy/DataChangeHistoryModule.js +12 -0
  74. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  75. package/src/Strategy/FormatColumnModule.js +30 -221
  76. package/src/Strategy/LayoutModule.js +0 -4
  77. package/src/Strategy/StyledColumnModule.d.ts +24 -0
  78. package/src/Strategy/StyledColumnModule.js +165 -0
  79. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
  80. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
  81. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
  82. package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
  83. package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
  84. package/src/Utilities/Constants/ModuleConstants.js +4 -1
  85. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -13
  86. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  87. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +1 -1
  88. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +3 -4
  89. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -1
  90. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +3 -4
  91. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -1
  92. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -4
  93. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +2 -5
  94. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -4
  95. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  96. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -4
  97. package/src/Utilities/ObjectFactory.d.ts +5 -2
  98. package/src/Utilities/ObjectFactory.js +14 -7
  99. package/src/Utilities/Services/ModuleService.js +2 -2
  100. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -3
  101. package/src/Utilities/Services/QueryLanguageService.js +49 -53
  102. package/src/Utilities/Services/ReportService.js +6 -6
  103. package/src/View/AdaptablePopover/index.js +1 -1
  104. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -14
  105. package/src/View/Alert/Wizard/AlertButtonsEditor.js +24 -1
  106. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
  107. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -3
  108. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -3
  109. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  110. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  111. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
  113. package/src/View/Components/AdaptableObjectRow/index.js +1 -6
  114. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
  115. package/src/View/Components/Buttons/ButtonInfo.js +3 -5
  116. package/src/View/Components/EntityRulesEditor/index.js +8 -17
  117. package/src/View/Components/FilterForm/FilterForm.js +11 -16
  118. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  119. package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
  120. package/src/View/Components/NewScopeComponent.js +3 -3
  121. package/src/View/Components/Panels/PanelWithButton.js +1 -5
  122. package/src/View/Components/Panels/PanelWithImage.js +1 -5
  123. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
  124. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
  125. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
  126. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
  127. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
  128. package/src/View/Components/RangesComponent.d.ts +8 -1
  129. package/src/View/Components/RangesComponent.js +60 -24
  130. package/src/View/Components/ScopeComponent.js +6 -6
  131. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
  132. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  133. package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
  134. package/src/View/Components/StyleComponent.js +14 -19
  135. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -11
  136. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +21 -9
  137. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  138. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  139. package/src/View/DataSet/DataSetSelector.js +1 -1
  140. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  141. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  142. package/src/View/Export/ExportViewPanel.js +4 -4
  143. package/src/View/Export/ReportExportDropdown.js +1 -1
  144. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
  145. package/src/View/Filter/FilterSummary.d.ts +1 -1
  146. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  147. package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
  148. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
  149. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
  150. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  151. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  152. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +27 -27
  153. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -5
  154. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  155. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -28
  156. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
  157. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +6 -301
  158. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +3 -10
  159. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
  160. package/src/View/GridInfo/ColumnInfoComponent.js +0 -7
  161. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  162. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  163. package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
  164. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  165. package/src/View/Layout/Wizard/sections/ColumnsSection.js +7 -6
  166. package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
  167. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
  168. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
  169. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  170. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  171. package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
  172. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  173. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
  174. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
  175. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  176. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
  177. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
  178. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
  179. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
  180. package/src/View/SmartEdit/SmartEditPopup.js +3 -3
  181. package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
  182. package/src/View/StateManagement/StateManagementPopup.js +4 -4
  183. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
  184. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +77 -0
  185. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
  186. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +65 -0
  187. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.d.ts +9 -0
  188. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +234 -0
  189. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +59 -0
  191. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
  192. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  193. package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
  194. package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
  195. package/src/View/Theme/ThemePopup.js +1 -1
  196. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
  197. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
  198. package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
  199. package/src/agGrid/ActionColumnRenderer.js +94 -62
  200. package/src/agGrid/Adaptable.d.ts +12 -13
  201. package/src/agGrid/Adaptable.js +162 -236
  202. package/src/agGrid/CheckboxRenderer.js +1 -1
  203. package/src/agGrid/FilterWrapper.js +60 -16
  204. package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
  205. package/src/agGrid/FloatingFilterWrapper.js +71 -32
  206. package/src/agGrid/PercentBarRenderer.d.ts +6 -2
  207. package/src/agGrid/PercentBarRenderer.js +19 -17
  208. package/src/agGrid/agGridHelper.d.ts +6 -2
  209. package/src/agGrid/agGridHelper.js +17 -17
  210. package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -1
  211. package/src/agGrid/createAgStatusPanelComponent.js +17 -0
  212. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +4 -1
  213. package/src/agGrid/editors/AdaptableDateEditor/index.js +84 -17
  214. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  215. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -3
  216. package/src/agGrid/editors/AdaptableNumberEditor/index.js +78 -27
  217. package/src/agGrid/weightedAverage.js +19 -11
  218. package/src/components/CheckBox/index.js +7 -2
  219. package/src/components/Datepicker/index.d.ts +1 -1
  220. package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
  221. package/src/components/ExpressionEditor/index.js +9 -17
  222. package/src/components/FormLayout/index.js +1 -1
  223. package/src/components/StylePreview.js +2 -1
  224. package/src/components/icons/brush.d.ts +3 -0
  225. package/src/components/icons/brush.js +7 -0
  226. package/src/components/icons/index.js +2 -0
  227. package/src/metamodel/adaptable.metamodel.d.ts +178 -104
  228. package/src/metamodel/adaptable.metamodel.js +1 -1
  229. package/src/renderReactRoot.d.ts +2 -0
  230. package/src/renderReactRoot.js +11 -9
  231. package/src/types.d.ts +7 -5
  232. package/themes/dark.css +8 -4
  233. package/themes/dark.css.map +1 -0
  234. package/themes/light.css +4 -1
  235. package/themes/light.css.map +1 -0
  236. package/version.d.ts +1 -1
  237. package/version.js +1 -1
  238. package/src/AdaptableComponents.d.ts +0 -1
  239. package/src/AdaptableComponents.js +0 -5
  240. package/src/Api/ConditionalStyleApi.d.ts +0 -128
  241. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
  242. package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
  243. package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -49
  244. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -95
  245. package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
  246. package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
  247. package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
  248. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +0 -2
  249. package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +0 -18
  250. package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
  251. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
  252. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
  253. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
  254. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
  255. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
  256. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
  257. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
  258. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
  259. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
  260. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
  261. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -114
  262. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
  263. package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
@@ -87,8 +87,6 @@ class ModuleService {
87
87
  return learnUrl + 'handbook-calculated-column';
88
88
  case 'CellSummary':
89
89
  return learnUrl + 'handbook-summarising#cell-summary-information';
90
- case 'ConditionalStyle':
91
- return learnUrl + 'handbook-conditional-styling';
92
90
  case 'CustomSort':
93
91
  return learnUrl + 'handbook-sorting';
94
92
  case 'Dashboard':
@@ -141,6 +139,8 @@ class ModuleService {
141
139
  return learnUrl + 'integrations-ipushpull';
142
140
  case 'OpenFin':
143
141
  return learnUrl + 'integrations-openfin';
142
+ case 'StyledColumn':
143
+ return learnUrl + 'handbook-styled-column-overview';
144
144
  default:
145
145
  return 'good';
146
146
  }
@@ -43,9 +43,7 @@ export declare class QueryLanguageService implements IQueryLanguageService {
43
43
  isCumulativeAggregate(input: string): boolean;
44
44
  getExpressionWithColumnFriendlyNames(expression?: string): string;
45
45
  getModuleExpressionFunctionsMap(module: AdaptableModule): ModuleExpressionFunctionsMap;
46
- private getFunctionNames;
47
- private extractDefaultExpressionFunctions;
48
- private mapFunctionsDefinitionToMap;
46
+ private extractMappedExpressionFunctions;
49
47
  evaluateCustomQueryVariable(functionName: string, args?: any[]): any;
50
48
  private getBooleanAndScalarFunctions;
51
49
  private getExpressionCacheKey;
@@ -185,7 +185,7 @@ class QueryLanguageService {
185
185
  if (evaluationResult.type !== 'aggregationBoolean') {
186
186
  const result = {
187
187
  isValid: false,
188
- errorMessage: 'provided AggregatedBBoolean expression does not evaluate to a supported aggregation',
188
+ errorMessage: 'provided AggregatedBoolean expression does not evaluate to a supported aggregation',
189
189
  };
190
190
  this.cacheAggregatedBooleanValidation.set(cacheKey, result);
191
191
  return result;
@@ -275,7 +275,7 @@ class QueryLanguageService {
275
275
  // Returns the ExpressionFunctions available for the given Module as specified in the `QueryLanguageOptions.moduleExpressionFunctions`
276
276
  // if there are no specific functions defined, it falls back to the default values
277
277
  getModuleExpressionFunctionsMap(module) {
278
- var _a, _b, _c, _d, _e, _f, _g, _h;
278
+ var _a, _b, _c;
279
279
  const expressionOptions = this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions;
280
280
  if (module) {
281
281
  let cachedResult = this.cacheModuleSpecificExpressionFunctions.get(module);
@@ -283,19 +283,19 @@ class QueryLanguageService {
283
283
  return cachedResult;
284
284
  }
285
285
  }
286
- const defaultBooleanExpressionFunctions = this.extractDefaultExpressionFunctions(expressionOptions.defaultBooleanFunctions, booleanExpressionFunctions_1.booleanExpressionFunctions);
287
- const defaultScalarExpressionFunctions = this.extractDefaultExpressionFunctions(expressionOptions.defaultScalarFunctions, scalarExpressionFunctions_1.scalarExpressionFunctions);
288
- const defaultObservableExpressionFunctions = this.extractDefaultExpressionFunctions(expressionOptions.defaultObservableFunctions, observableExpressionFunctions_1.observableExpressionFunctions);
289
- const defaultAggregatedBooleanFunctions = this.extractDefaultExpressionFunctions(expressionOptions.defaultAggregatedBooleanFunctions, aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions);
290
- const defaultAggregatedScalarFunctions = this.extractDefaultExpressionFunctions(expressionOptions.defaultAggregatedScalarFunctions, aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions);
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);
291
291
  if (!module) {
292
292
  (0, LoggingHelper_1.LogAdaptableInfo)(`QueryLanguageService.getModuleExpressionFunctions() was called with an undefined 'module' param, this should never happen`);
293
293
  return {
294
- booleanFunctions: this.mapFunctionsDefinitionToMap(defaultBooleanExpressionFunctions, booleanExpressionFunctions_1.booleanExpressionFunctions),
295
- scalarFunctions: this.mapFunctionsDefinitionToMap(defaultScalarExpressionFunctions, scalarExpressionFunctions_1.scalarExpressionFunctions),
296
- observableFunctions: this.mapFunctionsDefinitionToMap(defaultObservableExpressionFunctions, observableExpressionFunctions_1.observableExpressionFunctions),
297
- aggregatedBooleanFunctions: this.mapFunctionsDefinitionToMap(defaultAggregatedBooleanFunctions, aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions),
298
- aggregatedScalarFunctions: this.mapFunctionsDefinitionToMap(defaultAggregatedScalarFunctions, aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions),
294
+ booleanFunctions: generalBooleanExpressionFunctions,
295
+ scalarFunctions: generalScalarExpressionFunctions,
296
+ observableFunctions: generalObservableExpressionFunctions,
297
+ aggregatedBooleanFunctions: generalAggregatedBooleanExpressionFunctions,
298
+ aggregatedScalarFunctions: generalAggregatedScalarExpressionFunctions,
299
299
  };
300
300
  }
301
301
  let moduleExpressionFunctions;
@@ -303,11 +303,11 @@ class QueryLanguageService {
303
303
  const context = {
304
304
  adaptableApi: this.adaptableApi,
305
305
  module,
306
- defaultBooleanFunctionNames: this.getFunctionNames(defaultBooleanExpressionFunctions),
307
- defaultScalarFunctionNames: this.getFunctionNames(defaultScalarExpressionFunctions),
308
- defaultObservableFunctionNames: this.getFunctionNames(defaultObservableExpressionFunctions),
309
- defaultAggregatedBooleanFunctionNames: this.getFunctionNames(defaultAggregatedBooleanFunctions),
310
- defaultAggregatedScalarFunctionNames: this.getFunctionNames(defaultAggregatedScalarFunctions),
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),
311
311
  };
312
312
  moduleExpressionFunctions = (_a = expressionOptions.moduleExpressionFunctions(context)) !== null && _a !== void 0 ? _a : {};
313
313
  }
@@ -315,49 +315,45 @@ class QueryLanguageService {
315
315
  moduleExpressionFunctions = (_c = (_b = expressionOptions.moduleExpressionFunctions) === null || _b === void 0 ? void 0 : _b[module]) !== null && _c !== void 0 ? _c : {};
316
316
  }
317
317
  const moduleExpressionFunctionsMap = {
318
- booleanFunctions: this.mapFunctionsDefinitionToMap((_d = moduleExpressionFunctions.booleanFunctions) !== null && _d !== void 0 ? _d : defaultBooleanExpressionFunctions, booleanExpressionFunctions_1.booleanExpressionFunctions),
319
- scalarFunctions: this.mapFunctionsDefinitionToMap((_e = moduleExpressionFunctions.scalarFunctions) !== null && _e !== void 0 ? _e : defaultScalarExpressionFunctions, scalarExpressionFunctions_1.scalarExpressionFunctions),
320
- observableFunctions: this.mapFunctionsDefinitionToMap((_f = moduleExpressionFunctions.observableFunctions) !== null && _f !== void 0 ? _f : defaultObservableExpressionFunctions, observableExpressionFunctions_1.observableExpressionFunctions),
321
- aggregatedBooleanFunctions: this.mapFunctionsDefinitionToMap((_g = moduleExpressionFunctions.aggregatedBooleanFunctions) !== null && _g !== void 0 ? _g : defaultAggregatedBooleanFunctions, aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions),
322
- aggregatedScalarFunctions: this.mapFunctionsDefinitionToMap((_h = moduleExpressionFunctions.aggregatedScalarFunctions) !== null && _h !== void 0 ? _h : defaultAggregatedScalarFunctions, aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions),
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),
323
323
  };
324
324
  this.cacheModuleSpecificExpressionFunctions.set(module, moduleExpressionFunctionsMap);
325
325
  return moduleExpressionFunctionsMap;
326
326
  }
327
- getFunctionNames(definitions) {
328
- return definitions.flatMap((definition) => {
329
- if (typeof definition === 'string') {
330
- return definition;
331
- }
332
- else {
333
- return (0, TypeExtensions_1.getTypedKeys)(definition);
334
- }
335
- });
336
- }
337
- extractDefaultExpressionFunctions(defaultOptions, availableExpressionFunctions) {
338
- if (typeof defaultOptions === 'function') {
339
- const context = {
327
+ extractMappedExpressionFunctions(availableExpressionFunctions, systemFunctions, customFunctions) {
328
+ const systemFunctionNames = typeof systemFunctions === 'function'
329
+ ? systemFunctions({
340
330
  adaptableApi: this.adaptableApi,
341
331
  availableExpressionFunctionNames: (0, TypeExtensions_1.getTypedKeys)(availableExpressionFunctions),
342
- };
343
- return defaultOptions(context);
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
+ });
344
342
  }
345
- return defaultOptions;
346
- }
347
- mapFunctionsDefinitionToMap(functionsDefinition, internalExpressionFunctions) {
348
- let resultMap = {};
349
- functionsDefinition.forEach((definition) => {
350
- if (typeof definition === 'string') {
351
- const internalFunction = internalExpressionFunctions[definition];
352
- if (internalFunction) {
353
- resultMap[definition] = internalFunction;
354
- }
355
- }
356
- else {
357
- resultMap = Object.assign(Object.assign({}, resultMap), definition);
358
- }
359
- });
360
- return resultMap;
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;
361
357
  }
362
358
  evaluateCustomQueryVariable(functionName, args) {
363
359
  var _a, _b, _c;
@@ -91,7 +91,7 @@ class ReportService {
91
91
  }
92
92
  GetReportColumnScopeShortDescription(report) {
93
93
  var _a, _b;
94
- if (this.adaptableApi.exportApi.isCustomReport(report)) {
94
+ if (this.adaptableApi.exportApi.isServerReport(report)) {
95
95
  return ['[Custom Columns]'];
96
96
  }
97
97
  switch (report.ReportColumnScope) {
@@ -109,7 +109,7 @@ class ReportService {
109
109
  }
110
110
  }
111
111
  GetReportColumnScopeLongDescription(report) {
112
- if (this.adaptableApi.exportApi.isCustomReport(report)) {
112
+ if (this.adaptableApi.exportApi.isServerReport(report)) {
113
113
  return '[Custom Columns]';
114
114
  }
115
115
  switch (report.ReportColumnScope) {
@@ -124,7 +124,7 @@ class ReportService {
124
124
  }
125
125
  }
126
126
  GetReportExpressionDescription(report, cols) {
127
- if (this.adaptableApi.exportApi.isCustomReport(report)) {
127
+ if (this.adaptableApi.exportApi.isServerReport(report)) {
128
128
  return '[Custom Data]';
129
129
  }
130
130
  if (this.IsSystemReport(report.Name)) {
@@ -160,7 +160,7 @@ class ReportService {
160
160
  GetReportColumnsForReport(report, includePrimaryKey = false) {
161
161
  let reportColumns = [];
162
162
  let gridColumns = this.adaptableApi.columnApi.getColumns();
163
- if (this.adaptableApi.exportApi.isCustomReport(report)) {
163
+ if (this.adaptableApi.exportApi.isServerReport(report)) {
164
164
  return reportColumns;
165
165
  }
166
166
  // first get the cols depending on the Column Scope
@@ -204,8 +204,8 @@ class ReportService {
204
204
  friendlyName: column.friendlyName,
205
205
  dataType: column.dataType,
206
206
  }));
207
- if (this.adaptableApi.exportApi.isCustomReport(report)) {
208
- return this.adaptableApi.exportApi.runCustomReport(report.Name);
207
+ if (this.adaptableApi.exportApi.isServerReport(report)) {
208
+ return this.adaptableApi.exportApi.runServerReport(report.Name);
209
209
  }
210
210
  if (ArrayExtensions_1.default.IsNullOrEmpty(columns)) {
211
211
  return { columns: [], rows: [] };
@@ -36,7 +36,7 @@ class AdaptablePopover extends React.Component {
36
36
  return (React.createElement(rebass_1.Flex, { alignItems: "center", className: this.props.className },
37
37
  React.createElement(OverlayTrigger_1.default, { showTriangle: true, render: () => popoverClickRootClose, showEvent: (this.props.showEvent || 'mouseenter'), hideEvent: (this.props.hideEvent || 'mouseleave'), style: {
38
38
  overflow: 'visible',
39
- }, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { title: this.props.tooltipText, tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
39
+ }, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, variant: "text", onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { title: this.props.tooltipText, tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
40
40
  this.props.children,
41
41
  showIcon && React.createElement(icons_1.Icon, { name: icon }))))));
42
42
  }
@@ -32,15 +32,14 @@ const HighlightStyle = (props) => {
32
32
  },
33
33
  },
34
34
  ];
35
- return (React.createElement(React.Fragment, null,
35
+ return (React.createElement(rebass_1.Box, { "data-name": props.dataName },
36
36
  React.createElement(rebass_1.Flex, null,
37
37
  React.createElement(CheckBox_1.CheckBox, { mr: 2, style: { alignItems: 'flex-start' }, checked: Boolean(props.highlight), onChange: (checked) => {
38
38
  props.onChange(checked);
39
39
  } }, props.label),
40
40
  Boolean(props.highlight) && (React.createElement(DropdownButton_1.default, { items: options, columns: ['label'] }, typeof props.highlight === 'boolean' ? (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 },
41
- "Use Message Type's",
42
- ' ',
43
- (0, AdaptableContext_1.useAdaptable)().api.internalApi.getCorrectEnglishVariant('Colour'))) : (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "Create a Custom Style"))))),
41
+ "Use Message Type's ",
42
+ adaptable.api.internalApi.getCorrectEnglishVariant('Colour'))) : (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "Create a Custom Style"))))),
44
43
  typeof props.highlight === 'object' && (React.createElement(Panel_1.default, { margin: 2 },
45
44
  React.createElement(rebass_1.Box, { paddingLeft: 3 },
46
45
  React.createElement(StyleComponent_1.StyleComponent, { headless: true, api: adaptable.api, Style: props.highlight, UpdateStyle: (style) => {
@@ -93,41 +92,43 @@ const AlertBehaviourWizardSection = (props) => {
93
92
  const rowAddedAlert = api.internalApi.isAlertDefinitionForAddedRowChangeEvent(data);
94
93
  const rowRemovedAlert = api.internalApi.isAlertDefinitionForRemovedRowChangeEvent(data);
95
94
  const cellChangedAlert = !rowAddedAlert && !rowRemovedAlert;
95
+ const hasPreventCellEdit = cellChangedAlert;
96
+ const hasHighlightCell = cellChangedAlert;
97
+ const hasHighlightRow = cellChangedAlert || rowAddedAlert;
98
+ const hasJumpToCell = cellChangedAlert;
99
+ const hasJumpToRow = cellChangedAlert || rowAddedAlert;
96
100
  const onChange = (AlertProperties) => {
97
101
  props.onChange(Object.assign(Object.assign({}, data), { AlertProperties: Object.assign(Object.assign({}, data.AlertProperties), AlertProperties) }));
98
102
  };
99
103
  return (React.createElement(Tabs_1.Tabs, null,
100
104
  React.createElement(Tabs_1.Tabs.Tab, null, api.internalApi.getCorrectEnglishVariant('Behaviour')),
101
105
  React.createElement(Tabs_1.Tabs.Content, null,
102
- cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { style: { alignItems: 'flex-start' }, checked: AlertProperties.PreventEdit, onChange: (PreventEdit) => {
106
+ hasPreventCellEdit && (React.createElement(CheckBox_1.CheckBox, { "data-name": "prevent-cell-edit", style: { alignItems: 'flex-start' }, checked: AlertProperties.PreventEdit, onChange: (PreventEdit) => {
103
107
  onChange({
104
108
  PreventEdit,
105
109
  });
106
110
  } },
107
111
  "Prevent Cell Edit",
108
112
  React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "(automatically undo data change which triggered Alert)"))),
109
- cellChangedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightCell, label: "Highlight Cell", onChange: (HighlightCell) => {
113
+ hasHighlightCell && (React.createElement(HighlightStyle, { dataName: "highlight-cell", highlight: AlertProperties.HighlightCell, label: "Highlight Cell", onChange: (HighlightCell) => {
110
114
  onChange({ HighlightCell });
111
115
  } })),
112
- cellChangedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
116
+ hasHighlightRow && (React.createElement(HighlightStyle, { dataName: "highlight-row", highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
113
117
  onChange({ HighlightRow });
114
118
  } })),
115
- rowAddedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
116
- onChange({ HighlightRow });
117
- } })),
118
- cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
119
+ hasJumpToCell && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-cell", checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
119
120
  onChange({ JumpToCell });
120
121
  } }, "Jump To Cell")),
121
- rowAddedAlert && (React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.JumpToRow, onChange: (JumpToRow) => {
122
+ hasJumpToRow && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-row", checked: AlertProperties.JumpToRow, onChange: (JumpToRow) => {
122
123
  onChange({ JumpToRow });
123
124
  } }, "Jump To Row")),
124
- React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
125
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "show-in-div", checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
125
126
  onChange({ ShowInDiv });
126
127
  } },
127
128
  "Show in separate ",
128
129
  React.createElement(CodeBlock_1.CodeBlock, null, `<div />`),
129
130
  " element"),
130
- React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
131
+ React.createElement(CheckBox_1.CheckBox, { "data-name": "log-to-console", checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
131
132
  onChange({ LogToConsole });
132
133
  } }, "Log To Console"))));
133
134
  };
@@ -17,9 +17,32 @@ const AlertButtonsEditor = (props) => {
17
17
  const onChange = (newButtons) => {
18
18
  props.onChange(newButtons);
19
19
  };
20
+ const alertDefinition = adaptableAlert.alertDefinition;
21
+ const rowAddedAlert = api.internalApi.isAlertDefinitionForAddedRowChangeEvent(alertDefinition);
22
+ const rowRemovedAlert = api.internalApi.isAlertDefinitionForRemovedRowChangeEvent(alertDefinition);
23
+ const cellChangedAlert = !rowAddedAlert && !rowRemovedAlert;
24
+ const hasHighlightCell = cellChangedAlert;
25
+ const hasHighlightRow = cellChangedAlert || rowAddedAlert;
26
+ const hasJumpToCell = cellChangedAlert;
27
+ const hasJumpToRow = cellChangedAlert || rowAddedAlert;
28
+ const hasUndo = cellChangedAlert;
20
29
  const AlertButtons = (0, Helper_1.cloneObject)(props.AlertButtons || []) || [];
21
30
  const buttonActions = [];
22
- buttonActions.push('highlight-row', 'jump-to-row', 'highlight-cell', 'jump-to-cell', 'undo');
31
+ if (hasHighlightRow) {
32
+ buttonActions.push('highlight-row');
33
+ }
34
+ if (hasJumpToRow) {
35
+ buttonActions.push('jump-to-row');
36
+ }
37
+ if (hasHighlightCell) {
38
+ buttonActions.push('highlight-cell');
39
+ }
40
+ if (hasJumpToCell) {
41
+ buttonActions.push('jump-to-cell');
42
+ }
43
+ if (hasUndo) {
44
+ buttonActions.push('undo');
45
+ }
23
46
  buttonActions.push('suspend');
24
47
  return (React.createElement(React.Fragment, null,
25
48
  React.createElement(rebass_1.Flex, { flexDirection: "row", alignItems: "center", justifyContent: "space-between" },
@@ -12,6 +12,7 @@ const AdaptablePopupAlert_1 = require("../../Components/Popups/AdaptablePopupAle
12
12
  const AlertButtonsEditor_1 = require("./AlertButtonsEditor");
13
13
  const CodeBlock_1 = require("../../../components/CodeBlock");
14
14
  const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
15
+ const join_1 = tslib_1.__importDefault(require("../../../components/utils/join"));
15
16
  const DEFAULT_BUTTONS = [
16
17
  {
17
18
  Label: 'OK',
@@ -53,7 +54,7 @@ const AlertPreview = (_a) => {
53
54
  };
54
55
  return result;
55
56
  }, [alertDefinition]);
56
- return (React.createElement(rebass_1.Box, Object.assign({}, boxProps, { style: Object.assign({ border: '1px solid var(--ab-color-inputborder)' }, boxProps.style) }),
57
+ return (React.createElement(rebass_1.Box, Object.assign({}, boxProps, { className: (0, join_1.default)(boxProps.className, 'ab-AlertPreview'), style: Object.assign({ border: '1px solid var(--ab-color-inputborder)' }, boxProps.style) }),
57
58
  React.createElement(AdaptablePopupAlert_1.AdaptablePopupAlert, { headless: true, focusFirstButton: focusFirstButton, adaptableAlert: alertToPreview, onClose: () => { } })));
58
59
  };
59
60
  exports.AlertPreview = AlertPreview;
@@ -73,7 +74,7 @@ const AlertDisplayWizardSection = (props) => {
73
74
  props.onChange(Object.assign(Object.assign({}, data), { MessageText: value }));
74
75
  };
75
76
  return (React.createElement(React.Fragment, null,
76
- React.createElement(Tabs_1.Tabs, null,
77
+ React.createElement(Tabs_1.Tabs, { "data-name": "message-type" },
77
78
  React.createElement(Tabs_1.Tabs.Tab, null, "Message Type"),
78
79
  React.createElement(Tabs_1.Tabs.Content, null,
79
80
  React.createElement(Radio_1.RadioGroup, { value: messageType, name: "messageType", orientation: "horizontal", onRadioChange: (MessageType) => {
@@ -83,7 +84,7 @@ const AlertDisplayWizardSection = (props) => {
83
84
  React.createElement(Radio_1.default, { marginLeft: 4, value: "Success" }, "Success"),
84
85
  React.createElement(Radio_1.default, { marginLeft: 4, value: "Warning" }, "Warning"),
85
86
  React.createElement(Radio_1.default, { marginLeft: 4, value: "Error" }, "Error")))),
86
- React.createElement(Tabs_1.Tabs, { mt: 2, mb: 3, autoFocus: false },
87
+ React.createElement(Tabs_1.Tabs, { "data-name": "message-text", mt: 2, mb: 3, autoFocus: false },
87
88
  React.createElement(Tabs_1.Tabs.Tab, null, "Message Text"),
88
89
  React.createElement(Tabs_1.Tabs.Content, null,
89
90
  React.createElement(rebass_1.Text, { fontSize: 2, mt: 3, mb: 2 }, "The text to display as the Alert Message (leave blank to show automated Message based on Trigger and Condition)"),
@@ -91,7 +92,7 @@ const AlertDisplayWizardSection = (props) => {
91
92
  React.createElement(AdaptableInput_1.default, { marginTop: 2, type: 'text', autoFocus: false, value: messageText,
92
93
  // onChange={(e: any) => onPredicateInputChange(e, index)}
93
94
  onChange: (e) => onMessageTextChange(e) }))),
94
- React.createElement(Tabs_1.Tabs, { mt: 2, mb: 3, autoFocus: false },
95
+ React.createElement(Tabs_1.Tabs, { "data-name": "display-options", mt: 2, mb: 3, autoFocus: false },
95
96
  React.createElement(Tabs_1.Tabs.Tab, null, "Display options"),
96
97
  React.createElement(Tabs_1.Tabs.Content, null,
97
98
  React.createElement(CheckBox_1.CheckBox, { checked: (_a = data.AlertProperties) === null || _a === void 0 ? void 0 : _a.DisplayNotification, onChange: (DisplayNotification) => {
@@ -104,7 +105,7 @@ const AlertDisplayWizardSection = (props) => {
104
105
  ((_b = data.AlertProperties) === null || _b === void 0 ? void 0 : _b.DisplayNotification) ? (typeof data.AlertForm === 'string' ? (React.createElement(rebass_1.Text, { fontSize: 2 }, "Alert buttons cannot be customized because form is dynamically driven")) : (React.createElement(AlertButtonsEditor_1.AlertButtonsEditor, { AlertButtons: ((_c = data.AlertForm) === null || _c === void 0 ? void 0 : _c.Buttons) || DEFAULT_BUTTONS, api: api, adaptableAlert: adaptableAlert, onChange: (buttons) => {
105
106
  props.onChange(Object.assign(Object.assign({}, data), { AlertForm: Object.assign(Object.assign({}, data.AlertForm), { Buttons: buttons }) }));
106
107
  } }))) : null)),
107
- ((_d = data.AlertProperties) === null || _d === void 0 ? void 0 : _d.DisplayNotification) ? (React.createElement(Tabs_1.Tabs, { autoFocus: false },
108
+ ((_d = data.AlertProperties) === null || _d === void 0 ? void 0 : _d.DisplayNotification) ? (React.createElement(Tabs_1.Tabs, { "data-name": "alert-preview", autoFocus: false },
108
109
  React.createElement(Tabs_1.Tabs.Tab, null, "Alert preview"),
109
110
  React.createElement(Tabs_1.Tabs.Content, null, typeof data.AlertForm === 'string' ? (React.createElement(rebass_1.Text, { fontSize: 2 }, "Preview not available because form is dynamically driven")) : (React.createElement(exports.AlertPreview, { alertDefinition: data, api: api }))))) : null));
110
111
  };
@@ -14,15 +14,15 @@ const BaseAlertRulesWizardSection = (props) => {
14
14
  useBooleanQuery: (React.createElement(React.Fragment, null,
15
15
  "Use an BooleanQuery if ",
16
16
  React.createElement("i", null, "Scope"),
17
- " is 'Whole Row' - so any data change may be evaluated in a complex BooleanExpression")),
17
+ " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression")),
18
18
  useObservableQuery: (React.createElement(React.Fragment, null,
19
19
  "Use an ObservableQuery if ",
20
20
  React.createElement("i", null, "Scope"),
21
- " is 'Whole Row' - so any data change may be evaluated in a complex ObservableExpression")),
21
+ " is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression")),
22
22
  useAggregationQuery: (React.createElement(React.Fragment, null,
23
23
  "Use an AggregatedBooleanQuery if ",
24
24
  React.createElement("i", null, "Scope"),
25
- " is 'Whole Row' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
25
+ " is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
26
26
  } }));
27
27
  };
28
28
  exports.BaseAlertRulesWizardSection = BaseAlertRulesWizardSection;
@@ -11,8 +11,8 @@ const BaseAlertScopeWizardSection = (props) => {
11
11
  const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
12
12
  return (React.createElement(rebass_1.Flex, { flexDirection: "column", style: { height: '100%' }, padding: 2 },
13
13
  React.createElement(NewScopeComponent_1.NewScopeComponent, { descriptions: {
14
- rowScope: 'Changes anywhere in the row will trigger an alert',
15
- columnScope: 'Changes in selected columns will trigger an alert',
14
+ rowScope: 'Changes in any Column in the row will trigger an Alert',
15
+ columnScope: 'Changes in selected Columns will trigger an Alert',
16
16
  }, scope: data.Scope, updateScope: (Scope) => {
17
17
  const newData = Object.assign(Object.assign({}, data), { Scope });
18
18
  if (newData.Rule.Predicate) {
@@ -47,7 +47,7 @@ const renderBaseAlertScopeSummary = (data) => {
47
47
  return (React.createElement(React.Fragment, null,
48
48
  React.createElement(rebass_1.Box, null,
49
49
  React.createElement(rebass_1.Text, { fontSize: 2 }, scopeApi.scopeIsAll(data.Scope)
50
- ? 'Changes anywhere in the row will trigger an alert'
50
+ ? 'Changes to any Column in the row will trigger an Alert'
51
51
  : null)),
52
52
  React.createElement(rebass_1.Box, { style: { overflow: 'hidden' } }, 'ColumnIds' in data.Scope ? (React.createElement(React.Fragment, null,
53
53
  React.createElement(rebass_1.Text, { fontSize: 2, mb: columnsInScope.length ? 2 : 0 }, "Changes in selected columns will trigger an alert"),
@@ -38,7 +38,7 @@ const isValidAlertRules = (alert, api, context) => {
38
38
  if (valid && alert.Rule.AggregatedBooleanExpression) {
39
39
  valid = api.queryLanguageApi.isValidAggregatedBooleanExpression(alert.Rule.AggregatedBooleanExpression, ModuleConstants_1.AlertModuleId);
40
40
  if (!valid) {
41
- return 'The Expression is not a valid Aggregation Expression';
41
+ return 'The Expression is not a valid AggregatedBoolean Expression';
42
42
  }
43
43
  }
44
44
  return true;
@@ -56,7 +56,7 @@ class BulkUpdatePopupComponent extends React.Component {
56
56
  ' ',
57
57
  "Select from existing column values")),
58
58
  React.createElement(rebass_1.Flex, { padding: 2, flexDirection: "row", alignItems: "center" },
59
- React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.dataType), placeholder: UIHelper_1.UIHelper.getPlaceHolderforDataType(col.dataType), onChange: (e) => this.onBulkUpdateValueChange(e) }))),
59
+ React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { "data-name": "bulk-update", style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.dataType), placeholder: UIHelper_1.UIHelper.getPlaceHolderforDataType(col.dataType), onChange: (e) => this.onBulkUpdateValueChange(e) }))),
60
60
  React.createElement(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
61
61
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All', onClick: () => {
62
62
  this.onApplyClick();
@@ -15,4 +15,4 @@ export declare class CalculatedColumnSummaryComponent extends React.Component<Ca
15
15
  onCloseWizard(): void;
16
16
  onFinishWizard: (calculatedColumn: CalculatedColumn) => void;
17
17
  }
18
- export declare let CalculatedColumnSummary: import("react-redux").ConnectedComponent<typeof CalculatedColumnSummaryComponent, import("react-redux").Omit<React.ClassAttributes<CalculatedColumnSummaryComponent> & CalculatedColumnSummaryProps, "key" | "ref" | "onSuspend" | "api" | "CalculatedColumns" | "modalContainer" | "moduleInfo" | "accessLevel" | "popupParams" | "onClearPopupParams" | "teamSharingActivated" | "onClosePopup" | "onUnSuspend" | "onShare" | "onEdit" | "summarisedColumn" | "onDeleteConfirm">>;
18
+ export declare let CalculatedColumnSummary: import("react-redux").ConnectedComponent<typeof CalculatedColumnSummaryComponent, import("react-redux").Omit<React.ClassAttributes<CalculatedColumnSummaryComponent> & CalculatedColumnSummaryProps, "key" | "ref" | "onSuspend" | "api" | "accessLevel" | "modalContainer" | "CalculatedColumns" | "moduleInfo" | "onShare" | "onUnSuspend" | "teamSharingActivated" | "popupParams" | "onClearPopupParams" | "onClosePopup" | "onEdit" | "summarisedColumn" | "onDeleteConfirm">>;
@@ -31,7 +31,7 @@ const AdaptableObjectListItemView = (props) => {
31
31
  return (React.createElement(rebass_1.Flex, { "data-name": tag.name, key: `${index}-${tag.name}`, mb: 2, className: `${baseClassName}__row` },
32
32
  React.createElement(rebass_1.Box, { className: `${baseClassName}__label`, mr: 3 },
33
33
  labelEl,
34
- props.showEditButton && (React.createElement(SimpleButton_1.default, { accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
34
+ props.showEditButton && (React.createElement(SimpleButton_1.default, { "data-name": `${tag.name}-edit-button`, accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
35
35
  props.handleOnEdit(tag.name);
36
36
  } }))),
37
37
  React.createElement(rebass_1.Box, { flex: 1, className: `${baseClassName}__values` },
@@ -8,12 +8,7 @@ const rebass_1 = require("rebass");
8
8
  const join_1 = tslib_1.__importDefault(require("../../../components/utils/join"));
9
9
  class AdaptableObjectRow extends React.Component {
10
10
  render() {
11
- const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, { key: index, fontSize: 'var(--ab-font-size-3)', title: typeof colItem.Content === 'string' ? colItem.Content : undefined, style: {
12
- flex: colItem.Size,
13
- whiteSpace: 'nowrap',
14
- textOverflow: 'ellipsis',
15
- overflow: 'hidden',
16
- }, "data-name": "list-group-cell", paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
11
+ const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, { className: "ab-AdaptableObjectRow__cell", "data-name": "list-group-cell", key: index, title: typeof colItem.Content === 'string' ? colItem.Content : undefined, flex: colItem.Size, paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
17
12
  const className = (0, join_1.default)('ab-AdaptableObjectRow', this.props.isSuspended && 'ab-AdaptableObjectRow--is-suspended');
18
13
  return (React.createElement(rebass_1.Flex, { className: className, onClick: this.props.onClick, style: this.props.style }, colItems));
19
14
  }
@@ -4,6 +4,4 @@ export interface InfoButtonProps extends SimpleButtonProps {
4
4
  glyph?: string;
5
5
  tooltip?: string;
6
6
  }
7
- export declare class ButtonInfo extends React.Component<InfoButtonProps, {}> {
8
- render(): JSX.Element;
9
- }
7
+ export declare const ButtonInfo: React.FunctionComponent<InfoButtonProps>;
@@ -4,9 +4,7 @@ exports.ButtonInfo = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
7
- class ButtonInfo extends React.Component {
8
- render() {
9
- return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "info", iconSize: 20, icon: "info", variant: "text" }, this.props)));
10
- }
11
- }
7
+ const ButtonInfo = (props) => {
8
+ return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "info", iconSize: 20, icon: "info", variant: "raised", tone: "accent" }, props)));
9
+ };
12
10
  exports.ButtonInfo = ButtonInfo;
@@ -161,7 +161,8 @@ const EntityRulesEditor = (props) => {
161
161
  };
162
162
  const initialData = (0, react_1.useMemo)(() => api.internalApi.getQueryPreviewData(), []);
163
163
  const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
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) }),
164
+ const baseClassName = 'ab-EntityRulesEditor';
165
+ return (React.createElement(rebass_1.Flex, Object.assign({ className: baseClassName, flexDirection: "column", padding: 2, pt: 0, pl: 0 }, flexProps, { style: Object.assign({ height: '100%' }, flexProps === null || flexProps === void 0 ? void 0 : flexProps.style) }),
165
166
  children,
166
167
  React.createElement(Tabs_1.Tabs, { onValueChange: setType, value: selectedTab, pt: 2, pl: 2, style: { flex: 1, overflow: 'auto' } },
167
168
  showNoRule ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'NoRule', style: { flex: 1 } },
@@ -170,15 +171,9 @@ const EntityRulesEditor = (props) => {
170
171
  React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, 'Format Column is always applied'))) : null,
171
172
  showPredicate ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'Predicate', style: { flex: 1 } },
172
173
  React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'Predicate' }, "Predicate"))) : null,
173
- showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { value: "Predicate" },
174
+ showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "Predicate", value: "Predicate" },
174
175
  React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, descriptions.selectPredicate),
175
- React.createElement(DropdownButton_1.default, { style: {
176
- minWidth: '15rem',
177
- whiteSpace: 'nowrap',
178
- overflow: 'hidden',
179
- textOverflow: 'ellipsis',
180
- maxWidth: 'inherit',
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 :
176
+ React.createElement(DropdownButton_1.default, { "data-name": "entity-rules-editor-predicate-dropdown", className: `${baseClassName}__predicate-dropdown`, 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
177
  _f.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
183
178
  index > 0 && React.createElement(HelpBlock_1.default, { marginTop: 2 }, "AND"),
184
179
  React.createElement(AdaptableInput_1.default, { marginTop: 2, type: predicateDefInput.type, autoFocus: index === 0, value: predicateInputs[index], onChange: (e) => onPredicateInputChange(e, index) })))),
@@ -189,20 +184,16 @@ const EntityRulesEditor = (props) => {
189
184
  fontSize: 'var(--ab-font-size-3)',
190
185
  padding: 0,
191
186
  } },
192
- React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, style: {
193
- color: 'var(--ab-color-text-on-add)',
194
- fill: 'var(--ab-color-text-on-add)',
195
- background: 'var(--ab-color-action-add)',
196
- }, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
187
+ React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
197
188
  "See Predicate documentation for more details and examples")))) : null,
198
189
  showBoolean ? React.createElement(QueryTab, { value: "BooleanExpression", type: type, label: "Boolean" }) : null,
199
- showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { value: 'BooleanExpression', paddingLeft: 0 },
190
+ showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "BooleanExpression", value: 'BooleanExpression', paddingLeft: 0 },
200
191
  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,
201
192
  showObservable ? (React.createElement(QueryTab, { value: "ObservableExpression", type: type, label: "Observable" })) : null,
202
- showObservable ? (React.createElement(Tabs_1.Tabs.Content, { value: 'ObservableExpression', paddingLeft: 0 },
193
+ showObservable ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "ObservableExpression", value: 'ObservableExpression', paddingLeft: 0 },
203
194
  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,
204
195
  showAggregation ? (React.createElement(QueryTab, { value: "AggregatedBooleanExpression", type: type, label: "Aggregated Boolean" })) : null,
205
- showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { value: 'AggregatedBooleanExpression', paddingLeft: 0 },
196
+ showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "AggregatedBooleanExpression", value: 'AggregatedBooleanExpression', paddingLeft: 0 },
206
197
  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)));
207
198
  };
208
199
  exports.EntityRulesEditor = EntityRulesEditor;