@adaptabletools/adaptable 13.1.1 → 14.0.0-canary.1

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 (382) hide show
  1. package/README.md +1 -1
  2. package/base.css +7 -2
  3. package/base.css.map +1 -1
  4. package/bundle.cjs.js +180 -177
  5. package/index.css +11 -2
  6. package/index.css.map +1 -1
  7. package/package.json +2 -2
  8. package/publishTimestamp.d.ts +1 -1
  9. package/publishTimestamp.js +1 -1
  10. package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -1
  11. package/src/AdaptableOptions/ActionOptions.d.ts +4 -1
  12. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +1 -9
  13. package/src/AdaptableOptions/AlertOptions.d.ts +6 -1
  14. package/src/AdaptableOptions/ChartingOptions.d.ts +1 -1
  15. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +1 -1
  16. package/src/AdaptableOptions/ExportOptions.d.ts +1 -1
  17. package/src/AdaptableOptions/GeneralOptions.d.ts +8 -3
  18. package/src/AdaptableOptions/MasterDetailPluginOptions.d.ts +6 -4
  19. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  20. package/src/Api/ActionApi.d.ts +14 -3
  21. package/src/Api/AdaptableApi.d.ts +0 -6
  22. package/src/Api/AlertApi.d.ts +127 -92
  23. package/src/Api/BulkUpdateApi.d.ts +9 -2
  24. package/src/Api/CalculatedColumnApi.d.ts +26 -21
  25. package/src/Api/CellSummaryApi.d.ts +15 -8
  26. package/src/Api/ChartingApi.d.ts +9 -2
  27. package/src/Api/ColumnApi.d.ts +153 -115
  28. package/src/Api/ConfigApi.d.ts +18 -18
  29. package/src/Api/CustomSortApi.d.ts +36 -7
  30. package/src/Api/DashboardApi.d.ts +12 -5
  31. package/src/Api/DataChangeHistoryApi.d.ts +8 -1
  32. package/src/Api/DataSetApi.d.ts +13 -3
  33. package/src/Api/EventApi.d.ts +2 -2
  34. package/src/Api/ExportApi.d.ts +30 -13
  35. package/src/Api/FilterApi.d.ts +74 -62
  36. package/src/Api/FlashingCellApi.d.ts +25 -9
  37. package/src/Api/FormatColumnApi.d.ts +76 -95
  38. package/src/Api/FreeTextColumnApi.d.ts +53 -21
  39. package/src/Api/GridApi.d.ts +57 -22
  40. package/src/Api/Implementation/ActionApiImpl.d.ts +9 -3
  41. package/src/Api/Implementation/ActionApiImpl.js +23 -11
  42. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  43. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  44. package/src/Api/Implementation/AlertApiImpl.d.ts +57 -28
  45. package/src/Api/Implementation/AlertApiImpl.js +179 -197
  46. package/src/Api/Implementation/ApiBase.d.ts +43 -2
  47. package/src/Api/Implementation/ApiBase.js +129 -5
  48. package/src/Api/Implementation/ApplicationApiImpl.d.ts +1 -1
  49. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +1 -0
  50. package/src/Api/Implementation/BulkUpdateApiImpl.js +4 -1
  51. package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +7 -2
  52. package/src/Api/Implementation/CalculatedColumnApiImpl.js +28 -37
  53. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +1 -0
  54. package/src/Api/Implementation/CellSummaryApiImpl.js +6 -1
  55. package/src/Api/Implementation/ChartingApiImpl.d.ts +2 -2
  56. package/src/Api/Implementation/ChartingApiImpl.js +10 -4
  57. package/src/Api/Implementation/ColumnApiImpl.d.ts +22 -6
  58. package/src/Api/Implementation/ColumnApiImpl.js +184 -195
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  60. package/src/Api/Implementation/ConfigApiImpl.js +1 -1
  61. package/src/Api/Implementation/CustomSortApiImpl.d.ts +16 -1
  62. package/src/Api/Implementation/CustomSortApiImpl.js +33 -7
  63. package/src/Api/Implementation/DashboardApiImpl.d.ts +6 -1
  64. package/src/Api/Implementation/DashboardApiImpl.js +11 -12
  65. package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
  66. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +5 -0
  67. package/src/Api/Implementation/DataSetApiImpl.d.ts +6 -0
  68. package/src/Api/Implementation/DataSetApiImpl.js +17 -8
  69. package/src/Api/Implementation/EntitlementApiImpl.d.ts +1 -1
  70. package/src/Api/Implementation/ExportApiImpl.d.ts +9 -1
  71. package/src/Api/Implementation/ExportApiImpl.js +34 -68
  72. package/src/Api/Implementation/FilterApiImpl.d.ts +10 -1
  73. package/src/Api/Implementation/FilterApiImpl.js +61 -157
  74. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +8 -0
  75. package/src/Api/Implementation/FlashingCellApiImpl.js +23 -26
  76. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +20 -15
  77. package/src/Api/Implementation/FormatColumnApiImpl.js +62 -153
  78. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +13 -5
  79. package/src/Api/Implementation/FreeTextColumnApiImpl.js +42 -27
  80. package/src/Api/Implementation/GridApiImpl.d.ts +15 -1
  81. package/src/Api/Implementation/GridApiImpl.js +117 -61
  82. package/src/Api/Implementation/LayoutApiImpl.d.ts +8 -7
  83. package/src/Api/Implementation/LayoutApiImpl.js +29 -112
  84. package/src/Api/Implementation/PluginsApiImpl.d.ts +1 -1
  85. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -1
  86. package/src/Api/Implementation/PlusMinusApiImpl.js +5 -0
  87. package/src/Api/Implementation/PredicateApiImpl.d.ts +8 -5
  88. package/src/Api/Implementation/PredicateApiImpl.js +33 -98
  89. package/src/Api/Implementation/QueryApiImpl.d.ts +7 -2
  90. package/src/Api/Implementation/QueryApiImpl.js +22 -44
  91. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +4 -0
  92. package/src/Api/Implementation/QueryLanguageApiImpl.js +5 -0
  93. package/src/Api/Implementation/QuickSearchApiImpl.d.ts +1 -0
  94. package/src/Api/Implementation/QuickSearchApiImpl.js +5 -0
  95. package/src/Api/Implementation/ScheduleApiImpl.d.ts +27 -0
  96. package/src/Api/Implementation/ScheduleApiImpl.js +86 -17
  97. package/src/Api/Implementation/ScopeApiImpl.js +9 -7
  98. package/src/Api/Implementation/SettingsPanelApiImpl.d.ts +2 -0
  99. package/src/Api/Implementation/SettingsPanelApiImpl.js +9 -0
  100. package/src/Api/Implementation/ShortcutApiImpl.d.ts +8 -1
  101. package/src/Api/Implementation/ShortcutApiImpl.js +25 -4
  102. package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -0
  103. package/src/Api/Implementation/SmartEditApiImpl.js +5 -0
  104. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +14 -11
  105. package/src/Api/Implementation/StyledColumnApiImpl.js +40 -185
  106. package/src/Api/Implementation/SystemStatusApiImpl.d.ts +6 -1
  107. package/src/Api/Implementation/SystemStatusApiImpl.js +19 -12
  108. package/src/Api/Implementation/TeamSharingApiImpl.d.ts +6 -5
  109. package/src/Api/Implementation/TeamSharingApiImpl.js +15 -25
  110. package/src/Api/Implementation/ThemeApiImpl.d.ts +5 -1
  111. package/src/Api/Implementation/ThemeApiImpl.js +23 -4
  112. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -0
  113. package/src/Api/Implementation/UserInterfaceApiImpl.js +13 -4
  114. package/src/Api/Internal/ActionInternalApi.d.ts +23 -0
  115. package/src/Api/Internal/ActionInternalApi.js +198 -0
  116. package/src/Api/{Implementation/InternalApiImpl.d.ts → Internal/AdaptableInternalApi.d.ts} +7 -57
  117. package/src/Api/{Implementation/InternalApiImpl.js → Internal/AdaptableInternalApi.js} +28 -306
  118. package/src/Api/Internal/AlertInternalApi.d.ts +148 -0
  119. package/src/Api/Internal/AlertInternalApi.js +484 -0
  120. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +24 -0
  121. package/src/Api/Internal/CalculatedColumnInternalApi.js +57 -0
  122. package/src/Api/Internal/ColumnInternalApi.d.ts +33 -0
  123. package/src/Api/Internal/ColumnInternalApi.js +67 -0
  124. package/src/Api/Internal/CustomSortInternalApi.d.ts +6 -0
  125. package/src/Api/Internal/CustomSortInternalApi.js +11 -0
  126. package/src/Api/Internal/DashboardInternalApi.d.ts +8 -0
  127. package/src/Api/Internal/DashboardInternalApi.js +26 -0
  128. package/src/Api/Internal/DataSetInternalApi.d.ts +9 -0
  129. package/src/Api/Internal/DataSetInternalApi.js +20 -0
  130. package/src/Api/Internal/ExportInternalApi.d.ts +11 -0
  131. package/src/Api/Internal/ExportInternalApi.js +73 -0
  132. package/src/Api/Internal/FilterInternalApi.d.ts +58 -0
  133. package/src/Api/Internal/FilterInternalApi.js +194 -0
  134. package/src/Api/Internal/FlashingCellInternalApi.d.ts +12 -0
  135. package/src/Api/Internal/FlashingCellInternalApi.js +56 -0
  136. package/src/Api/Internal/FormatColumnInternalApi.d.ts +109 -0
  137. package/src/Api/Internal/FormatColumnInternalApi.js +225 -0
  138. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +15 -0
  139. package/src/Api/Internal/FreeTextColumnInternalApi.js +44 -0
  140. package/src/Api/Internal/GridInternalApi.d.ts +82 -0
  141. package/src/Api/Internal/GridInternalApi.js +252 -0
  142. package/src/Api/Internal/LayoutInternalApi.d.ts +48 -0
  143. package/src/Api/Internal/LayoutInternalApi.js +163 -0
  144. package/src/Api/Internal/PredicateInternalApi.d.ts +37 -0
  145. package/src/Api/Internal/PredicateInternalApi.js +140 -0
  146. package/src/Api/Internal/QueryInternalApi.d.ts +17 -0
  147. package/src/Api/Internal/QueryInternalApi.js +57 -0
  148. package/src/Api/Internal/QueryLanguageInternalApi.d.ts +11 -0
  149. package/src/Api/Internal/QueryLanguageInternalApi.js +34 -0
  150. package/src/Api/Internal/StyledColumnInternalApi.d.ts +59 -0
  151. package/src/Api/Internal/StyledColumnInternalApi.js +249 -0
  152. package/src/Api/Internal/SystemStatusInternalApi.d.ts +11 -0
  153. package/src/Api/Internal/SystemStatusInternalApi.js +27 -0
  154. package/src/Api/Internal/TeamSharingInternalApi.d.ts +20 -0
  155. package/src/Api/Internal/TeamSharingInternalApi.js +66 -0
  156. package/src/Api/LayoutApi.d.ts +28 -44
  157. package/src/Api/PlusMinusApi.d.ts +9 -2
  158. package/src/Api/PredicateApi.d.ts +26 -10
  159. package/src/Api/QueryApi.d.ts +23 -18
  160. package/src/Api/QuickSearchApi.d.ts +5 -1
  161. package/src/Api/ScheduleApi.d.ts +97 -16
  162. package/src/Api/SettingsPanelApi.d.ts +12 -1
  163. package/src/Api/ShortcutApi.d.ts +28 -7
  164. package/src/Api/SmartEditApi.d.ts +8 -1
  165. package/src/Api/StyledColumnApi.d.ts +34 -54
  166. package/src/Api/SystemStatusApi.d.ts +12 -6
  167. package/src/Api/TeamSharingApi.d.ts +4 -17
  168. package/src/Api/ThemeApi.d.ts +25 -6
  169. package/src/Api/UserInterfaceApi.d.ts +13 -2
  170. package/src/PredefinedConfig/AlertState.d.ts +1 -1
  171. package/src/PredefinedConfig/Common/AdaptableColumn.js +4 -0
  172. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +0 -5
  173. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +10 -0
  174. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  175. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +22 -1
  176. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +3 -0
  177. package/src/PredefinedConfig/Common/AdaptablePredicate.js +5 -3
  178. package/src/PredefinedConfig/Common/FDC3Context.d.ts +0 -5
  179. package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
  180. package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
  181. package/src/PredefinedConfig/StyledColumnState.d.ts +9 -0
  182. package/src/PredefinedConfig/SystemState.d.ts +5 -0
  183. package/src/Redux/ActionsReducers/GridRedux.d.ts +18 -0
  184. package/src/Redux/ActionsReducers/GridRedux.js +65 -2
  185. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
  186. package/src/Redux/ActionsReducers/SystemRedux.js +17 -3
  187. package/src/Redux/Store/AdaptableStore.js +34 -26
  188. package/src/Strategy/AdaptableModuleBase.js +6 -6
  189. package/src/Strategy/AlertModule.d.ts +1 -6
  190. package/src/Strategy/AlertModule.js +37 -92
  191. package/src/Strategy/BulkUpdateModule.js +3 -3
  192. package/src/Strategy/CalculatedColumnModule.js +6 -6
  193. package/src/Strategy/ChartingModule.js +1 -1
  194. package/src/Strategy/CustomSortModule.js +4 -4
  195. package/src/Strategy/DashboardModule.js +2 -2
  196. package/src/Strategy/DataSetModule.js +1 -1
  197. package/src/Strategy/ExportModule.js +4 -4
  198. package/src/Strategy/FilterModule.js +7 -6
  199. package/src/Strategy/FlashingCellModule.d.ts +2 -0
  200. package/src/Strategy/FlashingCellModule.js +21 -5
  201. package/src/Strategy/FormatColumnModule.d.ts +1 -0
  202. package/src/Strategy/FormatColumnModule.js +29 -3
  203. package/src/Strategy/FreeTextColumnModule.js +3 -3
  204. package/src/Strategy/LayoutModule.js +18 -18
  205. package/src/Strategy/PlusMinusModule.js +2 -2
  206. package/src/Strategy/QueryModule.js +3 -3
  207. package/src/Strategy/ScheduleModule.js +10 -12
  208. package/src/Strategy/ShortcutModule.js +5 -5
  209. package/src/Strategy/SmartEditModule.js +3 -3
  210. package/src/Strategy/StyledColumnModule.js +9 -7
  211. package/src/Strategy/TeamSharingModule.js +3 -3
  212. package/src/Strategy/ThemeModule.js +1 -1
  213. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -1
  214. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  215. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -1
  216. package/src/Strategy/Utilities/getRuleViewItems.d.ts +1 -1
  217. package/src/Strategy/Utilities/getRuleViewItems.js +4 -3
  218. package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
  219. package/src/Strategy/Utilities/updateSingleToMultiplePredicates.d.ts +5 -0
  220. package/src/Strategy/Utilities/updateSingleToMultiplePredicates.js +12 -0
  221. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +4 -3
  222. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +8 -0
  223. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +11 -0
  224. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +73 -78
  225. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +3 -1
  226. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +9 -5
  227. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +12 -3
  228. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  229. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +133 -28
  230. package/src/Utilities/Extensions/TypeExtensions.d.ts +1 -0
  231. package/src/Utilities/Helpers/AdaptableHelper.js +1 -1
  232. package/src/Utilities/Helpers/FormatHelper.js +13 -10
  233. package/src/Utilities/ObjectFactory.js +8 -6
  234. package/src/Utilities/Services/CalculatedColumnExpressionService.js +1 -1
  235. package/src/Utilities/Services/ChartingService.js +2 -2
  236. package/src/Utilities/Services/DataService.js +1 -1
  237. package/src/Utilities/Services/Interface/IEntitlementService.d.ts +2 -1
  238. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -5
  239. package/src/Utilities/Services/ModuleService.js +1 -1
  240. package/src/Utilities/Services/QueryLanguageService.js +2 -2
  241. package/src/Utilities/Services/ReportService.js +3 -3
  242. package/src/Utilities/Services/RowEditService.d.ts +0 -19
  243. package/src/Utilities/Services/RowEditService.js +4 -161
  244. package/src/Utilities/Services/TeamSharingService.js +3 -3
  245. package/src/Utilities/Services/ValidationService.js +9 -7
  246. package/src/Utilities/logDeprecation.d.ts +3 -0
  247. package/src/Utilities/logDeprecation.js +30 -0
  248. package/src/View/AdaptablePopover/index.d.ts +2 -0
  249. package/src/View/AdaptablePopover/index.js +6 -2
  250. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsActionColumnsForm.js +4 -2
  251. package/src/View/Alert/AlertEntityRow.js +1 -1
  252. package/src/View/Alert/AlertStatusSubPanel.js +1 -1
  253. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +2 -2
  254. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -2
  255. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +3 -3
  256. package/src/View/Alert/Wizard/AlertWizard.js +3 -3
  257. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +4 -2
  258. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +2 -2
  259. package/src/View/Alert/Wizard/isValidAlertRules.js +4 -3
  260. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +3 -3
  261. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
  262. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +25 -4
  263. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  264. package/src/View/Components/Charting/ChartingViewPanel.d.ts +2 -2
  265. package/src/View/Components/Charting/ChartingViewPanel.js +17 -3
  266. package/src/View/Components/Charting/ChartingWizard/ChartingWizard.js +2 -2
  267. package/src/View/Components/Charting/ChartingWizard/SettingsSection.js +1 -1
  268. package/src/View/Components/Charting/DeleteChartButton.d.ts +7 -0
  269. package/src/View/Components/Charting/DeleteChartButton.js +12 -0
  270. package/src/View/Components/Charting/EditChartButton.d.ts +8 -0
  271. package/src/View/Components/Charting/EditChartButton.js +21 -0
  272. package/src/View/Components/EntityRulesEditor/PredicatesEditor.d.ts +16 -0
  273. package/src/View/Components/EntityRulesEditor/PredicatesEditor.js +86 -0
  274. package/src/View/Components/EntityRulesEditor/Utilities.d.ts +6 -0
  275. package/src/View/Components/EntityRulesEditor/Utilities.js +21 -0
  276. package/src/View/Components/EntityRulesEditor/index.d.ts +4 -9
  277. package/src/View/Components/EntityRulesEditor/index.js +16 -90
  278. package/src/View/Components/ExpressionWizard.js +1 -1
  279. package/src/View/Components/ExternalRenderer.js +3 -1
  280. package/src/View/Components/FilterForm/FilterForm.js +3 -3
  281. package/src/View/Components/FilterForm/QuickFilterForm.js +5 -5
  282. package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +5 -6
  283. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
  284. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
  285. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  286. package/src/View/Components/Popups/AdaptablePopupConfirmation.d.ts +2 -12
  287. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +46 -39
  288. package/src/View/Components/PredicateEditor/PredicateEditor.js +5 -5
  289. package/src/View/Components/ScopeComponent.js +3 -3
  290. package/src/View/Components/Selectors/ColumnValueSelector.js +1 -1
  291. package/src/View/Components/StyleComponent.js +42 -14
  292. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  293. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  294. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
  295. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +1 -1
  296. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
  297. package/src/View/Dashboard/Dashboard.js +1 -1
  298. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  299. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +10 -1
  300. package/src/View/DataSet/DataSetSelector.js +1 -1
  301. package/src/View/DataSet/DataSetStatusPanelPopover.js +1 -1
  302. package/src/View/DataSet/DataSetViewPanel.js +1 -1
  303. package/src/View/Export/ExportSelector.js +2 -2
  304. package/src/View/Export/ExportViewPanel.js +2 -2
  305. package/src/View/Export/ReportExportDropdown.js +1 -1
  306. package/src/View/Export/Wizard/ReportNameWizardSection.js +1 -1
  307. package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
  308. package/src/View/Filter/FilterSummary.js +1 -1
  309. package/src/View/Filter/FilterViewPanel.js +1 -1
  310. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
  311. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -2
  312. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +4 -3
  313. package/src/View/FormatColumn/MoveFormatColumn.js +1 -1
  314. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +11 -5
  315. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +2 -2
  316. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +8 -6
  317. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +3 -4
  318. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +5 -19
  319. package/src/View/GridInfo/ColumnInfoComponent.js +1 -1
  320. package/src/View/GridInfo/GridInfoPopup.js +6 -6
  321. package/src/View/Layout/LayoutRadioSelector.js +1 -1
  322. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
  323. package/src/View/Layout/LayoutViewPanel.js +1 -1
  324. package/src/View/Layout/PivotDetailsPopoup.js +1 -1
  325. package/src/View/Layout/SaveLayoutButton.js +1 -1
  326. package/src/View/Layout/Wizard/LayoutWizard.js +2 -2
  327. package/src/View/Layout/Wizard/sections/AggregationsSection.js +4 -4
  328. package/src/View/Layout/Wizard/sections/ColumnsSection.js +5 -5
  329. package/src/View/Layout/Wizard/sections/FilterSection.js +2 -2
  330. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +2 -2
  331. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +2 -2
  332. package/src/View/Layout/Wizard/sections/SortSection.js +1 -1
  333. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +1 -1
  334. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +2 -2
  335. package/src/View/Query/ExpandedQueryPopup.js +1 -1
  336. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  337. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -2
  338. package/src/View/Shortcut/Wizard/ShortcutWizard.js +1 -1
  339. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
  340. package/src/View/StatusBar/StatusBarPanel.js +1 -1
  341. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -2
  342. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +9 -0
  343. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
  344. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.d.ts +5 -0
  345. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +26 -0
  346. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.d.ts +5 -0
  347. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +23 -0
  348. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +8 -0
  349. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +25 -0
  350. package/src/View/StyledColumn/Wizard/{StyledColumnWizardStyleSection.d.ts → StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts} +2 -2
  351. package/src/View/StyledColumn/Wizard/{StyledColumnWizardStyleSection.js → StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js} +21 -19
  352. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.d.ts +1 -0
  353. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.js +4 -0
  354. package/src/View/TeamSharing/SharedEntityDependencies.js +1 -1
  355. package/src/View/Theme/ThemeStatusPanelPopover.js +1 -1
  356. package/src/agGrid/ActionColumnRenderer.js +1 -1
  357. package/src/agGrid/Adaptable.d.ts +5 -3
  358. package/src/agGrid/Adaptable.js +106 -121
  359. package/src/agGrid/FilterWrapper.js +3 -3
  360. package/src/agGrid/FloatingFilterWrapper.js +3 -3
  361. package/src/agGrid/PercentBarRenderer.js +6 -6
  362. package/src/agGrid/agGridHelper.js +3 -3
  363. package/src/agGrid/agGridMenuHelper.js +3 -3
  364. package/src/agGrid/weightedAverage.js +2 -2
  365. package/src/components/ExpressionEditor/BaseEditorInput.js +92 -7
  366. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +5 -1
  367. package/src/components/OverlayTrigger/index.js +6 -2
  368. package/src/components/OverlayTrigger/utils.d.ts +1 -1
  369. package/src/components/OverlayTrigger/utils.js +4 -4
  370. package/src/components/icons/index.js +2 -0
  371. package/src/components/icons/open-in-new.d.ts +3 -0
  372. package/src/components/icons/open-in-new.js +7 -0
  373. package/src/env.js +1 -3
  374. package/src/metamodel/adaptable.metamodel.d.ts +30 -10
  375. package/src/metamodel/adaptable.metamodel.js +1 -1
  376. package/src/parser/src/parser.js +644 -382
  377. package/src/parser/src/types.d.ts +9 -0
  378. package/src/types.d.ts +3 -3
  379. package/version.d.ts +1 -1
  380. package/version.js +1 -1
  381. package/src/Api/InternalApi.d.ts +0 -155
  382. package/src/Api/InternalApi.js +0 -2
