@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
@@ -30,6 +30,39 @@ const sanitizeNumericResult = (value) => {
30
30
  return value;
31
31
  };
32
32
  exports.scalarExpressionFunctions = {
33
+ COL: {
34
+ handler(args, context) {
35
+ var _a, _b;
36
+ const columnId = args[0];
37
+ const column = (_a = context.adaptableApi) === null || _a === void 0 ? void 0 : _a.columnApi.getColumnWithColumnId(columnId);
38
+ if (!column) {
39
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not found`);
40
+ }
41
+ if (!column.queryable) {
42
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not queryable`);
43
+ }
44
+ return (_b = context.adaptableApi) === null || _b === void 0 ? void 0 : _b.gridApi.getNormalisedValueFromRowNode(context.node, columnId);
45
+ },
46
+ description: 'Returns the value of a column',
47
+ signatures: ['[colName]', 'COL(name: string)'],
48
+ examples: ['[col1]', 'COL("col1")'],
49
+ category: 'advanced',
50
+ returnType: 'any',
51
+ },
52
+ VAR: {
53
+ handler(args, context) {
54
+ const [functionName, ...optionalArgs] = args;
55
+ if (StringExtensions_1.default.IsNullOrEmpty(functionName)) {
56
+ throw new ExpressionEvaluationError_1.ExpressionEvaluationError('VAR', 'should have a name');
57
+ }
58
+ return context.evaluateCustomQueryVariable(functionName, optionalArgs);
59
+ },
60
+ description: 'Returns the variable evaluation',
61
+ signatures: ['VAR(varName)', 'VAR(varName, arg1, arg2)'],
62
+ examples: ['VAR(CURRENT_USER)', 'VAR(IS_VALID_VALUE, IS_BLANK([col1]), [col2] < [col3])'],
63
+ category: 'advanced',
64
+ returnType: 'any',
65
+ },
33
66
  ADD: {
34
67
  handler(args) {
35
68
  const sanitizedArguments = sanitizeArguments(args, true);
@@ -43,6 +76,8 @@ exports.scalarExpressionFunctions = {
43
76
  description: 'Returns the sum of 2 numbers',
44
77
  signatures: ['number + number', 'ADD(a: number, b: number)'],
45
78
  examples: ['[col1] + 5', 'ADD([col1], 5)'],
79
+ category: 'math',
80
+ returnType: 'number',
46
81
  },
47
82
  SUB: {
48
83
  handler(args) {
@@ -57,6 +92,8 @@ exports.scalarExpressionFunctions = {
57
92
  description: 'Returns the difference of 2 numbers',
58
93
  signatures: ['number - number', 'SUB(a: number, b: number)'],
59
94
  examples: ['[col1] - 5', 'SUB([col1], 5)'],
95
+ category: 'math',
96
+ returnType: 'number',
60
97
  },
61
98
  MUL: {
62
99
  handler(args) {
@@ -66,6 +103,8 @@ exports.scalarExpressionFunctions = {
66
103
  description: 'Returns the product of 2 numbers',
67
104
  signatures: ['number * number', 'mul(a: number, b: number)'],
68
105
  examples: ['[col1] * 5', 'mul([col1], 5)'],
106
+ category: 'math',
107
+ returnType: 'number',
69
108
  },
70
109
  DIV: {
71
110
  handler(args) {
@@ -75,6 +114,8 @@ exports.scalarExpressionFunctions = {
75
114
  description: 'Returns the division of 2 numbers',
76
115
  signatures: ['number / number', 'DIV(a: number, b: number)'],
77
116
  examples: ['[col1] / 5', 'DIV([col1], 5)'],
117
+ category: 'math',
118
+ returnType: 'number',
78
119
  },
79
120
  MOD: {
80
121
  handler(args) {
@@ -84,6 +125,8 @@ exports.scalarExpressionFunctions = {
84
125
  description: 'Returns the modulo of 2 numbers',
85
126
  signatures: ['number % number', 'MOD(a: number, b: number)'],
86
127
  examples: ['[col1] % 5', 'MOD([col1], 5)'],
128
+ category: 'math',
129
+ returnType: 'number',
87
130
  },
88
131
  POW: {
89
132
  handler(args) {
@@ -93,6 +136,8 @@ exports.scalarExpressionFunctions = {
93
136
  description: 'Returns the pow of 2 numbers',
94
137
  signatures: ['number ^ number', 'POW(a: number, b: number)'],
95
138
  examples: ['[col1] ^ 5', 'POW([col1], 5)'],
139
+ category: 'math',
140
+ returnType: 'number',
96
141
  },
97
142
  IF: {
98
143
  handler(args) {
@@ -102,23 +147,46 @@ exports.scalarExpressionFunctions = {
102
147
  description: 'Returns one of two statements based on a condition',
103
148
  signatures: ['condition ? true_statement : false_statement'],
104
149
  examples: ['[col1] > [col2] ? "BIG" : "SMALL"'],
105
- },
106
- COL: {
107
- handler(args, context) {
108
- var _a, _b;
109
- const columnId = args[0];
110
- const column = (_a = context.adaptableApi) === null || _a === void 0 ? void 0 : _a.columnApi.getColumnFromId(columnId);
111
- if (!column) {
112
- throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not found`);
150
+ category: 'logic',
151
+ returnType: 'any',
152
+ },
153
+ CASE: {
154
+ handler([expressionValueNode, whenThenListNodes, defaultValueNode], context) {
155
+ const caseExpressionValue = expressionValueNode != undefined
156
+ ? // CASE matches the first WHEN statement with the provided expression value
157
+ (0, expressionFunctionUtils_1.evaluateExpressionNode)(expressionValueNode, context)
158
+ : // otherwise it returns the first WHEN statement evaluated to TRUE
159
+ true;
160
+ let matchingCase = null;
161
+ whenThenListNodes.forEach((whenThenStatement) => {
162
+ const whenValue = (0, expressionFunctionUtils_1.evaluateExpressionNode)(whenThenStatement.WHEN, context);
163
+ if (whenValue === caseExpressionValue) {
164
+ matchingCase = (0, expressionFunctionUtils_1.evaluateExpressionNode)(whenThenStatement.THEN, context);
165
+ return;
166
+ }
167
+ });
168
+ if (!matchingCase && defaultValueNode) {
169
+ // if provided, return the default CASE
170
+ matchingCase = (0, expressionFunctionUtils_1.evaluateExpressionNode)(defaultValueNode, context);
113
171
  }
114
- if (!column.queryable) {
115
- throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not queryable`);
116
- }
117
- return (_b = context.adaptableApi) === null || _b === void 0 ? void 0 : _b.gridApi.getNormalisedValueFromRowNode(context.node, columnId);
172
+ return matchingCase;
118
173
  },
119
- description: 'Returns the value of a column',
120
- signatures: ['[colName]', 'COL(name: string)'],
121
- examples: ['[col1]', 'COL("col1")'],
174
+ isHiddenFromMenu: true,
175
+ hasEagerEvaluation: true,
176
+ description: `The syntax of CASE supports 2 variants:
177
+ 1. CASE takes an expression and compares its value with each WHEN clause until one of them is equal, whereupon the corresponding THEN clause is executed.
178
+ 2. Each expression in the WHEN clause is evaluated until one of them is true, whereupon the corresponding THEN clause is executed.
179
+ If no WHEN clause is satisfied, the ELSE clause is executed if one exists, otherwise NULL is returned`,
180
+ signatures: [
181
+ `CASE <expression> [WHEN <expression> THEN <expression>] [ELSE <expression>] END`,
182
+ `CASE [WHEN <expression> THEN <expression>] [ELSE <expression>] END`,
183
+ ],
184
+ examples: [
185
+ `CASE [day] WHEN 'Saturday' THEN 'weekend' WHEN 'Sunday' THEN 'weekend' ELSE 'workday' END`,
186
+ `CASE WHEN [price] < 10 THEN 'low price' WHEN [price] < 50 THEN 'medium price' ELSE 'high price' END`,
187
+ ],
188
+ category: 'logic',
189
+ returnType: 'any',
122
190
  },
123
191
  MIN: {
124
192
  handler(args) {
@@ -127,6 +195,8 @@ exports.scalarExpressionFunctions = {
127
195
  description: 'Returns the smallest of inputted numbers',
128
196
  signatures: ['MIN(number, number, ...number)'],
129
197
  examples: ['MIN([col1], 5)'],
198
+ category: 'math',
199
+ returnType: 'number',
130
200
  },
131
201
  MAX: {
132
202
  handler(args) {
@@ -135,6 +205,8 @@ exports.scalarExpressionFunctions = {
135
205
  description: 'Returns the highest of inputted numbers',
136
206
  signatures: ['MAX(number, number, ...number)'],
137
207
  examples: ['MAX([col1], 5)'],
208
+ category: 'math',
209
+ returnType: 'number',
138
210
  },
139
211
  AVG: {
140
212
  handler(args) {
@@ -148,6 +220,8 @@ exports.scalarExpressionFunctions = {
148
220
  description: 'Returns the average of inputted numbers',
149
221
  signatures: ['AVG(number, number, ...number)'],
150
222
  examples: ['AVG([col1], 5)'],
223
+ category: 'math',
224
+ returnType: 'number',
151
225
  },
152
226
  DATE: {
153
227
  handler(args) {
@@ -161,6 +235,8 @@ exports.scalarExpressionFunctions = {
161
235
  'DATE("YYYY-MM-DD HH:SS")',
162
236
  ],
163
237
  examples: ['DATE("20210101")', 'DATE("2021-01-01")', 'DATE("2021-01-01 10:10")'],
238
+ category: 'dates',
239
+ returnType: 'date',
164
240
  },
165
241
  NOW: {
166
242
  handler() {
@@ -169,6 +245,8 @@ exports.scalarExpressionFunctions = {
169
245
  description: 'Returns the current date',
170
246
  signatures: ['NOW()'],
171
247
  examples: ['[col1] > NOW()'],
248
+ category: 'dates',
249
+ returnType: 'date',
172
250
  },
173
251
  TODAY: {
174
252
  handler() {
@@ -177,6 +255,8 @@ exports.scalarExpressionFunctions = {
177
255
  description: 'Returns the current day',
178
256
  signatures: ['TODAY()'],
179
257
  examples: ['[col1] > TODAY()'],
258
+ category: 'dates',
259
+ returnType: 'date',
180
260
  },
181
261
  DAY: {
182
262
  handler(args) {
@@ -185,6 +265,8 @@ exports.scalarExpressionFunctions = {
185
265
  description: 'Returns the day from a date',
186
266
  signatures: ['DAY(input: date)'],
187
267
  examples: ['DAY([col1]) = DAY(NOW())'],
268
+ category: 'dates',
269
+ returnType: 'date',
188
270
  },
189
271
  WEEK: {
190
272
  handler(args) {
@@ -193,6 +275,8 @@ exports.scalarExpressionFunctions = {
193
275
  description: 'Returns the week from a date',
194
276
  signatures: ['WEEK(input: date)'],
195
277
  examples: ['WEEK([col1]) = WEEK(NOW())'],
278
+ category: 'dates',
279
+ returnType: 'number',
196
280
  },
197
281
  MONTH: {
198
282
  handler(args) {
@@ -201,6 +285,8 @@ exports.scalarExpressionFunctions = {
201
285
  description: 'Returns the month from a date',
202
286
  signatures: ['MONTH(input: date)'],
203
287
  examples: ['MONTH([col1]) = MONTH(NOW())'],
288
+ category: 'dates',
289
+ returnType: 'number',
204
290
  },
205
291
  YEAR: {
206
292
  handler(args) {
@@ -209,6 +295,8 @@ exports.scalarExpressionFunctions = {
209
295
  description: 'Returns the year from a date',
210
296
  signatures: ['YEAR(input: date)'],
211
297
  examples: ['YEAR([col1]) = YEAR(NOW())'],
298
+ category: 'dates',
299
+ returnType: 'date',
212
300
  },
213
301
  ADD_DAYS: {
214
302
  handler(args) {
@@ -217,6 +305,8 @@ exports.scalarExpressionFunctions = {
217
305
  description: 'Returns a date based on input data and days to add',
218
306
  signatures: ['ADD_DAYS(input: date, days: number)'],
219
307
  examples: ['ADD_DAYS(TODAY(), 5)', 'ADD_DAYS([col1], 5)'],
308
+ category: 'dates',
309
+ returnType: 'date',
220
310
  },
221
311
  ADD_WEEKS: {
222
312
  handler(args) {
@@ -225,6 +315,8 @@ exports.scalarExpressionFunctions = {
225
315
  description: 'Returns a date based on input data and weeks to add',
226
316
  signatures: ['ADD_WEEKS(input: date, weeks: number)'],
227
317
  examples: ['ADD_WEEKS(TODAY(), 5)', 'ADD_WEEKS([col1], 5)'],
318
+ category: 'dates',
319
+ returnType: 'date',
228
320
  },
229
321
  ADD_MONTHS: {
230
322
  handler(args) {
@@ -233,6 +325,8 @@ exports.scalarExpressionFunctions = {
233
325
  description: 'Returns a date based on input data and months to add',
234
326
  signatures: ['ADD_MONTHS(input: date, months: number)'],
235
327
  examples: ['ADD_MONTHS(TODAY(), 5)', 'ADD_MONTHS([col1], 5)'],
328
+ category: 'dates',
329
+ returnType: 'date',
236
330
  },
237
331
  ADD_YEARS: {
238
332
  handler(args) {
@@ -241,6 +335,8 @@ exports.scalarExpressionFunctions = {
241
335
  description: 'Returns a date based on input data and years to add',
242
336
  signatures: ['ADD_YEARS(input: date, years: number)'],
243
337
  examples: ['ADD_YEARS(TODAY(), 5)', 'ADD_YEARS([col1], 5)'],
338
+ category: 'dates',
339
+ returnType: 'date',
244
340
  },
245
341
  DIFF_DAYS: {
246
342
  handler(args) {
@@ -251,6 +347,8 @@ exports.scalarExpressionFunctions = {
251
347
  description: 'Returns the difference in days between 2 dates',
252
348
  signatures: ['DIFF_DAYS(a: date, b: date)'],
253
349
  examples: ['DIFF_DAYS([col1], TODAY())'],
350
+ category: 'dates',
351
+ returnType: 'number',
254
352
  },
255
353
  DIFF_WEEKS: {
256
354
  handler(args) {
@@ -261,6 +359,8 @@ exports.scalarExpressionFunctions = {
261
359
  description: 'Returns the difference in weeks between 2 dates',
262
360
  signatures: ['DIFF_WEEKS(a: date, b: date)'],
263
361
  examples: ['DIFF_WEEKS([col1], TODAY())'],
362
+ category: 'dates',
363
+ returnType: 'number',
264
364
  },
265
365
  DIFF_MONTHS: {
266
366
  handler(args) {
@@ -271,6 +371,8 @@ exports.scalarExpressionFunctions = {
271
371
  description: 'Returns the difference in months between 2 dates',
272
372
  signatures: ['DIFF_MONTHS(a: date, b: date)'],
273
373
  examples: ['DIFF_MONTHS([col1], TODAY())'],
374
+ category: 'dates',
375
+ returnType: 'number',
274
376
  },
275
377
  DIFF_YEARS: {
276
378
  handler(args) {
@@ -281,6 +383,8 @@ exports.scalarExpressionFunctions = {
281
383
  description: 'Returns the difference in years between 2 dates',
282
384
  signatures: ['DIFF_YEARS(a: date, b: date)'],
283
385
  examples: ['DIFF_YEARS([col1], TODAY())'],
386
+ category: 'dates',
387
+ returnType: 'number',
284
388
  },
285
389
  LEN: {
286
390
  handler(args) {
@@ -289,6 +393,8 @@ exports.scalarExpressionFunctions = {
289
393
  description: 'Returns the length of a string',
290
394
  signatures: ['LEN(a: string)'],
291
395
  examples: ['LEN([col1])'],
396
+ category: 'strings',
397
+ returnType: 'number',
292
398
  },
293
399
  SUB_STRING: {
294
400
  handler(args) {
@@ -297,6 +403,8 @@ exports.scalarExpressionFunctions = {
297
403
  description: 'Extracts characters from string, between 2 indices, returning new sub string',
298
404
  signatures: ['SUB_STRING(a: string, b: number, c:number)'],
299
405
  examples: ['SUB_STRING([col1], 1, 5)'],
406
+ category: 'strings',
407
+ returnType: 'string',
300
408
  },
301
409
  UPPER: {
302
410
  handler(args) {
@@ -305,6 +413,8 @@ exports.scalarExpressionFunctions = {
305
413
  description: 'Converts a string to Upper Case',
306
414
  signatures: ['UPPER(a: string)'],
307
415
  examples: ['UPPER([col1])'],
416
+ category: 'strings',
417
+ returnType: 'string',
308
418
  },
309
419
  LOWER: {
310
420
  handler(args) {
@@ -313,6 +423,8 @@ exports.scalarExpressionFunctions = {
313
423
  description: 'Converts a string to Lower Case',
314
424
  signatures: ['LOWER(a: string)'],
315
425
  examples: ['LOWER([col1])'],
426
+ category: 'strings',
427
+ returnType: 'string',
316
428
  },
317
429
  REPLACE: {
318
430
  handler(args, context) {
@@ -326,6 +438,8 @@ exports.scalarExpressionFunctions = {
326
438
  description: 'Searches string for specified value returning new string with replaced values',
327
439
  signatures: ['REPLACE(a: string, b: string, c:string)'],
328
440
  examples: ['REPLACE([col1], "GBP", "EUR")'],
441
+ category: 'strings',
442
+ returnType: 'string',
329
443
  },
330
444
  COALESCE: {
331
445
  handler(args) {
@@ -334,6 +448,8 @@ exports.scalarExpressionFunctions = {
334
448
  description: 'Returns the first argument which is not null',
335
449
  signatures: ['COALESCE(value, value, ...value)'],
336
450
  examples: ['COALESCE([col1], [col2], [col3], 0)'],
451
+ category: 'strings',
452
+ returnType: 'string',
337
453
  },
338
454
  CONCAT: {
339
455
  handler(args) {
@@ -342,19 +458,8 @@ exports.scalarExpressionFunctions = {
342
458
  description: 'Concatenates multiple strings',
343
459
  signatures: ['CONCAT(value1, value2, value3)'],
344
460
  examples: ['CONCAT([col1], [col2], [col3]'],
345
- },
346
- VAR: {
347
- handler(args, context) {
348
- const [functionName, ...optionalArgs] = args;
349
- if (StringExtensions_1.default.IsNullOrEmpty(functionName)) {
350
- throw new ExpressionEvaluationError_1.ExpressionEvaluationError('VAR', 'should have a name');
351
- }
352
- return context.evaluateCustomQueryVariable(functionName, optionalArgs);
353
- },
354
- isPredicate: true,
355
- description: 'Returns the variable evaluation',
356
- signatures: ['VAR(varName)', 'VAR(varName, arg1, arg2)'],
357
- examples: ['VAR(CURRENT_USER)', 'VAR(IS_VALID_VALUE, IS_BLANK([col1]), [col2] < [col3])'],
461
+ category: 'strings',
462
+ returnType: 'string',
358
463
  },
359
464
  };
360
465
  exports.scalarExpressionFunctionNames = (0, TypeExtensions_1.getTypedKeys)(exports.scalarExpressionFunctions);
@@ -74,4 +74,5 @@ export declare type _DeepRequiredObject<T> = {
74
74
  };
75
75
  export declare type NonUndefined<A> = A extends undefined ? never : A;
76
76
  export declare const getTypedKeys: <T extends string>(input: Record<T, any>) => T[];
77
+ export declare type OneOf<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR<A, B>, ...Rest]> : never;
77
78
  export {};
@@ -66,7 +66,7 @@ function initPredefinedConfigWithUuids(predefinedConfig) {
66
66
  }
67
67
  exports.initPredefinedConfigWithUuids = initPredefinedConfigWithUuids;
68
68
  function checkValidPrimaryKey(adaptable) {
69
- const pkColumn = adaptable.api.columnApi.getColumnFromId(adaptable.adaptableOptions.primaryKey);
69
+ const pkColumn = adaptable.api.columnApi.getColumnWithColumnId(adaptable.adaptableOptions.primaryKey);
70
70
  if (pkColumn == undefined && !adaptable.adaptableOptions.autogeneratePrimaryKey) {
71
71
  const errorMessage = `The Primary Key Column '${adaptable.adaptableOptions.primaryKey}' does not exist. This will affect many functions in Adaptable.`;
72
72
  if (adaptable.adaptableOptions.generalOptions.showMissingPrimaryKeyAlert == true) {
@@ -18,15 +18,17 @@ function Format(input, format) {
18
18
  }
19
19
  exports.Format = Format;
20
20
  function NumberFormatter(input, options = {}) {
21
- if (input == null || input == undefined) {
21
+ var _a, _b;
22
+ let preparedInput = (_a = options.Content) !== null && _a !== void 0 ? _a : input;
23
+ if (preparedInput == null || preparedInput == undefined) {
22
24
  return undefined;
23
25
  }
24
- if (typeof input === 'string') {
25
- return input;
26
+ if (typeof preparedInput === 'string') {
27
+ return preparedInput;
26
28
  }
27
- let n = Number(input);
29
+ let n = Number(preparedInput);
28
30
  if (isNaN(n)) {
29
- return input.toString();
31
+ return preparedInput.toString();
30
32
  }
31
33
  const fractionsSepatator = options.FractionSeparator ? options.FractionSeparator : '.';
32
34
  let multiplier = options.Multiplier ? options.Multiplier : 1;
@@ -34,7 +36,7 @@ function NumberFormatter(input, options = {}) {
34
36
  n *= multiplier;
35
37
  n = parseFloat(n.toFixed(12));
36
38
  }
37
- if (options.Parentheses === true && input < 0) {
39
+ if (options.Parentheses === true && preparedInput < 0) {
38
40
  n *= -1;
39
41
  n = parseFloat(n.toFixed(12));
40
42
  }
@@ -50,7 +52,7 @@ function NumberFormatter(input, options = {}) {
50
52
  digitsToUse = options.FractionDigits;
51
53
  }
52
54
  else {
53
- let decimalCount = Math.floor(n) === n ? 0 : n.toString().split(fractionsSepatator)[1].length || 0;
55
+ let decimalCount = Math.floor(n) === n ? 0 : ((_b = n.toString().split(fractionsSepatator)[1]) === null || _b === void 0 ? void 0 : _b.length) || 0;
54
56
  digitsToUse = decimalCount;
55
57
  }
56
58
  s = n.toLocaleString('en-US', {
@@ -65,7 +67,7 @@ function NumberFormatter(input, options = {}) {
65
67
  s = s.replace(/\,/g, options.IntegerSeparator);
66
68
  }
67
69
  s = (options.Prefix || '') + s + (options.Suffix || '');
68
- if (options.Parentheses === true && input < 0) {
70
+ if (options.Parentheses === true && preparedInput < 0) {
69
71
  s = '(' + s + ')';
70
72
  }
71
73
  return s;
@@ -94,10 +96,11 @@ function DateFormatter(input, options, strictFormatting = false) {
94
96
  }
95
97
  exports.DateFormatter = DateFormatter;
96
98
  function StringFormatter(input, options = {}) {
97
- if (input == null || input == undefined) {
99
+ let preparedInput = options.Content ? options.Content : input;
100
+ if (preparedInput == null || preparedInput == undefined) {
98
101
  return undefined;
99
102
  }
100
- let s = input;
103
+ let s = preparedInput;
101
104
  if (options.Prefix !== undefined) {
102
105
  s = options.Prefix + s;
103
106
  }
@@ -85,7 +85,7 @@ function CreateEmptyAlertDefinition() {
85
85
  Uuid: (0, Uuid_1.createUuid)(),
86
86
  Scope: { All: true },
87
87
  Rule: {
88
- Predicate: undefined,
88
+ Predicates: [],
89
89
  },
90
90
  MessageType: GeneralConstants_1.ALERT_DEFAULT_MESSAGE_TYPE,
91
91
  AlertProperties: {},
@@ -97,9 +97,11 @@ function CreateEmptyFlashingCellDefinition() {
97
97
  Uuid: (0, Uuid_1.createUuid)(),
98
98
  Scope: { ColumnIds: [] },
99
99
  Rule: {
100
- Predicate: {
101
- PredicateId: 'Any',
102
- },
100
+ Predicates: [
101
+ {
102
+ PredicateId: 'Any',
103
+ },
104
+ ],
103
105
  },
104
106
  };
105
107
  }
@@ -112,7 +114,7 @@ function CreateInternalAlertDefinitionForMessages(messageType, alertProperties)
112
114
  Uuid: (0, Uuid_1.createUuid)(),
113
115
  Scope: undefined,
114
116
  Rule: {
115
- Predicate: undefined,
117
+ Predicates: [],
116
118
  },
117
119
  MessageType: messageType,
118
120
  AlertProperties: alertProperties,
@@ -320,7 +322,7 @@ function CreateEmptyStyle() {
320
322
  FontWeight: undefined,
321
323
  FontStyle: undefined,
322
324
  FontSize: undefined,
323
- ClassName: GeneralConstants_1.EMPTY_STRING,
325
+ ClassName: undefined,
324
326
  };
325
327
  }
326
328
  exports.CreateEmptyStyle = CreateEmptyStyle;
@@ -19,7 +19,7 @@ class CalculatedColumnExpressionService {
19
19
  const refreshedCalculatedColumns = [];
20
20
  this.aggregatedScalarLiveValuesMap.forEach((aggregatedScalarLiveValue, calculatedColumnId) => {
21
21
  const calculatedColumn = this.adaptableApi.calculatedColumnApi.getCalculatedColumnById(calculatedColumnId);
22
- const columnDependencies = this.adaptableApi.calculatedColumnApi.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
22
+ const columnDependencies = this.adaptableApi.calculatedColumnApi.internalApi.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
23
23
  if (columnDependencies.includes(cellDataChangedInfo.column.columnId)) {
24
24
  aggregatedScalarLiveValue.refresh();
25
25
  refreshedCalculatedColumns.push(calculatedColumn.ColumnId);
@@ -10,7 +10,7 @@ class ChartingService {
10
10
  this.api = api;
11
11
  }
12
12
  onChartModelChange(models, eventType, params) {
13
- const allChartDefinitions = this.api.chartingApi.getAllChartDefinitions();
13
+ const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
14
14
  const currentChartModel = models.find((model) => model.chartId === params.chartId);
15
15
  const currentChartDefinition = allChartDefinitions.find((chartDefinition) => chartDefinition.Model.chartId === params.chartId);
16
16
  switch (eventType) {
@@ -84,7 +84,7 @@ class ChartingService {
84
84
  ],
85
85
  } }),
86
86
  };
87
- this.api.alertApi.displayAlert(alert);
87
+ this.api.alertApi.showAdaptableAlert(alert);
88
88
  }
89
89
  else if (saveStragegy === 'auto') {
90
90
  this.api.chartingApi.addChartDefinition(ObjectFactory_1.default.CreateEmptyChartDefinition({
@@ -34,7 +34,7 @@ class DataService {
34
34
  CreateDataChangedEvent(cellDataChangedInfo) {
35
35
  if (cellDataChangedInfo.newValue != cellDataChangedInfo.oldValue) {
36
36
  this.emitter.emitSync('CellDataChanged', cellDataChangedInfo);
37
- this.adaptable.api.gridApi.fireCellChangedEvent(cellDataChangedInfo);
37
+ this.adaptable.api.gridApi.internalApi.fireCellChangedEvent(cellDataChangedInfo);
38
38
  this.logDataChange(cellDataChangedInfo);
39
39
  }
40
40
  }
@@ -1,11 +1,12 @@
1
1
  import { IAdaptableService } from './IAdaptableService';
2
2
  import { AdaptableModule } from '../../../PredefinedConfig/Common/Types';
3
3
  import { AccessLevel } from '../../../PredefinedConfig/Common/Entitlement';
4
+ import { GridInfoSection } from '../../../types';
4
5
  export interface IEntitlementService extends IAdaptableService {
5
6
  setModulesEntitlements(): void;
6
7
  isModuleHiddenEntitlement(adaptableModule: AdaptableModule): boolean;
7
8
  isModuleFullEntitlement(adaptableModule: AdaptableModule): boolean;
8
9
  isModuleReadOnlyEntitlement(adaptableModule: AdaptableModule): boolean;
9
10
  getEntitlementAccessLevelForModule(adaptableModule: AdaptableModule): AccessLevel;
10
- isGridInfoSectionVisible(section: 'GridSummary' | 'AdaptableOptions' | 'ColumnInfo'): boolean;
11
+ isGridInfoSectionVisible(section: GridInfoSection): boolean;
11
12
  }
@@ -1,8 +1,3 @@
1
- import { RowNode } from '@ag-grid-community/core';
2
1
  import { IAdaptableService } from './IAdaptableService';
3
- import { AdaptableForm } from '../../../PredefinedConfig/Common/AdaptableForm';
4
- import { CreateActionRowFormContext, EditActionRowFormContext } from '../../../AdaptableOptions/ActionOptions';
5
2
  export interface IRowEditService extends IAdaptableService {
6
- buildRowEditForm(rowNode: RowNode): AdaptableForm<EditActionRowFormContext>;
7
- buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateActionRowFormContext>;
8
3
  }
@@ -142,7 +142,7 @@ class ModuleService {
142
142
  case 'StyledColumn':
143
143
  return learnUrl + 'handbook-styled-column-overview';
144
144
  case 'Charting':
145
- return learnUrl + 'reference-config-charting';
145
+ return learnUrl + 'handbook-charts';
146
146
  default:
147
147
  return 'good';
148
148
  }
@@ -105,7 +105,7 @@ class QueryLanguageService {
105
105
  this.cacheBooleanValidation.set(cacheKey, result);
106
106
  return result;
107
107
  }
108
- if (!booleanAndScalarFunctions[rootFn.type].isPredicate) {
108
+ if (booleanAndScalarFunctions[rootFn.type].returnType !== 'boolean') {
109
109
  const result = {
110
110
  isValid: false,
111
111
  errorMessage: `provided function ${rootFn === null || rootFn === void 0 ? void 0 : rootFn.type} is not a predicate`,
@@ -267,7 +267,7 @@ class QueryLanguageService {
267
267
  let result = expression;
268
268
  const columnIds = this.getColumnsFromExpression(expression);
269
269
  columnIds.forEach((columnId) => {
270
- const columnFriendlyName = this.adaptableApi.columnApi.getFriendlyNameFromColumnId(columnId);
270
+ const columnFriendlyName = this.adaptableApi.columnApi.getFriendlyNameForColumnId(columnId);
271
271
  result = result.split(columnId).join(columnFriendlyName);
272
272
  });
273
273
  return result;
@@ -103,7 +103,7 @@ class ReportService {
103
103
  return ['[Selected Columns]'];
104
104
  case 'ScopeColumns':
105
105
  if ('ColumnIds' in (report === null || report === void 0 ? void 0 : report.Scope)) {
106
- return (_b = (_a = report.Scope.ColumnIds).map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnId) => { var _a; return (_a = this.adaptableApi.columnApi.getFriendlyNameFromColumnId(columnId)) !== null && _a !== void 0 ? _a : columnId; });
106
+ return (_b = (_a = report.Scope.ColumnIds).map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnId) => { var _a; return (_a = this.adaptableApi.columnApi.getFriendlyNameForColumnId(columnId)) !== null && _a !== void 0 ? _a : columnId; });
107
107
  }
108
108
  return ['[Bespoke Columns]'];
109
109
  }
@@ -180,7 +180,7 @@ class ReportService {
180
180
  break;
181
181
  case 'ScopeColumns':
182
182
  if ('ColumnIds' in report.Scope) {
183
- reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.getColumnFromId(columnId)).filter((c) => c);
183
+ reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.getColumnWithColumnId(columnId)).filter((c) => c);
184
184
  }
185
185
  else {
186
186
  reportColumns = this.adaptableApi.scopeApi.getColumnsForScope(report.Scope);
@@ -306,7 +306,7 @@ class ReportService {
306
306
  if (StringExtensions_1.default.IsNullOrEmpty(cellRawValue)) {
307
307
  return cellRawValue;
308
308
  }
309
- const columnType = this.adaptableApi.columnApi.getColumnDataTypeFromColumnId(columnId);
309
+ const columnType = this.adaptableApi.columnApi.getColumnDataTypeForColumnId(columnId);
310
310
  // if this is a date column and there is a custom export date format provided, that will take precedence
311
311
  if (columnType === 'Date' && !!this.getCustomExportDateFormat()) {
312
312
  const exportDateFormat = this.getCustomExportDateFormat();
@@ -1,26 +1,7 @@
1
1
  import { IRowEditService } from './Interface/IRowEditService';
2
- import { RowNode } from '@ag-grid-community/core';
3
2
  import { AdaptableApi } from '../../Api/AdaptableApi';
4
- import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
5
- import { CreateActionRowFormContext, EditActionRowFormContext } from '../../AdaptableOptions/ActionOptions';
6
3
  export declare class RowEditService implements IRowEditService {
7
4
  private adaptableApi;
8
- private adaptableInstance;
9
- private rowEditFormOptions;
10
5
  constructor(adaptableApi: AdaptableApi);
11
- buildRowEditForm(rowNode: RowNode): AdaptableForm<EditActionRowFormContext>;
12
- buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateActionRowFormContext>;
13
- private buildActionRow;
14
- private getFormTitle;
15
- private getFormDescription;
16
- private buildFormParamContext;
17
- private buildActionRowFields;
18
- private buidActionRowButtons;
19
- private isColumnEditable;
20
- private buildFormField;
21
- private getFormFieldLabel;
22
- private buildFormFieldLabelContext;
23
- private getFieldTypeFromColumnType;
24
- private getFieldValueOptions;
25
6
  private autoHandleActionRowButtons;
26
7
  }