@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
@@ -7,7 +7,13 @@ const GridRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/Grid
7
7
  const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
8
8
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
9
9
  const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
10
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
11
+ const GridInternalApi_1 = require("../Internal/GridInternalApi");
10
12
  class GridApiImpl extends ApiBase_1.ApiBase {
13
+ constructor(adaptable) {
14
+ super(adaptable);
15
+ this.internalApi = new GridInternalApi_1.GridInternalApi(adaptable);
16
+ }
11
17
  getGridState() {
12
18
  return this.getAdaptableState().Grid;
13
19
  }
@@ -25,12 +31,12 @@ class GridApiImpl extends ApiBase_1.ApiBase {
25
31
  }
26
32
  async updateGridData(dataRows, dataUpdateConfig) {
27
33
  const rowNodes = await this.adaptable.updateRows(dataRows, dataUpdateConfig);
28
- this.fireGridDataChangedEvent(dataRows, rowNodes, 'Edit');
34
+ this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, 'Edit');
29
35
  return rowNodes;
30
36
  }
31
37
  async addGridData(dataRows, dataUpdateConfig) {
32
38
  const rowNodes = await this.adaptable.addRows(dataRows, dataUpdateConfig);
33
- this.fireGridDataChangedEvent(dataRows, rowNodes, 'Add');
39
+ this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, 'Add');
34
40
  return rowNodes;
35
41
  }