@@ -1,51 +1,80 @@
1
1
  import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
2
  import { AlertApi } from '../AlertApi';
3
- import { AlertState, AlertDefinition, AlertProperties, AdaptableAlertAction, AlertButton } from '../../PredefinedConfig/AlertState';
3
+ import { AdaptableAlertAction, AlertButton, AlertDefinition, AlertProperties, AlertState } from '../../PredefinedConfig/AlertState';
4
4
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
5
5
  import { AdaptableScope } from '../../PredefinedConfig/Common/AdaptableScope';
6
6
  import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
7
7
  import { AdaptableAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
8
- import { AdaptableForm, AdaptableFormData } from '../../PredefinedConfig/Common/AdaptableForm';
8
+ import { AdaptableFormData } from '../../PredefinedConfig/Common/AdaptableForm';
9
9
  import { AlertFormContext } from '../../AdaptableOptions/AlertOptions';
10
10
  import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
11
11
  import { GridDataChangedInfo } from '../Events/GridDataChanged';
12
+ import { AdaptableObjectLookupCriteria } from '../../PredefinedConfig/Common/AdaptableObject';
13
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
14
+ import { AlertInternalApi } from '../Internal/AlertInternalApi';
12
15
  export declare class AlertApiImpl extends ApiBase implements AlertApi {
16
+ internalApi: AlertInternalApi;
17
+ constructor(adaptable: IAdaptable);
13
18
  getAlertState(): AlertState;
14
- getAdaptableFormByName(name: string): AdaptableForm<AlertFormContext> | undefined;
15
19
  getAlertDefinitions(config?: LayoutAssociatedObjectLoadConfig): AlertDefinition[];
20
+ getSuspendedAlertDefinitions(config?: {
21
+ includeLayoutNotAssociatedObjects?: boolean;
22
+ }): AlertDefinition[];
23
+ getActiveAlertDefinitions(config?: {
24
+ includeLayoutNotAssociatedObjects?: boolean;
25
+ }): AlertDefinition[];
26
+ deleteAlertDefinition(alertDefinition: AlertDefinition): void;
16
27
  getAlertDefinitionById(id: AlertDefinition['Uuid']): AlertDefinition;
17
- getNonReactiveAlertDefinitions(): AlertDefinition[];
18
- getActiveNonReactiveAlertDefinitions(): AlertDefinition[];
19
- getReactiveAlertDefinitions(): AlertDefinition[];
20
- getActiveReactiveAlertDefinitions(): AlertDefinition[];
21
- getAlertDefinitionsWithPreventEdit(): AlertDefinition[];
22
- getAlertDefinitionsWithAllowEdit(): AlertDefinition[];
23
28
  addAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
24
- executeAlertButton(button: AlertButton<AlertFormContext>, context: AlertFormContext): void;
25
- executeAlertAction(actionName: AdaptableAlertAction, details: {
26
- alertDefinition: AlertDefinition;
27
- cellDataChangedInfo?: CellDataChangedInfo;
28
- gridDataChangedInfo?: GridDataChangedInfo;
29
- formData?: AdaptableFormData;
30
- }): void;
31
- displayAlert(alertToShow: AdaptableAlert): Promise<any>;
32
- publishAlertFiredEvent(alertToFire: AdaptableAlert): void;
29
+ displayAlert(alertToShow: AdaptableAlert): Promise<void>;
30
+ showAdaptableAlert(alertToShow: AdaptableAlert): Promise<void>;
33
31
  displayMessageAlertPopup(alertToDisplayAsPopup: AdaptableAlert): void;
34
- showAlert(alertHeader: string, alertMessage: string, messageType: AdaptableMessageType, alertProperties?: AlertProperties): void;
35
- showAlertInfo(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): void;
36
- showAlertSuccess(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): void;
37
- showAlertWarning(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): void;
38
- showAlertError(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): void;
32
+ showAdaptableAlertAsToast(alert: AdaptableAlert): void;
33
+ showAlert(alertHeader: string, alertMessage: string, messageType: AdaptableMessageType, alertProperties?: AlertProperties): Promise<void>;
34
+ showAlertInfo(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
35
+ showAlertSuccess(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
36
+ showAlertWarning(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
37
+ showAlertError(alertHeader: string, alertMessage: string, alertProperties?: AlertProperties): Promise<void>;
38
+ openAlertSettingsPanel(): void;
39
39
  showAlertPopup(): void;
40
- getAlertPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
41
40
  editAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
42
41
  suspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
43
42
  unSuspendAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
44
- getAlertMessageTitle(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string | undefined;
43
+ evaluateAlerts(alertDefinitions: AlertDefinition[]): void;
44
+ findAlertDefinitions(criteria: AdaptableObjectLookupCriteria): AlertDefinition[];
45
+ private getRelevantColumnIdsForAlertDefinition;
46
+ private createCellDataChangeInfoStubs;
47
+ /**
48
+ * DEPRECATED INTERNAL METHODS
49
+ */
50
+ executeAlertAction(actionName: AdaptableAlertAction | string, details: {
51
+ alertDefinition: AlertDefinition;
52
+ cellDataChangedInfo?: CellDataChangedInfo;
53
+ gridDataChangedInfo?: GridDataChangedInfo;
54
+ formData?: AdaptableFormData;
55
+ }): void;
56
+ executeAlertButton(button: AlertButton<AlertFormContext>, context: AlertFormContext): void;
57
+ getActiveNonReactiveAlertDefinitions(): AlertDefinition[];
58
+ getActiveReactiveAlertDefinitions(): AlertDefinition[];
59
+ getAlertDefinitionsWithAllowEdit(): AlertDefinition[];
60
+ getAlertDefinitionsWithPreventEdit(): AlertDefinition[];
45
61
  getAlertDescription(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
46
- getAlertRuleDescription(alert: AlertDefinition): string;
62
+ getAlertMessageTitle(alertDefinition: AlertDefinition, cellDataChangedInfo?: CellDataChangedInfo): string;
63
+ getAlertPredicateDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
64
+ getAlertRuleDescription(alertDefinition: AlertDefinition): string;
65
+ getAlertTypeForAdaptableAlert(alert: AdaptableAlert): 'cellChanged' | 'rowChanged' | 'generic';
66
+ getCustomAlertDescription(alertDefinition: AlertDefinition, dataChangedInfo?: {
67
+ cellDataChangedInfo?: CellDataChangedInfo;
68
+ gridDataChangedInfo?: GridDataChangedInfo;
69
+ }): string;
70
+ getCustomAlertMessageTitle(alertDefinition: AlertDefinition, dataChangedInfo?: {
71
+ cellDataChangedInfo?: CellDataChangedInfo;
72
+ gridDataChangedInfo?: GridDataChangedInfo;
73
+ }): string;
74
+ getNonReactiveAlertDefinitions(): AlertDefinition[];
75
+ getReactiveAlertDefinitions(): AlertDefinition[];
47
76
  isCellChangedAdaptableAlert(alert: AdaptableAlert): boolean;
48
- isRowChangedAdaptableAlert(alert: AdaptableAlert): boolean;
49
77
  isGenericAdaptableAlert(alert: AdaptableAlert): boolean;
50
- getAlertTypeForAdaptableAlert(alert: AdaptableAlert): 'cellChanged' | 'rowChanged' | 'generic';
78
+ isRowChangedAdaptableAlert(alert: AdaptableAlert): boolean;
79
+ publishAlertFiredEvent(alertToFire: AdaptableAlert): void;
51
80
  }
@@ -10,158 +10,43 @@ const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
10
10
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
11
11
  const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectFactory"));
12
12
  const AdaptableAlert_1 = require("../../PredefinedConfig/Common/AdaptableAlert");
13
- const AdaptableQuery_1 = require("../../PredefinedConfig/Common/AdaptableQuery");
13
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
14
+ const AlertInternalApi_1 = require("../Internal/AlertInternalApi");
15
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
14
16
  class AlertApiImpl extends ApiBase_1.ApiBase {
17
+ constructor(adaptable) {
18
+ super(adaptable);
19
+ this.internalApi = new AlertInternalApi_1.AlertInternalApi(adaptable);
20
+ }
15
21
  getAlertState() {
16
22
  return this.getAdaptableState().Alert;
17
23
  }
18
- getAdaptableFormByName(name) {
19
- var _a;
20
- const alertForms = this.getAlertOptions().alertForms || [];
21
- return (_a = alertForms.find((f) => f.name === name)) === null || _a === void 0 ? void 0 : _a.form;
22
- }
23
24
  getAlertDefinitions(config) {
24
25
  var _a;
25
26
  return ((_a = this.handleLayoutAssociatedObjects(this.getAlertState().AlertDefinitions, 'Alert', config)) !== null && _a !== void 0 ? _a : []);
26
27
  }
27
- getAlertDefinitionById(id) {
28
- return this.getAlertDefinitions().find((alert) => (alert === null || alert === void 0 ? void 0 : alert.Uuid) === id);
29
- }
30
- getNonReactiveAlertDefinitions() {
31
- return this.getAlertDefinitions().filter((alertDef) => !(0, AdaptableQuery_1.isReactiveQuery)(alertDef.Rule));
32
- }
33
- getActiveNonReactiveAlertDefinitions() {
34
- return this.getNonReactiveAlertDefinitions().filter((alertDef) => !alertDef.IsSuspended);
35
- }
36
- getReactiveAlertDefinitions() {
37
- return this.getAlertDefinitions().filter((alertDef) => (0, AdaptableQuery_1.isReactiveQuery)(alertDef.Rule));
28
+ getSuspendedAlertDefinitions(config) {
29
+ return this.getAlertDefinitions(config).filter((alertDefinition) => alertDefinition.IsSuspended);
38
30
  }
39
- getActiveReactiveAlertDefinitions() {
40
- return this.getReactiveAlertDefinitions().filter((alertDef) => !alertDef.IsSuspended);
31
+ getActiveAlertDefinitions(config) {
32
+ return this.getAlertDefinitions(config).filter((alertDefinition) => !alertDefinition.IsSuspended);
41
33
  }
42
- getAlertDefinitionsWithPreventEdit() {
43
- return this.getActiveNonReactiveAlertDefinitions().filter((a) => a.AlertProperties != null && a.AlertProperties.PreventEdit === true);
34
+ deleteAlertDefinition(alertDefinition) {
35
+ this.dispatchAction(AlertRedux.AlertDefinitionDelete(alertDefinition));
44
36
  }
45
- getAlertDefinitionsWithAllowEdit() {
46
- return this.getActiveNonReactiveAlertDefinitions().filter((a) => a.AlertProperties == null || a.AlertProperties.PreventEdit !== true);
37
+ getAlertDefinitionById(id) {
38
+ return this.getAlertDefinitions().find((alert) => (alert === null || alert === void 0 ? void 0 : alert.Uuid) === id);
47
39
  }
48
40
  addAlertDefinition(alertDefinition) {
49
41
  this.addUidToAdaptableObject(alertDefinition);
50
42
  this.dispatchAction(AlertRedux.AlertDefinitionAdd(alertDefinition));
51
43
  return this.getAlertDefinitionById(alertDefinition.Uuid);
52
44
  }
53
- executeAlertButton(button, context) {
54
- if (button.Action) {
55
- let actions = button.Action;
56
- if (typeof actions === 'function') {
57
- actions(context);
58
- return;
59
- }
60
- if (!Array.isArray(actions)) {
61
- actions = [actions];
62
- }
63
- actions.forEach((action) => {
64
- var _a;
65
- const buttonOnClick = (_a = this.getAlertOptions().actionHandlers) === null || _a === void 0 ? void 0 : _a.find((x) => x.name === action);
66
- buttonOnClick === null || buttonOnClick === void 0 ? void 0 : buttonOnClick.handler(button, context);
67
- this.adaptable.api.alertApi.executeAlertAction(action, {
68
- alertDefinition: context.alert.alertDefinition,
69
- cellDataChangedInfo: (0, AdaptableAlert_1.isAdaptableCellChangedAlert)(context.alert)
70
- ? context.alert.cellDataChangedInfo
71
- : null,
72
- gridDataChangedInfo: (0, AdaptableAlert_1.isAdaptableRowChangedAlert)(context.alert)
73
- ? context.alert.gridDataChangedInfo
74
- : null,
75
- formData: context.formData,
76
- });
77
- });
78
- }
79
- }
80
- executeAlertAction(actionName, details) {
81
- const { alertDefinition, cellDataChangedInfo: cellDataChangedInfo, gridDataChangedInfo, } = details;
82
- const getBackgroundColor = (alertDefinition) => {
83
- var _a;
84
- const highlightType = (_a = alertDefinition.MessageType) !== null && _a !== void 0 ? _a : 'Info';
85
- let backgroundColor = '';
86
- switch (highlightType) {
87
- case 'Error':
88
- backgroundColor = 'var(--ab-color-error)';
89
- break;
90
- case 'Info':
91
- backgroundColor = 'var(--ab-color-info)';
92
- break;
93
- case 'Success':
94
- backgroundColor = 'var(--ab-color-success)';
95
- break;
96
- case 'Warning':
97
- backgroundColor = 'var(--ab-color-warn)';
98
- }
99
- return backgroundColor;
100
- };
101
- if (actionName === 'highlight-cell' && cellDataChangedInfo) {
102
- const backgroundColor = getBackgroundColor(alertDefinition);
103
- this.adaptable.api.gridApi.highlightCell({
104
- columnId: cellDataChangedInfo.column.columnId,
105
- primaryKeyValue: cellDataChangedInfo.primaryKeyValue,
106
- highlightStyle: {
107
- BackColor: backgroundColor,
108
- },
109
- timeout: this.getAlertOptions().cellHighlightDuration,
110
- });
111
- }
112
- if (actionName === 'highlight-row' && cellDataChangedInfo) {
113
- const rowsHighlightInfo = {
114
- primaryKeyValues: [cellDataChangedInfo.primaryKeyValue],
115
- highlightStyle: {
116
- BackColor: getBackgroundColor(alertDefinition),
117
- },
118
- timeout: this.getAlertOptions().rowHighlightDuration,
119
- };
120
- this.adaptable.api.gridApi.highlightRows(rowsHighlightInfo);
121
- }
122
- if (actionName === 'highlight-row' &&
123
- gridDataChangedInfo &&
124
- // no sense to highlight a deleted(non-existing) row
125
- (gridDataChangedInfo === null || gridDataChangedInfo === void 0 ? void 0 : gridDataChangedInfo.rowTrigger) !== 'Delete') {
126
- const primaryKeyValues = this.adaptable.api.gridApi.getPrimaryKeyValuesForRowNodes(gridDataChangedInfo.rowNodes);
127
- const rowsHighlightInfo = {
128
- primaryKeyValues,
129
- highlightStyle: {
130
- BackColor: getBackgroundColor(alertDefinition),
131
- },
132
- timeout: this.getAlertOptions().rowHighlightDuration,
133
- };
134
- this.adaptable.api.gridApi.highlightRows(rowsHighlightInfo);
135
- }
136
- if (actionName === 'jump-to-cell' && cellDataChangedInfo) {
137
- this.adaptable.api.gridApi.jumpToCell(cellDataChangedInfo.primaryKeyValue, cellDataChangedInfo.column.columnId);
138
- }
139
- if (actionName === 'jump-to-row' &&
140
- // either a cell change
141
- (cellDataChangedInfo ||
142
- // or a grid change, but NOT row deletion
143
- (gridDataChangedInfo &&
144
- // no sense to jump to a deleted(non-existing) row
145
- (gridDataChangedInfo === null || gridDataChangedInfo === void 0 ? void 0 : gridDataChangedInfo.rowTrigger) !== 'Delete'))) {
146
- const [firstRowNode] = cellDataChangedInfo
147
- ? [cellDataChangedInfo.rowNode]
148
- : gridDataChangedInfo.rowNodes;
149
- const targetRowNodePrimaryKeyValue = this.adaptable.api.gridApi.getPrimaryKeyValueForRowNode(firstRowNode);
150
- if (targetRowNodePrimaryKeyValue) {
151
- this.adaptable.api.gridApi.jumpToRow(targetRowNodePrimaryKeyValue);
152
- }
153
- }
154
- if (actionName === 'jump-to-column' && cellDataChangedInfo) {
155
- this.adaptable.api.gridApi.jumpToColumn(cellDataChangedInfo.column.columnId);
156
- }
157
- if (actionName === 'suspend') {
158
- this.adaptable.api.alertApi.suspendAlertDefinition(alertDefinition);
159
- }
160
- if (actionName === 'undo' && cellDataChangedInfo) {
161
- this.adaptable.api.gridApi.undoCellEdit(cellDataChangedInfo);
162
- }
163
- }
164
45
  async displayAlert(alertToShow) {
46
+ (0, logDeprecation_1.logDeprecation)('AlertApi', 'displayAlert', 'showAdaptableAlert');
47
+ await this.showAdaptableAlert(alertToShow);
48
+ }
49
+ async showAdaptableAlert(alertToShow) {
165
50
  var _a, _b;
166
51
  // 3 things we always do with an alert are:
167
52
  // 1. Dispatch the Alert (so it appears in the toolbar)
@@ -253,40 +138,36 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
253
138
  }
254
139
  }
255
140
  }
256
- publishAlertFiredEvent(alertToFire) {
257
- const alertFiredInfo = {
258
- adaptableApi: this.adaptable.api,
259
- alert: alertToFire,
260
- };
261
- this.adaptable.api.eventApi.emit('AlertFired', alertFiredInfo);
262
- }
263
141
  displayMessageAlertPopup(alertToDisplayAsPopup) {
264
- this.dispatchAction(PopupRedux.PopupShowAlert(alertToDisplayAsPopup));
142
+ (0, logDeprecation_1.logDeprecation)('AlertApi', 'displayMessageAlertPopup', 'showAdaptableAlertAsToast');
143
+ this.showAdaptableAlertAsToast(alertToDisplayAsPopup);
144
+ }
145
+ showAdaptableAlertAsToast(alert) {
146
+ this.dispatchAction(PopupRedux.PopupShowAlert(alert));
265
147
  }
266
- showAlert(alertHeader, alertMessage, messageType, alertProperties) {
148
+ async showAlert(alertHeader, alertMessage, messageType, alertProperties) {
267
149
  const alertDefinition = ObjectFactory_1.default.CreateInternalAlertDefinitionForMessages(messageType, alertProperties);
268
150
  let alertToShow = ObjectFactory_1.default.CreateGenericAlert(alertHeader, alertMessage, alertDefinition);
269
- this.displayAlert(alertToShow);
151
+ await this.showAdaptableAlert(alertToShow);
270
152
  }
271
- showAlertInfo(alertHeader, alertMessage, alertProperties) {
272
- this.showAlert(alertHeader, alertMessage, 'Info', alertProperties);
153
+ async showAlertInfo(alertHeader, alertMessage, alertProperties) {
154
+ await this.showAlert(alertHeader, alertMessage, 'Info', alertProperties);
273
155
  }
274
- showAlertSuccess(alertHeader, alertMessage, alertProperties) {
275
- this.showAlert(alertHeader, alertMessage, 'Success', alertProperties);
156
+ async showAlertSuccess(alertHeader, alertMessage, alertProperties) {
157
+ await this.showAlert(alertHeader, alertMessage, 'Success', alertProperties);
276
158
  }
277
- showAlertWarning(alertHeader, alertMessage, alertProperties) {
278
- this.showAlert(alertHeader, alertMessage, 'Warning', alertProperties);
159
+ async showAlertWarning(alertHeader, alertMessage, alertProperties) {
160
+ await this.showAlert(alertHeader, alertMessage, 'Warning', alertProperties);
279
161
  }
280
- showAlertError(alertHeader, alertMessage, alertProperties) {
281
- this.showAlert(alertHeader, alertMessage, 'Error', alertProperties);
162
+ async showAlertError(alertHeader, alertMessage, alertProperties) {
163
+ await this.showAlert(alertHeader, alertMessage, 'Error', alertProperties);
282
164
  }
283
- showAlertPopup() {
165
+ openAlertSettingsPanel() {
284
166
  this.showModulePopup(ModuleConstants.AlertModuleId);
285
167
  }
286
- getAlertPredicateDefsForScope(scope) {
287
- return this.getAdaptableApi()
288
- .predicateApi.getAlertPredicateDefs()
289
- .filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
168
+ showAlertPopup() {
169
+ (0, logDeprecation_1.logDeprecation)('AlertApi', 'showAlertPopup', 'openAlertSettingsPanel');
170
+ this.openAlertSettingsPanel();
290
171
  }
291
172
  editAlertDefinition(alertDefinition) {
292
173
  this.dispatchAction(AlertRedux.AlertDefinitionEdit(alertDefinition));
@@ -300,57 +181,158 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
300
181
  this.dispatchAction(AlertRedux.AlertDefinitionUnSuspend(alertDefinition));
301
182
  return this.getAlertDefinitionById(alertDefinition.Uuid);
302
183
  }
303
- getAlertMessageTitle(alertDefinition, cellDataChangedInfo) {
304
- var _a, _b;
305
- const alertMessageFunction = (_a = this.adaptable.adaptableOptions.alertOptions) === null || _a === void 0 ? void 0 : _a.alertMessageTitle;
306
- if (alertMessageFunction) {
307
- const returnText = alertMessageFunction({ alertDefinition, cellDataChangedInfo });
308
- if (returnText) {
309
- return returnText;
184
+ evaluateAlerts(alertDefinitions) {
185
+ const filterScopeAllDefinitions = (alertDefinition) => {
186
+ if (this.getAdaptableApi().scopeApi.scopeIsAll(alertDefinition.Scope) &&
187
+ !this.getAdaptableApi().queryLanguageApi.getAdaptableQueryExpression(alertDefinition.Rule)) {
188
+ // we don't support scope ALL without an expression
189
+ // the predicates for scope ALL do NOT make any sense for a programmatic evaluation
190
+ return false;
310
191
  }
192
+ return true;
193
+ };
194
+ const relevantAlertDefinitions = alertDefinitions.filter((alertDefinition) => filterScopeAllDefinitions(alertDefinition));
195
+ const relevantColumnIds = new Set();
196
+ relevantAlertDefinitions.forEach((alertDefinition) => {
197
+ this.getRelevantColumnIdsForAlertDefinition(alertDefinition).forEach((relevantColumnId) => relevantColumnIds.add(relevantColumnId));
198
+ });
199
+ if (!relevantColumnIds.size) {
200
+ return;
311
201
  }
312
- if (alertDefinition.MessageHeader) {
313
- return alertDefinition.MessageHeader;
202
+ const cellDataChangedInfos = this.createCellDataChangeInfoStubs(Array.from(relevantColumnIds));
203
+ cellDataChangedInfos.forEach((cellDataChangedInfo) => {
204
+ const alertDefinitions = this.getAdaptableApi()
205
+ .alertApi.internalApi.getAlertDefinitionsForCellDataChange(cellDataChangedInfo)
206
+ .filter((alertDefinition) => filterScopeAllDefinitions(alertDefinition))
207
+ // some alert definitions might NOT be relevant for the given locator
208
+ .filter((alertDefinition) => relevantAlertDefinitions.some((relevantAlertDefinition) => relevantAlertDefinition.Uuid === alertDefinition.Uuid));
209
+ this.getAdaptableApi().alertApi.internalApi.showAlertForDefinitions(cellDataChangedInfo, alertDefinitions);
210
+ });
211
+ }
212
+ findAlertDefinitions(criteria) {
213
+ return this.getAdaptableApi().internalApi.findAdaptableObjectsByLookupCriteria(criteria, this.getAlertDefinitions({
214
+ includeLayoutNotAssociatedObjects: true,
215
+ }));
216
+ }
217
+ getRelevantColumnIdsForAlertDefinition(alertDefinition) {
218
+ // if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
219
+ // columns referenced in rule expression
220
+ const ruleExpression = this.getAdaptableApi().queryLanguageApi.getAdaptableQueryExpression(alertDefinition.Rule);
221
+ if (this.getAdaptableApi().scopeApi.scopeIsAll(alertDefinition.Scope) &&
222
+ StringExtensions_1.default.IsNotNullOrEmpty(ruleExpression)) {
223
+ // return only first referenced column (otherwise we would generate multiple alerts for the same row)
224
+ const queryColumns = this.getAdaptableApi()
225
+ .internalApi.getQueryLanguageService()
226
+ .getColumnsFromExpression(ruleExpression);
227
+ return queryColumns.length > 0 ? [queryColumns[0]] : [];
314
228
  }
315
- return (_b = cellDataChangedInfo === null || cellDataChangedInfo === void 0 ? void 0 : cellDataChangedInfo.column) === null || _b === void 0 ? void 0 : _b.friendlyName;
229
+ else {
230
+ // otherwise return all columns for given scope
231
+ return this.getAdaptableApi()
232
+ .scopeApi.getColumnsForScope(alertDefinition.Scope)
233
+ .map((adaptableColumn) => adaptableColumn.columnId);
234
+ }
235
+ }
236
+ createCellDataChangeInfoStubs(relevantColumnIds) {
237
+ const cellDataChangeInfos = [];
238
+ const relevantColumns = this.getAdaptableApi()
239
+ .columnApi.getColumnsWithColumnIds(relevantColumnIds)
240
+ .filter(Boolean);
241
+ const changedAt = Date.now();
242
+ this.adaptable.forAllRowNodesDo((rowNode) => {
243
+ relevantColumns.forEach((column) => {
244
+ const cellDataChangeInfoStub = {
245
+ changedAt,
246
+ rowNode,
247
+ column,
248
+ rowData: rowNode.data,
249
+ oldValue: null,
250
+ newValue: this.adaptable.getRawValueFromRowNode(rowNode, column.columnId),
251
+ primaryKeyValue: this.adaptable.getPrimaryKeyValueFromRowNode(rowNode),
252
+ };
253
+ cellDataChangeInfos.push(cellDataChangeInfoStub);
254
+ });
255
+ });
256
+ return cellDataChangeInfos;
257
+ }
258
+ /**
259
+ * DEPRECATED INTERNAL METHODS
260
+ */
261
+ executeAlertAction(actionName, details) {
262
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'executeAlertAction');
263
+ this.internalApi.executeAlertAction(actionName, details);
264
+ }
265
+ executeAlertButton(button, context) {
266
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'executeAlertButton');
267
+ this.internalApi.executeAlertButton(button, context);
268
+ }
269
+ getActiveNonReactiveAlertDefinitions() {
270
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'executeAlertButton');
271
+ return this.internalApi.getActiveNonReactiveAlertDefinitions();
272
+ }
273
+ getActiveReactiveAlertDefinitions() {
274
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getActiveReactiveAlertDefinitions');
275
+ return this.internalApi.getActiveReactiveAlertDefinitions();
276
+ }
277
+ getAlertDefinitionsWithAllowEdit() {
278
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertDefinitionsWithAllowEdit');
279
+ return this.internalApi.getAlertDefinitionsWithAllowEdit();
280
+ }
281
+ getAlertDefinitionsWithPreventEdit() {
282
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertDefinitionsWithPreventEdit');
283
+ return this.internalApi.getAlertDefinitionsWithPreventEdit();
316
284
  }
317
285
  getAlertDescription(alertDefinition, cellDataChangedInfo) {
318
- var _a;
319
- const alertMessageFunction = (_a = this.adaptable.adaptableOptions.alertOptions) === null || _a === void 0 ? void 0 : _a.alertMessageText;
320
- if (alertMessageFunction) {
321
- const alertMessageContext = {
322
- alertDefinition: alertDefinition,
323
- cellDataChangedInfo: cellDataChangedInfo,
324
- };
325
- const returnText = alertMessageFunction(alertMessageContext);
326
- if (returnText) {
327
- return returnText;
328
- }
329
- }
330
- if (alertDefinition.MessageText != null) {
331
- return alertDefinition.MessageText;
332
- }
333
- let scopeDescription = this.adaptable.api.scopeApi.getScopeDescription(alertDefinition.Scope);
334
- let ruleDescription = this.getAlertRuleDescription(alertDefinition);
335
- return scopeDescription + ' - ' + ruleDescription;
286
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertDescription');
287
+ return this.internalApi.getAlertDescription(alertDefinition, cellDataChangedInfo);
336
288
  }
337
- getAlertRuleDescription(alert) {
338
- let ruleDescription = alert.Rule.Predicate
339
- ? this.adaptable.api.predicateApi.predicateToString(alert.Rule.Predicate)
340
- : this.adaptable.api.internalApi.getAdaptableQueryExpressionText(alert.Rule);
341
- return ruleDescription;
289
+ getAlertMessageTitle(alertDefinition, cellDataChangedInfo) {
290
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertMessageTitle');
291
+ return this.internalApi.getAlertMessageTitle(alertDefinition, cellDataChangedInfo);
342
292
  }
343
- isCellChangedAdaptableAlert(alert) {
344
- return alert.alertType === 'cellChanged';
293
+ getAlertPredicateDefsForScope(scope) {
294
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertPredicateDefsForScope');
295
+ return this.internalApi.getAlertPredicateDefsForScope(scope);
345
296
  }
346
- isRowChangedAdaptableAlert(alert) {
347
- return alert.alertType === 'rowChanged';
297
+ getAlertRuleDescription(alertDefinition) {
298
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertRuleDescription');
299
+ return this.internalApi.getAlertRuleDescription(alertDefinition);
300
+ }
301
+ getAlertTypeForAdaptableAlert(alert) {
302
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getAlertTypeForAdaptableAlert');
303
+ return this.internalApi.getAlertTypeForAdaptableAlert(alert);
304
+ }
305
+ getCustomAlertDescription(alertDefinition, dataChangedInfo) {
306
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getCustomAlertDescription');
307
+ return this.internalApi.getCustomAlertDescription(alertDefinition, dataChangedInfo);
308
+ }
309
+ getCustomAlertMessageTitle(alertDefinition, dataChangedInfo) {
310
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getCustomAlertMessageTitle');
311
+ return this.internalApi.getCustomAlertMessageTitle(alertDefinition, dataChangedInfo);
312
+ }
313
+ getNonReactiveAlertDefinitions() {
314
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getNonReactiveAlertDefinitions');
315
+ return this.internalApi.getNonReactiveAlertDefinitions();
316
+ }
317
+ getReactiveAlertDefinitions() {
318
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'getReactiveAlertDefinitions');
319
+ return this.internalApi.getReactiveAlertDefinitions();
320
+ }
321
+ isCellChangedAdaptableAlert(alert) {
322
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'isCellChangedAdaptableAlert');
323
+ return this.internalApi.isCellChangedAdaptableAlert(alert);
348
324
  }
349
325
  isGenericAdaptableAlert(alert) {
350
- return alert.alertType === 'generic';
326
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'isGenericAdaptableAlert');
327
+ return this.internalApi.isGenericAdaptableAlert(alert);
351
328
  }
352
- getAlertTypeForAdaptableAlert(alert) {
353
- return alert.alertType;
329
+ isRowChangedAdaptableAlert(alert) {
330
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'isRowChangedAdaptableAlert');
331
+ return this.internalApi.isRowChangedAdaptableAlert(alert);
332
+ }
333
+ publishAlertFiredEvent(alertToFire) {
334
+ (0, logDeprecation_1.logDeprecationInternal)('AlertApi', 'publishAlertFiredEvent');
335
+ return this.internalApi.publishAlertFiredEvent(alertToFire);
354
336
  }
355
337
  }
356
338
  exports.AlertApiImpl = AlertApiImpl;
@@ -7,7 +7,7 @@ import { ModuleInfo } from '../../Strategy/Interface/IModule';
7
7
  import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
8
8
  import { AdaptableApi } from '../AdaptableApi';
9
9
  import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
10
- import { ActionOptions, ContainerOptions, DashboardOptions, EditOptions, FilterOptions, GeneralOptions, LayoutAssociatedObject, LayoutOptions, MenuOptions, SearchOptions, StateOptions, TeamSharingOptions, UserInterfaceOptions } from '../../types';
10
+ import { ActionApi, ActionOptions, AlertApi, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CellSummaryApi, ChartingApi, ColumnApi, ConfigApi, ContainerOptions, CustomSortApi, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataSetApi, EditOptions, EntitlementApi, EventApi, ExportApi, FilterApi, FilterOptions, FlashingCellApi, FormatColumnApi, FreeTextColumnApi, GeneralOptions, GridApi, LayoutApi, LayoutAssociatedObject, LayoutOptions, MenuOptions, PluginsApi, PlusMinusApi, PredicateApi, QueryApi, QueryLanguageApi, QuickSearchApi, ScheduleApi, ScopeApi, SearchOptions, SettingsPanelApi, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, UserInterfaceApi, UserInterfaceOptions } from '../../types';
11
11
  import { NotificationsOptions } from '../../AdaptableOptions/NotificationsOptions';
12
12
  import { ToolPanelOptions } from '../../AdaptableOptions/ToolPanelOptions';
13
13
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
@@ -32,7 +32,7 @@ export declare abstract class ApiBase {
32
32
  */
33
33
  protected checkItemExists(item: any, name: string, type: string): boolean;
34
34
  protected checkArrayExists(array: any): boolean;
35
- protected handleLayoutAssociatedObjects<T extends LayoutAssociatedObject>(associatedObjects: T[], module: AdaptableModule, config?: {
35
+ protected handleLayoutAssociatedObjects<T extends LayoutAssociatedObject>(objectList: T[], module: AdaptableModule, config?: {
36
36
  includeLayoutNotAssociatedObjects?: boolean;
37
37
  associatedWithLayout?: string;
38
38
  }): T[];
@@ -71,6 +71,47 @@ export declare abstract class ApiBase {
71
71
  protected getToolPanelOptions(): ToolPanelOptions;
72
72
  protected getExpressionOptions(): ExpressionOptions;
73
73
  protected getAdaptableApi(): AdaptableApi;
74
+ protected getActionApi(): ActionApi;
75
+ protected getApplicationApi(): ApplicationApi;
76
+ protected getAlertApi(): AlertApi;
77
+ protected getFlashingCellApi(): FlashingCellApi;
78
+ protected getPredicateApi(): PredicateApi;
79
+ protected getBulkUpdateApi(): BulkUpdateApi;
80
+ protected getCalendarApi(): CalendarApi;
81
+ protected getCalculatedColumnApi(): CalculatedColumnApi;
82
+ protected getCellSummaryApi(): CellSummaryApi;
83
+ protected getColumnApi(): ColumnApi;
84
+ protected getConfigApi(): ConfigApi;
85
+ protected getCustomSortApi(): CustomSortApi;
86
+ protected getDashboardApi(): DashboardApi;
87
+ protected getDataSetApi(): DataSetApi;
88
+ protected getEntitlementApi(): EntitlementApi;
89
+ protected getEventApi(): EventApi;
90
+ protected getExportApi(): ExportApi;
91
+ protected getFormatColumnApi(): FormatColumnApi;
92
+ protected getFreeTextColumnApi(): FreeTextColumnApi;
93
+ protected getGridApi(): GridApi;
94
+ protected getLayoutApi(): LayoutApi;
95
+ protected getPlusMinusApi(): PlusMinusApi;
96
+ protected getQuickSearchApi(): QuickSearchApi;
97
+ protected getScheduleApi(): ScheduleApi;
98
+ protected getShortcutApi(): ShortcutApi;
99
+ protected getSmartEditApi(): SmartEditApi;
100
+ protected getFilterApi(): FilterApi;
101
+ protected getSystemStatusApi(): SystemStatusApi;
102
+ protected getThemeApi(): ThemeApi;
103
+ protected getUserInterfaceApi(): UserInterfaceApi;
104
+ protected getQueryApi(): QueryApi;
105
+ protected getQueryLanguageApi(): QueryLanguageApi;
106
+ protected getPluginsApi(): PluginsApi;
107
+ protected getSettingsPanelApi(): SettingsPanelApi;
108
+ protected getStyledColumnApi(): StyledColumnApi;
109
+ protected getToolPanelApi(): ToolPanelApi;
110
+ protected getTeamSharingApi(): TeamSharingApi;
111
+ protected getScopeApi(): ScopeApi;
112
+ protected getDataChangeHistoryApi(): DataChangeHistoryApi;
113
+ protected getChartingApi(): ChartingApi;
114
+ protected getStatusBarApi(): StatusBarApi;
74
115
  destroy(): void;
75
116
  }
76
117
  /**