@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
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomSortInternalApi = void 0;
4
+ const ApiBase_1 = require("../Implementation/ApiBase");
5
+ class CustomSortInternalApi extends ApiBase_1.ApiBase {
6
+ getCustomSortComparer(column) {
7
+ var _a;
8
+ return (_a = this.getGeneralOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.adaptable.api.scopeApi.isColumnInScope(column, csc.scope));
9
+ }
10
+ }
11
+ exports.CustomSortInternalApi = CustomSortInternalApi;
@@ -0,0 +1,8 @@
1
+ import { ApiBase } from '../Implementation/ApiBase';
2
+ import { DashboardState } from '../../PredefinedConfig/DashboardState';
3
+ export declare class DashboardInternalApi extends ApiBase {
4
+ /**
5
+ * Fires Dashboard Changed Event
6
+ */
7
+ fireDashboardChangedEvent(trigger: string, oldDashboardState: DashboardState, newDashboardState: DashboardState): void;
8
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DashboardInternalApi = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ApiBase_1 = require("../Implementation/ApiBase");
6
+ const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
7
+ class DashboardInternalApi extends ApiBase_1.ApiBase {
8
+ /**
9
+ * Fires Dashboard Changed Event
10
+ */
11
+ fireDashboardChangedEvent(trigger, oldDashboardState, newDashboardState) {
12
+ // it's called synchronously by DASHBOARD_SET_ACTIVE_TAB & DASHBOARD_SET_IS_COLLAPSED,
13
+ // both firing the same events, thus this function being called twice;
14
+ // so we debounced to only get the latest call
15
+ const dashboardChangedInfo = {
16
+ adaptableApi: this.adaptable.api,
17
+ actionName: trigger,
18
+ oldDashboardState,
19
+ newDashboardState,
20
+ };
21
+ if (!(0, isEqual_1.default)(oldDashboardState, newDashboardState)) {
22
+ this.adaptable.api.eventApi.emitSync('DashboardChanged', dashboardChangedInfo);
23
+ }
24
+ }
25
+ }
26
+ exports.DashboardInternalApi = DashboardInternalApi;
@@ -0,0 +1,9 @@
1
+ import { ApiBase } from '../Implementation/ApiBase';
2
+ import { DataSet } from '../../AdaptableOptions/GeneralOptions';
3
+ export declare class DataSetInternalApi extends ApiBase {
4
+ /**
5
+ * Fires the DataSet Selected Event
6
+ * @param dataSet Data Set which has been selected
7
+ */
8
+ fireDataSetSelectedEvent(dataSet: DataSet): void;
9
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataSetInternalApi = void 0;
4
+ const ApiBase_1 = require("../Implementation/ApiBase");
5
+ class DataSetInternalApi extends ApiBase_1.ApiBase {
6
+ /**
7
+ * Fires the DataSet Selected Event
8
+ * @param dataSet Data Set which has been selected
9
+ */
10
+ fireDataSetSelectedEvent(dataSet) {
11
+ if (this.adaptable.isLive) {
12
+ const dataSetSelectedInfo = {
13
+ adaptableApi: this.adaptable.api,
14
+ dataSet,
15
+ };
16
+ this.adaptable.api.eventApi.emit('DataSetSelected', dataSetSelectedInfo);
17
+ }
18
+ }
19
+ }
20
+ exports.DataSetInternalApi = DataSetInternalApi;
@@ -0,0 +1,11 @@
1
+ import { ApiBase } from '../Implementation/ApiBase';
2
+ import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
3
+ import { Report } from '../../PredefinedConfig/ExportState';
4
+ export declare class ExportInternalApi extends ApiBase {
5
+ /**
6
+ * Whether given data change affects given report
7
+ * @param cellDataChangedInfo data change to check
8
+ * @param report report to check
9
+ */
10
+ isDataChangeInReport(cellDataChangedInfo: CellDataChangedInfo, report: Report): boolean;
11
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExportInternalApi = void 0;
4
+ const ApiBase_1 = require("../Implementation/ApiBase");
5
+ class ExportInternalApi extends ApiBase_1.ApiBase {
6
+ /**
7
+ * Whether given data change affects given report
8
+ * @param cellDataChangedInfo data change to check
9
+ * @param report report to check
10
+ */
11
+ isDataChangeInReport(cellDataChangedInfo, report) {
12
+ // for All Data Report any data change is true so get out asap
13
+ if (report.Name == 'All Data') {
14
+ return true;
15
+ }
16
+ // if its a Custom Report then the User has to run it so we just ignore completely
17
+ if (this.getExportApi().isServerReport(report)) {
18
+ return false;
19
+ }
20
+ // Start with the DataChanged Column and go through all possibilities
21
+ switch (report.ReportColumnScope) {
22
+ case 'AllColumns':
23
+ // has to be relevant so continue to rows
24
+ break;
25
+ case 'ScopeColumns':
26
+ // use the Scope object which will tell us if the Column is relevant
27
+ if (!this.adaptable.api.scopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
28
+ return false;
29
+ }
30
+ break;
31
+ case 'SelectedColumns':
32
+ let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
33
+ if (selectedCellInfo) {
34
+ if (selectedCellInfo.columns.find((c) => c.columnId == cellDataChangedInfo.column.columnId) == null) {
35
+ return false;
36
+ }
37
+ }
38
+ break;
39
+ case 'VisibleColumns':
40
+ // hope that visibile column property is updated whenever the layout changes... (need to check!)
41
+ if (!cellDataChangedInfo.column.visible) {
42
+ return false;
43
+ }
44
+ break;
45
+ }
46
+ // now do rows
47
+ switch (report.ReportRowScope) {
48
+ case 'AllRows':
49
+ return true;
50
+ case 'ExpressionRows':
51
+ return true; // TODO this is the only difficult one - do we check AdapTableQL? if we can then that is good as we can then do a delta after all...
52
+ case 'SelectedCellRows':
53
+ let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
54
+ if (selectedCellInfo && selectedCellInfo.gridCells) {
55
+ if (selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
56
+ return true;
57
+ }
58
+ }
59
+ return false;
60
+ case 'SelectedRows':
61
+ let selectedRowInfo = this.adaptable.api.gridApi.getSelectedRowInfo();
62
+ if (selectedRowInfo && selectedRowInfo.gridRows) {
63
+ if (selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
64
+ return true;
65
+ }
66
+ }
67
+ return false;
68
+ case 'VisibleRows':
69
+ return this.adaptable.isRowNodeVisible(cellDataChangedInfo.rowNode);
70
+ }
71
+ }
72
+ }
73
+ exports.ExportInternalApi = ExportInternalApi;
@@ -0,0 +1,58 @@
1
+ import { ApiBase } from '../Implementation/ApiBase';
2
+ import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
+ import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
4
+ import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
5
+ import { ColumnFilter } from '../../PredefinedConfig/Common/ColumnFilter';
6
+ import { RowNode } from '@ag-grid-community/core';
7
+ import { LayoutColumnFilterAction } from '../../Redux/ActionsReducers/LayoutRedux';
8
+ import * as Redux from 'redux';
9
+ export declare class FilterInternalApi extends ApiBase {
10
+ /**
11
+ * Returns Predicate Definition for given Column and Quick Filter shortcut
12
+ * @param shortcut Quick Filter shortcut to lookup
13
+ * @param column Adaptable Column being Filtered
14
+ */
15
+ findPredicateDefByShortcut(shortcut: string, column: AdaptableColumn): AdaptablePredicateDef;
16
+ /**
17
+ * Creates an Equality Filter based on given Grid Cells
18
+ * @param gridCells cells to create Filter for
19
+ */
20
+ createValuesColumnFilterForCells(gridCells: GridCell[]): ColumnFilter | null;
21
+ /**
22
+ * Creates an Equality Filter based on given Grid Cell
23
+ * @param gridCell cell to create Filter for
24
+ */
25
+ createEqualityColumnFilterForCell(gridCell: GridCell): ColumnFilter | null;
26
+ /**
27
+ * Retrieves description of given Column Filter
28
+ * @param columnFilter Column Filter to use
29
+ */
30
+ columnFilterToString(columnFilter: ColumnFilter): string;
31
+ /**
32
+ * Retrieves descriptions of given Column Filters
33
+ * @param columnFilters Column Filters to use
34
+ */
35
+ columnFiltersToString(columnFilters: ColumnFilter[]): string;
36
+ /**
37
+ * Calls AdapTableQL to evaluate Filter for given Row
38
+ * @param columnFilter Column Filter to use
39
+ * @param node Row Node to evaluate
40
+ */
41
+ evaluateColumnFilter(columnFilter: ColumnFilter, node: RowNode): boolean;
42
+ /**
43
+ * Checks if the filter action should trigger grid filtering.
44
+ *
45
+ * @param action Filtering Action
46
+ */
47
+ shouldNewColumnFilterTriggerGridFiltering(action: LayoutColumnFilterAction | Redux.Action): boolean;
48
+ /**
49
+ * Fires Filter Applied Event - typically used to enable filtering on the server
50
+ */
51
+ fireFilterAppliedEvent(): void;
52
+ /**
53
+ * Compares to sets of Column Filters to see if they are identical
54
+ * @param filters1
55
+ * @param filters2
56
+ */
57
+ areColumnFiltersDifferent(oldFilters: ColumnFilter[], newFilters: ColumnFilter[]): boolean;
58
+ }
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterInternalApi = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ApiBase_1 = require("../Implementation/ApiBase");
6
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
7
+ const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/LayoutRedux"));
8
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
9
+ class FilterInternalApi extends ApiBase_1.ApiBase {
10
+ /**
11
+ * Returns Predicate Definition for given Column and Quick Filter shortcut
12
+ * @param shortcut Quick Filter shortcut to lookup
13
+ * @param column Adaptable Column being Filtered
14
+ */
15
+ findPredicateDefByShortcut(shortcut, column) {
16
+ return this.getFilterApi()
17
+ .getFilterPredicateDefsForColumn(column)
18
+ .find((i) => { var _a; return (_a = i.shortcuts) === null || _a === void 0 ? void 0 : _a.includes(shortcut); });
19
+ }
20
+ /**
21
+ * Creates an Equality Filter based on given Grid Cells
22
+ * @param gridCells cells to create Filter for
23
+ */
24
+ createValuesColumnFilterForCells(gridCells) {
25
+ if (!gridCells) {
26
+ return null;
27
+ }
28
+ const filter = {
29
+ ColumnId: gridCells[0].column.columnId,
30
+ Predicate: {
31
+ PredicateId: 'Values',
32
+ Inputs: [...new Set(gridCells.map((gc) => gc.displayValue))],
33
+ },
34
+ };
35
+ const [savedFilter] = this.getFilterApi().setColumnFilters([filter]) || [null];
36
+ return savedFilter;
37
+ }
38
+ /**
39
+ * Creates an Equality Filter based on given Grid Cell
40
+ * @param gridCell cell to create Filter for
41
+ */
42
+ createEqualityColumnFilterForCell(gridCell) {
43
+ if (!gridCell) {
44
+ return null;
45
+ }
46
+ const column = gridCell.column;
47
+ const filter = {
48
+ ColumnId: column.columnId,
49
+ Predicate: {
50
+ PredicateId: this.adaptable.api.predicateApi.internalApi.getEqualityPredicateForDataType(column.dataType),
51
+ Inputs: [...new Set([gridCell.rawValue])],
52
+ },
53
+ };
54
+ const [savedFilter] = this.getFilterApi().setColumnFilters([filter]) || [null];
55
+ return savedFilter;
56
+ }
57
+ /**
58
+ * Retrieves description of given Column Filter
59
+ * @param columnFilter Column Filter to use
60
+ */
61
+ columnFilterToString(columnFilter) {
62
+ const friendlyName = this.adaptable.api.columnApi.getFriendlyNameForColumnId(columnFilter.ColumnId);
63
+ return ('[' +
64
+ friendlyName +
65
+ '] ' +
66
+ this.adaptable.api.predicateApi.predicateToString(columnFilter.Predicate));
67
+ }
68
+ /**
69
+ * Retrieves descriptions of given Column Filters
70
+ * @param columnFilters Column Filters to use
71
+ */
72
+ columnFiltersToString(columnFilters) {
73
+ return columnFilters.map((cf) => this.columnFilterToString(cf)).join(', ');
74
+ }
75
+ /**
76
+ * Calls AdapTableQL to evaluate Filter for given Row
77
+ * @param columnFilter Column Filter to use
78
+ * @param node Row Node to evaluate
79
+ */
80
+ evaluateColumnFilter(columnFilter, node) {
81
+ var _a;
82
+ if (!columnFilter.Predicate) {
83
+ return true;
84
+ }
85
+ const someInputsAreEmpty = (_a = columnFilter.Predicate.Inputs) === null || _a === void 0 ? void 0 : _a.some((input) => {
86
+ if (typeof input === 'string') {
87
+ return StringExtensions_1.default.IsNullOrEmpty(input);
88
+ }
89
+ if (typeof input === 'number') {
90
+ return isNaN(input);
91
+ }
92
+ return !input;
93
+ });
94
+ if (someInputsAreEmpty) {
95
+ return true;
96
+ }
97
+ const column = this.adaptable.api.columnApi.getColumnWithColumnId(columnFilter.ColumnId);
98
+ if (!column) {
99
+ return true;
100
+ }
101
+ const gridCell = this.adaptable.api.gridApi.getGridCellFromRowNode(node, columnFilter.ColumnId);
102
+ if (!gridCell) {
103
+ return true;
104
+ }
105
+ let value = gridCell.normalisedValue;
106
+ return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, {
107
+ value: value,
108
+ oldValue: null,
109
+ displayValue: gridCell.displayValue,
110
+ node,
111
+ column,
112
+ }, true);
113
+ }
114
+ /**
115
+ * Checks if the filter action should trigger grid filtering.
116
+ *
117
+ * @param action Filtering Action
118
+ */
119
+ shouldNewColumnFilterTriggerGridFiltering(action) {
120
+ // trigger filter change only:
121
+ // - new -> new filter is active
122
+ // - clear -> previous filters was active
123
+ // - clearAll -> a filter was active
124
+ // - edit -> same => input change
125
+ // - edit -> different & new is active
126
+ // - edit -> different & old was active
127
+ // - set -> new filter is active
128
+ // filter -> suspend changes
129
+ var _a, _b;
130
+ const isNewAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_ADD &&
131
+ this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
132
+ const isClearAndPreviousWasActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR &&
133
+ this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
134
+ const isClearAllAtLeastOneActiveFilter = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL &&
135
+ this.adaptable.api.filterApi
136
+ .getColumnFilters()
137
+ .some((columnFilter) => this.adaptable.api.filterApi.isFilterActive(columnFilter));
138
+ let isEditTrigger = false;
139
+ if (action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT) {
140
+ const newFilter = action.columnFilter;
141
+ const previous = this.adaptable.api.filterApi.getColumnFilterForColumn(newFilter.ColumnId);
142
+ // same filter edit, so always trigger
143
+ if (((_a = previous === null || previous === void 0 ? void 0 : previous.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === ((_b = newFilter === null || newFilter === void 0 ? void 0 : newFilter.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId)) {
144
+ isEditTrigger = true;
145
+ // new filter is active
146
+ }
147
+ else if (this.adaptable.api.filterApi.isFilterActive(newFilter)) {
148
+ isEditTrigger = true;
149
+ }
150
+ else if (this.adaptable.api.filterApi.isFilterActive(previous)) {
151
+ // previous filter was active
152
+ isEditTrigger = true;
153
+ }
154
+ }
155
+ const isSetAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_SET &&
156
+ this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
157
+ const isSuspendChanged = [
158
+ LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND,
159
+ LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL,
160
+ LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND,
161
+ LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND_ALL,
162
+ ].includes(action.type);
163
+ return (isNewAndActive ||
164
+ isClearAndPreviousWasActive ||
165
+ isClearAllAtLeastOneActiveFilter ||
166
+ isEditTrigger ||
167
+ isSetAndActive ||
168
+ isSuspendChanged);
169
+ }
170
+ /**
171
+ * Fires Filter Applied Event - typically used to enable filtering on the server
172
+ */
173
+ fireFilterAppliedEvent() {
174
+ if (this.adaptable.isLive) {
175
+ const filterAppliedInfo = {
176
+ columnFilters: this.getFilterApi().getColumnFilters(),
177
+ adaptableApi: this.getAdaptableApi(),
178
+ };
179
+ this.adaptable.api.eventApi.emit('FilterApplied', filterAppliedInfo);
180
+ }
181
+ }
182
+ /**
183
+ * Compares to sets of Column Filters to see if they are identical
184
+ * @param filters1
185
+ * @param filters2
186
+ */
187
+ areColumnFiltersDifferent(oldFilters, newFilters) {
188
+ if (ArrayExtensions_1.default.IsNullOrEmpty(oldFilters) && ArrayExtensions_1.default.IsNullOrEmpty(newFilters)) {
189
+ return false;
190
+ }
191
+ return ArrayExtensions_1.default.areArraysNotEqual(oldFilters, newFilters);
192
+ }
193
+ }
194
+ exports.FilterInternalApi = FilterInternalApi;
@@ -0,0 +1,12 @@
1
+ import { ApiBase } from '../Implementation/ApiBase';
2
+ import { FlashingCellDefinition } from '../../PredefinedConfig/FlashingCellState';
3
+ import { AdaptableFlashingCell } from '../../PredefinedConfig/Common/AdaptableFlashingCell';
4
+ export declare class FlashingCellInternalApi extends ApiBase {
5
+ /**
6
+ * Merges a Flashing Cell Definition with default values
7
+ * @param flashingCellDefinition Flashing Cell Definition to Merge
8
+ */
9
+ mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
10
+ getAdaptableFlashingCellFor(primaryKey: string, columnId?: string): AdaptableFlashingCell | null;
11
+ clearFlashingCellState(): void;
12
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlashingCellInternalApi = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ApiBase_1 = require("../Implementation/ApiBase");
6
+ const Helper_1 = require("../../Utilities/Helpers/Helper");
7
+ const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
8
+ const AlertRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/AlertRedux"));
9
+ class FlashingCellInternalApi extends ApiBase_1.ApiBase {
10
+ /**
11
+ * Merges a Flashing Cell Definition with default values
12
+ * @param flashingCellDefinition Flashing Cell Definition to Merge
13
+ */
14
+ mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition) {
15
+ let flashingDefaults = this.adaptable.adaptableOptions.flashingCellOptions;
16
+ if (!flashingDefaults) {
17
+ return flashingCellDefinition;
18
+ }
19
+ // deep clone it, otherwise we will mutate&share(!!) the global flashingCellOptions object
20
+ flashingDefaults = (0, Helper_1.cloneObject)(flashingDefaults);
21
+ if (!flashingCellDefinition.DownChangeStyle && flashingDefaults.defaultDownChangeStyle) {
22
+ flashingCellDefinition.DownChangeStyle = flashingDefaults.defaultDownChangeStyle;
23
+ }
24
+ if (!flashingCellDefinition.UpChangeStyle && flashingDefaults.defaultUpChangeStyle) {
25
+ flashingCellDefinition.UpChangeStyle = flashingDefaults.defaultUpChangeStyle;
26
+ }
27
+ if (!flashingCellDefinition.NeutralChangeStyle && flashingDefaults.defaultNeutralChangeStyle) {
28
+ flashingCellDefinition.NeutralChangeStyle = flashingDefaults.defaultNeutralChangeStyle;
29
+ }
30
+ if (!flashingCellDefinition.FlashDuration && flashingDefaults.defaultFlashDuration) {
31
+ flashingCellDefinition.FlashDuration = flashingDefaults.defaultFlashDuration;
32
+ }
33
+ if (!flashingCellDefinition.FlashTarget && flashingDefaults.defaultFlashTarget) {
34
+ flashingCellDefinition.FlashTarget = flashingDefaults.defaultFlashTarget;
35
+ }
36
+ return flashingCellDefinition;
37
+ }
38
+ getAdaptableFlashingCellFor(primaryKey, columnId) {
39
+ var _a;
40
+ const { AdaptableFlashingCells: AdaptableFlashingAlerts, AdaptableFlashingCellsMap: AdaptableFlashingAlertsMap, } = this.getAdaptableState().System;
41
+ const forPrimaryKey = (_a = AdaptableFlashingAlerts[primaryKey]) !== null && _a !== void 0 ? _a : {};
42
+ const toFlashingAlert = (uuid) => { var _a; return uuid ? (_a = AdaptableFlashingAlertsMap[uuid]) !== null && _a !== void 0 ? _a : null : null; };
43
+ const adaptableFlashingCell = columnId
44
+ ? toFlashingAlert(forPrimaryKey[columnId])
45
+ : toFlashingAlert(forPrimaryKey[SystemRedux_1.FLASHING_CELL_ROW_KEY]);
46
+ if ((adaptableFlashingCell === null || adaptableFlashingCell === void 0 ? void 0 : adaptableFlashingCell.flashingCellDefinition) &&
47
+ !this.getAdaptableApi().layoutApi.internalApi.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell', this.getAdaptableApi().layoutApi.getCurrentLayout())) {
48
+ return;
49
+ }
50
+ return adaptableFlashingCell;
51
+ }
52
+ clearFlashingCellState() {
53
+ this.dispatchAction(AlertRedux.AlertClearFlashingCells());
54
+ }
55
+ }
56
+ exports.FlashingCellInternalApi = FlashingCellInternalApi;
@@ -0,0 +1,109 @@
1
+ import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, AdaptableScope, FormatColumn, StringFormatterOptions } from '../../types';
2
+ import { ApiBase } from '../Implementation/ApiBase';
3
+ import { RowNode } from '@ag-grid-community/core';
4
+ export declare class FormatColumnInternalApi extends ApiBase {
5
+ /**
6
+ * Retrieves all Format Columns in Adaptable State with the `Style` property set
7
+ * @returns format columns
8
+ */
9
+ getAllFormatColumnWithStyle(): FormatColumn[];
10
+ /**
11
+ * Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
12
+ * @returns format columns
13
+ */
14
+ getAllFormatColumnWithStyleAndCellAlignment(): FormatColumn[];
15
+ /**
16
+ * Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
17
+ * @returns format columns
18
+ */
19
+ getAllFormatColumnWithDisplayFormat(): FormatColumn[];
20
+ /**
21
+ * Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
22
+ * @returns format columns
23
+ */
24
+ getAllFormatColumnWithCellAlignment(): FormatColumn[];
25
+ /**
26
+ * Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
27
+ * @param column
28
+ * @param config
29
+ * @returns list of FormatColumn
30
+ */
31
+ getFormatColumnsWithStyleForColumn(column: AdaptableColumn, config?: {
32
+ includeSuspended?: boolean;
33
+ }): FormatColumn[];
34
+ /**
35
+ * Gets Format Column if any for given Column which includes Style element with ClassName
36
+ * @param column The Column for which to retrieve the Format Column
37
+ * @returns format columns
38
+ */
39
+ getFormatColumnWithStyleClassNameForColumn(column: AdaptableColumn, config?: {
40
+ includeSuspended?: boolean;
41
+ }): FormatColumn[];
42
+ getFormatColumnWithColumnInScope(formatColumns: FormatColumn[], column: AdaptableColumn): FormatColumn[];
43
+ private getFormatColumnInColumnScope;
44
+ /**
45
+ * Get all FormatColumns which are defined for this column and have a custom DisplayFormat
46
+ * @param column
47
+ * @param config
48
+ * @returns list of FormatColumn
49
+ */
50
+ getFormatColumnsWithDisplayFormatForColumn(column: AdaptableColumn, config?: {
51
+ includeSuspended?: boolean;
52
+ }): FormatColumn[];
53
+ /**
54
+ * Format value according to format options.
55
+ *
56
+ * @param customDisplayFormatterContext context that includes value to format
57
+ * @param options formatter options
58
+ */
59
+ getNumberFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): any;
60
+ /**
61
+ * Format value according to format options.
62
+ *
63
+ * @param value context that includes value to format
64
+ * @param options formatter options
65
+ */
66
+ getStringFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: StringFormatterOptions): string;
67
+ /**
68
+ * Format value according to format options.
69
+ *
70
+ * @param customDisplayFormatterContext context that includes value to format
71
+ * @param options formatter options
72
+ */
73
+ getDateFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): string;
74
+ private applyCustomFormatters;
75
+ /**
76
+ * Returns all Predicates appropriate for the given Scope
77
+ * @param scope Scope to check
78
+ */
79
+ getFormatColumnDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
80
+ /**
81
+ * Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
82
+ *
83
+ * @param formatColumn
84
+ * @param column
85
+ * @param params
86
+ */
87
+ isFormatColumnRelevantForColumn(formatColumn: FormatColumn, column: AdaptableColumn, params: {
88
+ node: RowNode;
89
+ value: any;
90
+ }): boolean;
91
+ private evaluatePredicate;
92
+ private evaluateExpression;
93
+ /**
94
+ * Extract from the given FormatColumns only the ones which are relevant for a given cell (intersection of given AdaptableColumn and RowNode)
95
+ *
96
+ * @param formatColumns
97
+ * @param column
98
+ * @param params
99
+ */
100
+ getFormatColumnsRelevantForColumn(formatColumns: FormatColumn[], column: AdaptableColumn, params: {
101
+ node: RowNode;
102
+ value: any;
103
+ }): FormatColumn[];
104
+ /**
105
+ * Retrieves all Format Columns which have an Expression
106
+ * @returns Format Columns with Expression
107
+ */
108
+ getFormatColumnsWithExpression(): FormatColumn[];
109
+ }