36
42
  undoCellEdit(cellDataChangedInfo) {
@@ -42,13 +48,13 @@ class GridApiImpl extends ApiBase_1.ApiBase {
42
48
  async deleteGridData(dataRows, dataUpdateConfig) {
43
49
  if (this.checkArrayExists(dataRows)) {
44
50
  const rowNodes = await this.adaptable.deleteRows(dataRows, dataUpdateConfig);
45
- this.fireGridDataChangedEvent(dataRows, rowNodes, 'Delete');
51
+ this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, 'Delete');
46
52
  return rowNodes;
47
53
  }
48
54
  return [];
49
55
  }
50
56
  setCellValue(columnId, newValue, primaryKeyValue) {
51
- const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
57
+ const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
52
58
  if (!abColumn) {
53
59
  (0, LoggingHelper_1.LogAdaptableWarning)(`setCellValue() - column not found for columnId: ${columnId}`);
54
60
  return;
@@ -61,6 +67,10 @@ class GridApiImpl extends ApiBase_1.ApiBase {
61
67
  this.adaptable.setDataValue(newValue, abColumn, primaryKeyValue, rowNode);
62
68
  }
63
69
  setCellsValue(gridCells) {
70
+ (0, logDeprecation_1.logDeprecation)('GridApi', 'setCellsValue', 'setCellValues');
71
+ this.setCellValues(gridCells);
72
+ }
73
+ setCellValues(gridCells) {
64
74
  gridCells === null || gridCells === void 0 ? void 0 : gridCells.forEach((gridCell) => this.setCellValue(gridCell.columnId, gridCell.newValue, gridCell.primaryKeyValue));
65
75
  }
66
76
  getSelectedCellInfo() {
@@ -147,14 +157,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
147
157
  deSelectNodes(rowNodes, clearSelection) {
148
158
  this.adaptable.deSelectNodes(rowNodes, clearSelection);
149
159
  }
150
- selectCellRange(gridCellRange, clearSelection) {
151
- if (gridCellRange == undefined) {
152
- return;
153
- }
154
- if (gridCellRange.primaryKeyValueStart == undefined &&
155
- gridCellRange.rowIndexStart == undefined) {
156
- return;
157
- }
160
+ getSelectionStartEndNodes(gridCellRange) {
158
161
  let startNode;
159
162
  let endNode;
160
163
  startNode = gridCellRange.primaryKeyValueEnd
@@ -169,10 +172,79 @@ class GridApiImpl extends ApiBase_1.ApiBase {
169
172
  else {
170
173
  endNode = startNode;
171
174
  }
175
+ return [startNode, endNode];
176
+ }
177
+ selectCellRange(gridCellRange, clearSelection) {
178
+ if (gridCellRange == undefined) {
179
+ return;
180
+ }
181
+ if (gridCellRange.primaryKeyValueStart == undefined &&
182
+ gridCellRange.rowIndexStart == undefined) {
183
+ return;
184
+ }
185
+ const [startNode, endNode] = this.getSelectionStartEndNodes(gridCellRange);
172
186
  if (startNode && endNode) {
173
187
  this.adaptable.selectCells(gridCellRange.columnIds, startNode, endNode, clearSelection);
174
188
  }
175
189
  }
190
+ selectCellRangeByQuery(query, gridCellRange, clearSelection) {
191
+ const filteredRowNodes = [];
192
+ const isRowNodeInQuery = (rowNode) => this.adaptable.api.internalApi
193
+ .getQueryLanguageService()
194
+ .evaluateBooleanExpression(query, 'GridInfo', rowNode);
195
+ if (gridCellRange) {
196
+ const [startNode, endNode] = this.getSelectionStartEndNodes(gridCellRange);
197
+ for (let rowIndex = startNode.rowIndex; rowIndex <= endNode.rowIndex; rowIndex++) {
198
+ const rowNode = this.adaptable.getRowNodeByIndex(rowIndex);
199
+ isRowNodeInQuery(rowNode) && filteredRowNodes.push(rowNode);
200
+ }
201
+ }
202
+ else {
203
+ // include all row
204
+ this.adaptable.forAllRowNodesDo((rowNode) => {
205
+ isRowNodeInQuery(rowNode) && filteredRowNodes.push(rowNode);
206
+ });
207
+ }
208
+ if (!filteredRowNodes.length) {
209
+ return;
210
+ }
211
+ let preapredGridCellRange = gridCellRange;
212
+ if (!preapredGridCellRange) {
213
+ /**
214
+ * Select all rows and all columns
215
+ */
216
+ const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
217
+ preapredGridCellRange = {
218
+ columnIds: currentLayout.Columns,
219
+ };
220
+ }
221
+ // ranges of row with consecutive indexes
222
+ const rowRanges = filteredRowNodes.reduce((acc, rowNode, index, collection) => {
223
+ // add start if there is none
224
+ const prevRange = acc[acc.length - 1];
225
+ if (prevRange.startNode === undefined) {
226
+ prevRange.startNode = rowNode;
227
+ }
228
+ // add end if next is not consecutive
229
+ const nextNode = collection[index + 1];
230
+ if (nextNode && nextNode.rowIndex - 1 !== rowNode.rowIndex) {
231
+ prevRange.endNode = rowNode;
232
+ // start a new one
233
+ acc.push({});
234
+ }
235
+ // if at the end close last range
236
+ if (index === collection.length - 1) {
237
+ prevRange.endNode = rowNode;
238
+ }
239
+ return acc;
240
+ }, [{}]);
241
+ let preparedClearSelection = clearSelection;
242
+ rowRanges.forEach((range) => {
243
+ // clear only on fisrt range selection
244
+ this.adaptable.selectCells(preapredGridCellRange.columnIds, range.startNode, range.endNode, preparedClearSelection);
245
+ preparedClearSelection = false;
246
+ });
247
+ }
176
248
  selectColumn(columnId) {
177
249
  this.selectColumns([columnId]);
178
250
  }
@@ -205,7 +277,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
205
277
  }
206
278
  getNormalisedValueFromRowNode(rowNode, columnId) {
207
279
  const rawValue = this.adaptable.getRawValueFromRowNode(rowNode, columnId);
208
- const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
280
+ const abColumn = this.adaptable.api.columnApi.getColumnWithColumnId(columnId);
209
281
  return this.adaptable.getNormalisedValueFromRawValue(rawValue, abColumn);
210
282
  }
211
283
  getRowNodesForPrimaryKeys(primaryKeyValues) {
@@ -233,6 +305,10 @@ class GridApiImpl extends ApiBase_1.ApiBase {
233
305
  this.adaptable.expandAllRowGroups();
234
306
  }
235
307
  closeAllRowGroups() {
308
+ (0, logDeprecation_1.logDeprecation)('GridApi', 'closeAllRowGroups', 'collapseAllRowGroups');
309
+ this.collapseAllRowGroups();
310
+ }
311
+ collapseAllRowGroups() {
236
312
  this.adaptable.closeAllRowGroups();
237
313
  }
238
314
  getExpandRowGroupsKeys() {
@@ -263,50 +339,17 @@ class GridApiImpl extends ApiBase_1.ApiBase {
263
339
  this.adaptable.redrawBody();
264
340
  this.adaptable.redrawHeader();
265
341
  }
266
- fireSearchChangedEvent(searchChangedTrigger) {
267
- if (this.adaptable.isLive) {
268
- const adaptableSearchState = this.adaptable.api.configApi.getAdaptableSearchState();
269
- const adaptableSortState = this.adaptable.api.configApi.getAdaptableSortState();
270
- const searchChangedInfo = {
271
- adaptableApi: this.adaptable.api,
272
- searchChangedTrigger,
273
- adaptableSearchState: adaptableSearchState,
274
- adaptableSortState: adaptableSortState,
275
- };
276
- this.adaptable.api.eventApi.emit('SearchChanged', searchChangedInfo);
277
- }
278
- }
279
342
  fireGridSortedEvent() {
280
- if (this.adaptable.isLive) {
281
- const adaptableSortState = this.adaptable.api.configApi.getAdaptableSortState();
282
- const adaptableApi = this.getAdaptableApi();
283
- const gridSortedInfo = {
284
- adaptableSortState: adaptableSortState,
285
- adaptableApi: adaptableApi,
286
- };
287
- adaptableApi.eventApi.emit('GridSorted', gridSortedInfo);
288
- }
343
+ (0, logDeprecation_1.logDeprecationInternal)('GridApi', 'fireGridSortedEvent');
344
+ this.internalApi.fireGridSortedEvent();
289
345
  }
290
346
  fireCellChangedEvent(cellDataChangedInfo) {
291
- if (this.adaptable.isLive) {
292
- const cellChangedInfo = {
293
- adaptableApi: this.adaptable.api,
294
- cellChange: cellDataChangedInfo,
295
- };
296
- this.adaptable.api.eventApi.emit('CellChanged', cellChangedInfo);
297
- }
347
+ (0, logDeprecation_1.logDeprecationInternal)('GridApi', 'fireCellChangedEvent');
348
+ this.internalApi.fireCellChangedEvent(cellDataChangedInfo);
298
349
  }
299
350
  fireGridDataChangedEvent(dataRows, rowNodes = [], rowTrigger) {
300
- if (this.adaptable.isLive) {
301
- const gridDataChangedInfo = {
302
- changedAt: Date.now(),
303
- adaptableApi: this.adaptable.api,
304
- rowTrigger,
305
- dataRows,
306
- rowNodes,
307
- };
308
- this.adaptable.api.eventApi.emit('GridDataChanged', gridDataChangedInfo);
309
- }
351
+ (0, logDeprecation_1.logDeprecationInternal)('GridApi', 'fireGridDataChangedEvent');
352
+ this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, rowTrigger);
310
353
  }
311
354
  jumpToRow(primaryKeyValue) {
312
355
  const node = this.adaptable.getRowNodeForPrimaryKey(primaryKeyValue);
@@ -371,17 +414,26 @@ class GridApiImpl extends ApiBase_1.ApiBase {
371
414
  refreshRowNodes(rowNodes) {
372
415
  this.adaptable.redrawRows(rowNodes);
373
416
  }
417
+ isCellEditable(gridCell) {
418
+ if (!gridCell) {
419
+ return false;
420
+ }
421
+ if (!gridCell.column) {
422
+ // GridCell.column may be undefined for cells from synthetic columns created by AG Grid (ex. autoGroup columns)
423
+ return false;
424
+ }
425
+ if (gridCell.column.readOnly) {
426
+ return false;
427
+ }
428
+ return this.adaptable.isCellEditable(gridCell.rowNode, this.adaptable.getAgGridColumnForColumnId(gridCell.column.columnId));
429
+ }
374
430
  areCellsEditable(gridCells) {
431
+ (0, logDeprecation_1.logDeprecation)('GridApi', 'areCellsEditable', 'isEveryCellEditable');
432
+ return this.isEveryCellEditable(gridCells);
433
+ }
434
+ isEveryCellEditable(gridCells) {
375
435
  for (let gridCell of gridCells) {
376
- if (!gridCell.column) {
377
- // GridCell.column may be undefined for cells from synthetic columns created by AG Grid (ex. autoGroup columns)
378
- return false;
379
- }
380
- if (gridCell.column.readOnly) {
381
- return false;
382
- }
383
- const isCellEditable = this.adaptable.isCellEditable(gridCell.rowNode, this.adaptable.getAgGridColumnForColumnId(gridCell.column.columnId));
384
- if (!isCellEditable) {
436
+ if (!this.isCellEditable(gridCell)) {
385
437
  return false;
386
438
  }
387
439
  }
@@ -418,6 +470,10 @@ class GridApiImpl extends ApiBase_1.ApiBase {
418
470
  return this.adaptable.getAgGridContainerElement();
419
471
  }
420
472
  showGridInfoPopup() {
473
+ (0, logDeprecation_1.logDeprecation)('GridApi', 'showGridInfoPopup', 'openGridInfoSettingsPanel');
474
+ this.openGridInfoSettingsPanel();
475
+ }
476
+ openGridInfoSettingsPanel() {
421
477
  this.showModulePopup(ModuleConstants.GridInfoModuleId);
422
478
  }
423
479
  }
@@ -1,10 +1,14 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { LayoutApi } from '../LayoutApi';
3
- import { LayoutState, Layout } from '../../PredefinedConfig/LayoutState';
3
+ import { Layout, LayoutState } from '../../PredefinedConfig/LayoutState';
4
4
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
5
5
  import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
6
6
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
7
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
8
+ import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
7
9
  export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
10
+ internalApi: LayoutInternalApi;
11
+ constructor(adaptable: IAdaptable);
8
12
  getLayoutState(): LayoutState;
9
13
  shouldAutoSaveLayout: (layout?: Layout) => boolean;
10
14
  getCurrentVisibleColumnIdsMap(): {
@@ -12,13 +16,13 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
12
16
  };
13
17
  getCurrentVisibleColumnIds(): string[];
14
18
  setLayout(layoutName: string): void;
15
- fireLayoutChangedEvent(trigger: string, oldSate: LayoutState, newState: LayoutState, skipEqualityCheck?: boolean): void;
19
+ fireLayoutChangedEvent(trigger: string, oldState: LayoutState, newState: LayoutState, skipEqualityCheck?: boolean): void;
16
20
  getCurrentLayout(): Layout;
17
21
  getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
18
- areDraftAndCurrentLayoutEqual(): boolean;
19
22
  getCurrentLayoutName(): string;
20
23
  getLayoutByName(layoutName: string): Layout | null;
21
24
  getAllLayout(): Layout[];
25
+ getLayouts(): Layout[];
22
26
  getLayoutById(id: Layout['Uuid']): Layout;
23
27
  saveCurrentLayout(): void;
24
28
  doesLayoutExist(layout: Layout): boolean;
@@ -27,21 +31,18 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
27
31
  cloneAndSetLayout(layoutToClone: Layout, layoutName: string): Layout | false;
28
32
  cloneLayout(layoutToClone: Layout, layoutName: string): Layout | false;
29
33
  setColumnCaption(columnId: string, caption: string): void;
30
- saveLayout(layoutToSave: Layout): void;
31
34
  createOrUpdateLayout(layout: Layout): void;
32
35
  areLayoutsEqual(layout1: Layout, layout2: Layout): boolean;
33
- getLayoutDescription(layout: Layout): string;
34
- private getColumnSort;
35
36
  createDefaultLayoutIfNeeded(): Layout | null;
36
37
  showChangeColumnCaption(column: AdaptableColumn): void;
37
38
  showLayoutPopup(): void;
39
+ openLayoutSettingsPanel(): void;
38
40
  showLayoutEditor(layoutName?: string, action?: ModuleParams['action']): void;
39
41
  isCurrentLayoutReadOnly(): boolean;
40
42
  deleteLayout(layout: Layout): void;
41
43
  deleteLayoutByName(layoutName: string): void;
42
44
  isDefaultLayout(layout: Layout): boolean;
43
45
  isCurrentLayoutDefault(): boolean;
44
- areExpandedRowGroupsSavedInLayouts(): boolean;
45
46
  removeColumnFromCurrentLayout(columnId: string): void;
46
47
  removeColumnFromAllLayouts(columnId: string): void;
47
48
  removeColumnFromLayout(columnId: string, layoutName: string): void;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LayoutApiImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/LayoutRedux"));
6
+ const LayoutRedux_1 = require("../../Redux/ActionsReducers/LayoutRedux");
6
7
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
7
8
  const ApiBase_1 = require("./ApiBase");
8
9
  const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
@@ -10,15 +11,13 @@ const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectF
10
11
  const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
11
12
  const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper"));
12
13
  const Uuid_1 = require("../../PredefinedConfig/Uuid");
13
- const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
14
14
  const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
15
- const Enums_1 = require("../../PredefinedConfig/Common/Enums");
16
- const ArrayExtensions_1 = require("../../Utilities/Extensions/ArrayExtensions");
17
15
  const PopupRedux_1 = require("../../Redux/ActionsReducers/PopupRedux");
18
- const LayoutRedux_1 = require("../../Redux/ActionsReducers/LayoutRedux");
16
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
17
+ const LayoutInternalApi_1 = require("../Internal/LayoutInternalApi");
19
18
  class LayoutApiImpl extends ApiBase_1.ApiBase {
20
- constructor() {
21
- super(...arguments);
19
+ constructor(adaptable) {
20
+ super(adaptable);
22
21
  this.shouldAutoSaveLayout = (layout) => {
23
22
  var _a;
24
23
  let autoSave = (_a = this.adaptable.adaptableOptions.layoutOptions) === null || _a === void 0 ? void 0 : _a.autoSaveLayouts;
@@ -27,6 +26,7 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
27
26
  }
28
27
  return autoSave;
29
28
  };
29
+ this.internalApi = new LayoutInternalApi_1.LayoutInternalApi(adaptable);
30
30
  }
31
31
  getLayoutState() {
32
32
  return this.getAdaptableState().Layout;
@@ -50,17 +50,9 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
50
50
  }
51
51
  }
52
52
  }
53
- fireLayoutChangedEvent(trigger, oldSate, newState, skipEqualityCheck) {
54
- const layoutChangedInfo = {
55
- adaptableApi: this.getAdaptableApi(),
56
- actionName: trigger,
57
- oldLayoutState: oldSate,
58
- newLayoutState: newState,
59
- };
60
- if (!skipEqualityCheck && (0, isEqual_1.default)(oldSate, newState)) {
61
- return;
62
- }
63
- this.adaptable.api.eventApi.emit('LayoutChanged', layoutChangedInfo);
53
+ fireLayoutChangedEvent(trigger, oldState, newState, skipEqualityCheck) {
54
+ (0, logDeprecation_1.logDeprecationInternal)('LayoutApi', 'fireLayoutChangedEvent');
55
+ this.internalApi.fireLayoutChangedEvent(trigger, oldState, newState, skipEqualityCheck);
64
56
  }
65
57
  getCurrentLayout() {
66
58
  const state = this.getAdaptableState();
@@ -75,29 +67,28 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
75
67
  const currentLayout = this.getCurrentLayout();
76
68
  return ((_d = (_c = (_b = (_a = currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.ColumnSorts) === null || _a === void 0 ? void 0 : _a.find) === null || _b === void 0 ? void 0 : _b.call(_a, (sort) => sort.ColumnId === columnId)) === null || _c === void 0 ? void 0 : _c.SortOrder) !== null && _d !== void 0 ? _d : null);
77
69
  }
78
- areDraftAndCurrentLayoutEqual() {
79
- const state = this.getAdaptableState();
80
- const currentLayout = this.getLayoutByName(state.Layout.CurrentLayout);
81
- const draftLayout = state.Grid.CurrentLayout;
82
- return this.areLayoutsEqual(currentLayout, draftLayout);
83
- }
84
70
  getCurrentLayoutName() {
85
71
  return this.getAdaptableState().Layout.CurrentLayout;
86
72
  }
87
73
  getLayoutByName(layoutName) {
88
74
  if (StringExtensions_1.default.IsNotNullOrEmpty(layoutName)) {
89
- let layout = this.getAllLayout().find((l) => l.Name == layoutName);
75
+ let layout = this.getLayouts().find((l) => l.Name == layoutName);
90
76
  if (this.checkItemExists(layout, layoutName, 'Layout')) {
91
77
  return layout;
92
78
  }
93
79
  }
94
80
  }
95
81
  getAllLayout() {
96
- return this.getAdaptableState().Layout.Layouts;
82
+ (0, logDeprecation_1.logDeprecation)('LayouApi', 'getAllLayout', 'getLayouts');
83
+ return this.getLayouts();
84
+ }
85
+ getLayouts() {
86
+ var _a;
87
+ return (_a = this.getAdaptableState().Layout.Layouts) !== null && _a !== void 0 ? _a : [];
97
88
  }
98
89
  getLayoutById(id) {
99
90
  var _a;
100
- return (_a = this.getAllLayout()) === null || _a === void 0 ? void 0 : _a.find((layout) => (layout === null || layout === void 0 ? void 0 : layout.Uuid) === id);
91
+ return (_a = this.getLayouts()) === null || _a === void 0 ? void 0 : _a.find((layout) => (layout === null || layout === void 0 ? void 0 : layout.Uuid) === id);
101
92
  }
102
93
  saveCurrentLayout() {
103
94
  var _a;
@@ -113,7 +104,7 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
113
104
  if (layout == null) {
114
105
  return false;
115
106
  }
116
- let existingLayout = this.getAllLayout().find((l) => l.Uuid == layout.Uuid || l.Name === layout.Name);
107
+ let existingLayout = this.getLayouts().find((l) => l.Uuid == layout.Uuid || l.Name === layout.Name);
117
108
  return existingLayout != null;
118
109
  }
119
110
  createAndSetLayout(layoutToCreate) {
@@ -159,15 +150,6 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
159
150
  }
160
151
  }
161
152
  }
162
- saveLayout(layoutToSave) {
163
- if (!this.doesLayoutExist(layoutToSave)) {
164
- this.addUidToAdaptableObject(layoutToSave);
165
- this.dispatchAction(LayoutRedux.LayoutAdd(layoutToSave));
166
- }
167
- else {
168
- this.dispatchAction(LayoutRedux.LayoutSave(layoutToSave));
169
- }
170
- }
171
153
  createOrUpdateLayout(layout) {
172
154
  if (!this.doesLayoutExist(layout)) {
173
155
  this.createLayout(layout);
@@ -177,77 +159,12 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
177
159
  }
178
160
  }
179
161
  areLayoutsEqual(layout1, layout2) {
180
- if (!layout1 && !layout2) {
181
- return true;
182
- }
183
- if (!layout1 || !layout2) {
184
- return false;
185
- }
186
- const defaults = {
187
- ColumnSorts: [],
188
- // ColumnFlexMap: {},
189
- ColumnWidthMap: {},
190
- RowGroupedColumns: [],
191
- };
192
- layout1 = Object.assign(Object.assign({}, defaults), layout1);
193
- layout2 = Object.assign(Object.assign({}, defaults), layout2);
194
- return (0, isEqual_1.default)(layout1, layout2);
195
- }
196
- getLayoutDescription(layout) {
197
- let returnString = '';
198
- returnString += layout.Columns.length + ' Columns; ';
199
- returnString += '\n';
200
- returnString += ' Sort: ' + this.getColumnSort(layout.ColumnSorts);
201
- return returnString;
202
- }
203
- getColumnSort(columnSorts) {
204
- if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(columnSorts)) {
205
- return 'None';
206
- }
207
- let returnString = '';
208
- columnSorts.forEach((gs) => {
209
- returnString +=
210
- this.adaptable.api.columnApi.getFriendlyNameFromColumnId(gs.ColumnId) + Enums_1.SortOrder.Asc
211
- ? ' [asc] '
212
- : ' [desc] ';
213
- });
214
- return returnString;
162
+ (0, logDeprecation_1.logDeprecationInternal)('LayoutApi', 'areLayoutsEqual');
163
+ return this.internalApi.areLayoutsEqual(layout1, layout2);
215
164
  }
216
165
  createDefaultLayoutIfNeeded() {
217
- let gridState = this.getAdaptableApi().gridApi.getGridState();
218
- let layoutState = this.getLayoutState();
219
- const isLayoutDefined = (layoutName) => !!layoutState.Layouts.filter((layout) => layout.Name === layoutName)[0];
220
- let defaultLayoutColumns = gridState.Columns.filter((column) => column.visible);
221
- const columnsMap = gridState.Columns.reduce((acc, col) => {
222
- acc[col.columnId] = col;
223
- return acc;
224
- }, {});
225
- let shouldCreateDefaultLayout = this.getLayoutOptions().createDefaultLayout;
226
- if (!layoutState.Layouts || !layoutState.Layouts.length) {
227
- shouldCreateDefaultLayout = true;
228
- }
229
- if (shouldCreateDefaultLayout) {
230
- if (!layoutState.Layouts || !isLayoutDefined(GeneralConstants_1.DEFAULT_LAYOUT)) {
231
- let defaultLayout = ObjectFactory_1.default.CreateEmptyLayout({
232
- Name: GeneralConstants_1.DEFAULT_LAYOUT,
233
- Columns: defaultLayoutColumns.map((c) => c.columnId),
234
- AggregationColumns: defaultLayoutColumns.reduce((acc, col) => {
235
- if (col.aggregationFunction) {
236
- acc[col.columnId] = col.aggregationFunction;
237
- }
238
- return acc;
239
- }, {}),
240
- PinnedColumnsMap: defaultLayoutColumns.reduce((acc, col) => {
241
- if (col.pinned) {
242
- acc[col.columnId] = col.pinned;
243
- }
244
- return acc;
245
- }, {}),
246
- }, gridState.Columns);
247
- this.createOrUpdateLayout(defaultLayout);
248
- return defaultLayout;
249
- }
250
- }
166
+ (0, logDeprecation_1.logDeprecationInternal)('LayoutApi', 'createDefaultLayoutIfNeeded');
167
+ return this.internalApi.createDefaultLayoutIfNeeded();
251
168
  }
252
169
  showChangeColumnCaption(column) {
253
170
  this.dispatchAction((0, PopupRedux_1.PopupShowPrompt)({
@@ -259,6 +176,10 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
259
176
  }));
260
177
  }
261
178
  showLayoutPopup() {
179
+ (0, logDeprecation_1.logDeprecation)('LayoutApi', 'showLayoutPopup', 'openLayoutSettingsPanel');
180
+ this.openLayoutSettingsPanel();
181
+ }
182
+ openLayoutSettingsPanel() {
262
183
  this.showModulePopup(ModuleConstants.LayoutModuleId);
263
184
  }
264
185
  showLayoutEditor(layoutName, action = 'Edit') {
@@ -289,7 +210,7 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
289
210
  (0, LoggingHelper_1.LogAdaptableWarning)('The Default Layout cannot be deleted');
290
211
  return;
291
212
  }
292
- const layoutCount = this.getAllLayout().length;
213
+ const layoutCount = this.getLayouts().length;
293
214
  if (layoutCount === 1) {
294
215
  (0, LoggingHelper_1.LogAdaptableWarning)('You cannot delete the only Layout. AdapTable always requires one layout');
295
216
  return;
@@ -310,20 +231,16 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
310
231
  isCurrentLayoutDefault() {
311
232
  return this.isDefaultLayout(this.getCurrentLayout());
312
233
  }
313
- areExpandedRowGroupsSavedInLayouts() {
314
- return (this.getLayoutOptions().includeExpandedRowGroups ||
315
- this.getLayoutOptions().displayRowGroups === 'dynamic');
316
- }
317
234
  removeColumnFromCurrentLayout(columnId) {
318
235
  this.removeColumnFromLayout(columnId, this.getCurrentLayoutName());
319
236
  }
320
237
  removeColumnFromAllLayouts(columnId) {
321
- this.getAllLayout().forEach((layout) => {
238
+ this.getLayouts().forEach((layout) => {
322
239
  this.removeColumnFromLayout(columnId, layout.Name);
323
240
  });
324
241
  }
325
242
  removeColumnFromLayout(columnId, layoutName) {
326
- const column = this.getAdaptableApi().columnApi.getColumnFromId(columnId);
243
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
327
244
  if (column) {
328
245
  const layout = this.getLayoutByName(layoutName);
329
246
  if (layout) {
@@ -1,6 +1,6 @@
1
+ import { PluginsState } from '../../Redux/ActionsReducers/PluginsRedux';
1
2
  import { PluginsApi } from '../PluginsApi';
2
3
  import { ApiBase } from './ApiBase';
3
- import { PluginsState } from '../../Redux/ActionsReducers/PluginsRedux';
4
4
  import { IPushPullApi } from '../IPushPullApi';
5
5
  import { Glue42Api } from '../Glue42Api';
6
6
  import { OpenFinApi } from '../OpenFinApi';
@@ -1,5 +1,5 @@
1
1
  import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
2
- import { PlusMinusState, PlusMinusNudge } from '../../PredefinedConfig/PlusMinusState';
2
+ import { PlusMinusNudge, PlusMinusState } from '../../PredefinedConfig/PlusMinusState';
3
3
  import { PlusMinusApi } from '../PlusMinusApi';
4
4
  import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
5
5
  export declare class PlusMinusApiImpl extends ApiBase implements PlusMinusApi {
@@ -11,6 +11,7 @@ export declare class PlusMinusApiImpl extends ApiBase implements PlusMinusApi {
11
11
  runPlusMinusNudge(plusMinusNudge: PlusMinusNudge, cellsToUpdate: GridCell[], direction: 'up' | 'down'): void;
12
12
  applyPlusMinus(gridCells: GridCell[]): void;
13
13
  showPlusMinusPopup(): void;
14
+ openPlusMinusSettingsPanel(): void;
14
15
  editPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
15
16
  suspendPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
16
17
  unSuspendPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const ApiBase_1 = require("./ApiBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
7
7
  const PlusMinusRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/PlusMinusRedux"));
8
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
8
9
  class PlusMinusApiImpl extends ApiBase_1.ApiBase {
9
10
  getPlusMinusState() {
10
11
  return this.getAdaptableState().PlusMinus;
@@ -31,6 +32,10 @@ class PlusMinusApiImpl extends ApiBase_1.ApiBase {
31
32
  this.dispatchAction(PlusMinusRedux.PlusMinusApply(gridCells));
32
33
  }
33
34
  showPlusMinusPopup() {
35
+ (0, logDeprecation_1.logDeprecation)('PlusMinusApi', 'showPlusMinusPopup', 'openPlusMinusSettingsPanel');
36
+ this.openPlusMinusSettingsPanel();
37
+ }
38
+ openPlusMinusSettingsPanel() {
34
39
  this.showModulePopup(ModuleConstants.PlusMinusModuleId);
35
40
  }
36
41
  editPlusMinusNudge(plusMinusNudge) {
@@ -1,8 +1,12 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { PredicateApi } from '../PredicateApi';
3
- import { AdaptablePredicateDef, AdaptablePredicate, PredicateDefHandlerParams, PredicateModuleScope } from '../../PredefinedConfig/Common/AdaptablePredicate';
3
+ import { AdaptablePredicate, AdaptablePredicateDef, PredicateDefHandlerParams, PredicateModuleScope } from '../../PredefinedConfig/Common/AdaptablePredicate';
4
4
  import { AdaptableColumnDataType, SystemFilterPredicateId } from '../../types';
5
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
6
+ import { PredicateInternalApi } from '../Internal/PredicateInternalApi';
5
7
  export declare class PredicateApiImpl extends ApiBase implements PredicateApi {
8
+ internalApi: PredicateInternalApi;
9
+ constructor(adaptable: IAdaptable);
6
10
  getPredicateDefs(): AdaptablePredicateDef[];
7
11
  getSystemPredicateDefs(): AdaptablePredicateDef[];
8
12
  getCustomPredicateDefs(): AdaptablePredicateDef[];
@@ -12,15 +16,14 @@ export declare class PredicateApiImpl extends ApiBase implements PredicateApi {
12
16
  getCustomPredicateDefById(predicateId: string): AdaptablePredicateDef;
13
17
  predicateToString(predicate: AdaptablePredicate): string | undefined;
14
18
  isValidPredicate(predicate: AdaptablePredicate | undefined): boolean;
19
+ arePredicatesValid(predicates: AdaptablePredicate[]): boolean;
20
+ isEveryPredicateValid(predicates: AdaptablePredicate[]): boolean;
15
21
  handlePredicate(predicate: AdaptablePredicate | undefined, params: Omit<PredicateDefHandlerParams, 'api' | 'inputs'>, defaultReturn: boolean): boolean;
22
+ handlePredicates(predicates: AdaptablePredicate[], params: Omit<PredicateDefHandlerParams, 'api' | 'inputs'>, defaultReturn: boolean): boolean;
16
23
  getEqualityPredicateForDataType(dataType: AdaptableColumnDataType): SystemFilterPredicateId;
17
24
  hasPredicateValues(predicate: AdaptablePredicate): boolean;
18
- private getSystemFilterPredicateIds;
19
25
  getFilterPredicateDefs(): AdaptablePredicateDef[];
20
- private getSystemAlertPredicateIds;
21
26
  getAlertPredicateDefs(): AdaptablePredicateDef[];
22
- private getSystemFormatColumnPredicateIds;
23
27
  getFormatColumnPredicateDefs(): AdaptablePredicateDef[];
24
- private getSystemFlashingCellPredicateIds;
25
28
  getFlashingCellPredicateDefs(): AdaptablePredicateDef[];
26
29
  }