@adaptabletools/adaptable-cjs 18.0.0-canary.3 → 18.0.0-canary.30

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 (453) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  3. package/base.css +27 -21
  4. package/base.css.map +1 -1
  5. package/index.css +108 -88
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -109
  9. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  10. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
  11. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  12. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  13. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +39 -0
  16. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  17. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  18. package/src/AdaptableOptions/MenuOptions.d.ts +11 -71
  19. package/src/AdaptableOptions/MenuOptions.js +0 -101
  20. package/src/AdaptableOptions/NoteOptions.d.ts +25 -0
  21. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  22. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  23. package/src/Api/AdaptableApi.d.ts +9 -4
  24. package/src/Api/BulkUpdateApi.d.ts +0 -5
  25. package/src/Api/ColumnApi.d.ts +13 -0
  26. package/src/Api/CommentApi.d.ts +20 -22
  27. package/src/Api/ConfigApi.d.ts +4 -5
  28. package/src/Api/EventApi.d.ts +7 -9
  29. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  30. package/src/Api/Events/CommentChanged.d.ts +11 -0
  31. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  32. package/src/Api/GridApi.d.ts +42 -14
  33. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  34. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  35. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  36. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  37. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  38. package/src/Api/Implementation/AlertApiImpl.js +5 -10
  39. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  40. package/src/Api/Implementation/ApiBase.js +8 -2
  41. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  42. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  43. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  44. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  45. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  46. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  47. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  48. package/src/Api/Implementation/ColumnApiImpl.js +48 -16
  49. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  50. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  51. package/src/Api/Implementation/CommentsApiImpl.js +12 -6
  52. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  53. package/src/Api/Implementation/ConfigApiImpl.js +34 -30
  54. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  55. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  56. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  57. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  58. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  59. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  60. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  61. package/src/Api/Implementation/GridApiImpl.d.ts +10 -3
  62. package/src/Api/Implementation/GridApiImpl.js +78 -23
  63. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -7
  64. package/src/Api/Implementation/LayoutApiImpl.js +19 -13
  65. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  66. package/src/Api/Implementation/NoteApiImpl.js +45 -0
  67. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  68. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  69. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  70. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  71. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  72. package/src/Api/Implementation/ScopeApiImpl.js +64 -18
  73. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  74. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  75. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  76. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  77. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  78. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  79. package/src/Api/Implementation/UserInterfaceApiImpl.js +30 -25
  80. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  81. package/src/Api/Internal/ActionRowInternalApi.js +118 -38
  82. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -8
  83. package/src/Api/Internal/AdaptableInternalApi.js +25 -37
  84. package/src/Api/Internal/AlertInternalApi.js +4 -17
  85. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  86. package/src/Api/Internal/CalculatedColumnInternalApi.js +79 -14
  87. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  88. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  89. package/src/Api/Internal/ColumnFilterInternalApi.js +35 -31
  90. package/src/Api/Internal/ColumnInternalApi.d.ts +6 -1
  91. package/src/Api/Internal/ColumnInternalApi.js +20 -1
  92. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  93. package/src/Api/Internal/CommentsInternalApi.js +18 -0
  94. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  95. package/src/Api/Internal/CustomSortInternalApi.js +33 -2
  96. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  97. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  98. package/src/Api/Internal/DataSetInternalApi.js +3 -8
  99. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  100. package/src/Api/Internal/ExportInternalApi.js +8 -5
  101. package/src/Api/Internal/ExpressionInternalApi.js +2 -12
  102. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  103. package/src/Api/Internal/FormatColumnInternalApi.d.ts +1 -4
  104. package/src/Api/Internal/FormatColumnInternalApi.js +26 -28
  105. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  106. package/src/Api/Internal/FreeTextColumnInternalApi.js +62 -1
  107. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  108. package/src/Api/Internal/GridFilterInternalApi.js +9 -9
  109. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  110. package/src/Api/Internal/GridInternalApi.js +151 -44
  111. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  112. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  113. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  114. package/src/Api/Internal/NoteInternalApi.js +18 -0
  115. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  116. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  117. package/src/Api/Internal/StyledColumnInternalApi.js +5 -5
  118. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  119. package/src/Api/Internal/TeamSharingInternalApi.js +3 -8
  120. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  121. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  122. package/src/Api/InteropioPluginApi.d.ts +2 -2
  123. package/src/Api/LayoutApi.d.ts +17 -9
  124. package/src/Api/NoteApi.d.ts +48 -0
  125. package/src/Api/OptionsApi.d.ts +8 -8
  126. package/src/Api/ScopeApi.d.ts +10 -0
  127. package/src/Api/UserInterfaceApi.d.ts +15 -13
  128. package/src/EnvVars.d.ts +3 -0
  129. package/src/EnvVars.js +8 -0
  130. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  131. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  132. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  133. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  134. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  135. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  136. package/src/PredefinedConfig/Common/AggregationColumns.js +5 -1
  137. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  138. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  139. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  140. package/src/PredefinedConfig/Common/Enums.js +3 -0
  141. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  142. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  143. package/src/PredefinedConfig/Common/Menu.js +117 -0
  144. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  145. package/src/PredefinedConfig/Common/RowSummary.js +20 -0
  146. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  147. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  148. package/src/PredefinedConfig/Common/Types.js +4 -1
  149. package/src/PredefinedConfig/FormatColumnState.d.ts +6 -1
  150. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  151. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  152. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  153. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  154. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  155. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -0
  156. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  157. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  158. package/src/Redux/ActionsReducers/CommentsRedux.js +1 -39
  159. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  160. package/src/Redux/ActionsReducers/LayoutRedux.js +34 -11
  161. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  162. package/src/Redux/ActionsReducers/NoteRedux.js +89 -0
  163. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  164. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  165. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  166. package/src/Redux/ActionsReducers/SystemRedux.js +27 -11
  167. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  168. package/src/Redux/Store/AdaptableStore.js +69 -79
  169. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  170. package/src/Strategy/AdaptableModuleBase.d.ts +11 -12
  171. package/src/Strategy/AdaptableModuleBase.js +17 -23
  172. package/src/Strategy/AlertModule.d.ts +2 -3
  173. package/src/Strategy/AlertModule.js +4 -57
  174. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  175. package/src/Strategy/BulkUpdateModule.js +2 -1
  176. package/src/Strategy/CalculatedColumnModule.d.ts +4 -5
  177. package/src/Strategy/CalculatedColumnModule.js +8 -28
  178. package/src/Strategy/CellSummaryModule.d.ts +10 -8
  179. package/src/Strategy/CellSummaryModule.js +85 -70
  180. package/src/Strategy/ChartingModule.d.ts +0 -1
  181. package/src/Strategy/ChartingModule.js +2 -22
  182. package/src/Strategy/ColumnFilterModule.d.ts +3 -4
  183. package/src/Strategy/ColumnFilterModule.js +37 -121
  184. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  185. package/src/Strategy/ColumnInfoModule.js +6 -4
  186. package/src/Strategy/CommentModule.d.ts +11 -0
  187. package/src/Strategy/CommentModule.js +75 -0
  188. package/src/Strategy/CustomSortModule.d.ts +1 -1
  189. package/src/Strategy/CustomSortModule.js +4 -3
  190. package/src/Strategy/DashboardModule.d.ts +3 -4
  191. package/src/Strategy/DashboardModule.js +11 -28
  192. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  193. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  194. package/src/Strategy/DataImportModule.d.ts +4 -4
  195. package/src/Strategy/DataImportModule.js +8 -8
  196. package/src/Strategy/DataSetModule.d.ts +1 -1
  197. package/src/Strategy/DataSetModule.js +1 -1
  198. package/src/Strategy/ExportModule.d.ts +1 -2
  199. package/src/Strategy/ExportModule.js +37 -40
  200. package/src/Strategy/Fdc3Module.d.ts +1 -1
  201. package/src/Strategy/Fdc3Module.js +3 -13
  202. package/src/Strategy/FlashingCellModule.d.ts +3 -4
  203. package/src/Strategy/FlashingCellModule.js +8 -21
  204. package/src/Strategy/FormatColumnModule.d.ts +1 -3
  205. package/src/Strategy/FormatColumnModule.js +27 -91
  206. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  207. package/src/Strategy/FreeTextColumnModule.js +2 -32
  208. package/src/Strategy/GridFilterModule.d.ts +0 -1
  209. package/src/Strategy/GridFilterModule.js +0 -37
  210. package/src/Strategy/GridInfoModule.d.ts +2 -2
  211. package/src/Strategy/GridInfoModule.js +5 -3
  212. package/src/Strategy/Interface/IModule.d.ts +3 -4
  213. package/src/Strategy/LayoutModule.d.ts +5 -6
  214. package/src/Strategy/LayoutModule.js +77 -122
  215. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  216. package/src/Strategy/NamedQueryModule.js +0 -19
  217. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +3 -3
  218. package/src/Strategy/NoteModule.js +60 -0
  219. package/src/Strategy/PlusMinusModule.d.ts +2 -2
  220. package/src/Strategy/PlusMinusModule.js +3 -3
  221. package/src/Strategy/ScheduleModule.d.ts +1 -1
  222. package/src/Strategy/ScheduleModule.js +1 -1
  223. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  224. package/src/Strategy/SettingsPanelModule.js +6 -6
  225. package/src/Strategy/ShortcutModule.d.ts +1 -1
  226. package/src/Strategy/ShortcutModule.js +1 -1
  227. package/src/Strategy/SmartEditModule.d.ts +1 -1
  228. package/src/Strategy/SmartEditModule.js +2 -1
  229. package/src/Strategy/StyledColumnModule.d.ts +2 -2
  230. package/src/Strategy/StyledColumnModule.js +45 -40
  231. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  232. package/src/Strategy/SystemStatusModule.js +4 -3
  233. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  234. package/src/Strategy/TeamSharingModule.js +5 -5
  235. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  236. package/src/Strategy/ToolPanelModule.js +0 -23
  237. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -0
  238. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  239. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  240. package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
  241. package/src/Utilities/Constants/GeneralConstants.js +4 -2
  242. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  243. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  244. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  245. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  246. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +434 -3
  247. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  248. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  249. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  250. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  251. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  252. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  253. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  254. package/src/Utilities/Helpers/AdaptableHelper.js +21 -60
  255. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  256. package/src/Utilities/Helpers/Helper.js +6 -1
  257. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  258. package/src/Utilities/MenuItem.d.ts +7 -4
  259. package/src/Utilities/MenuItem.js +6 -3
  260. package/src/Utilities/ObjectFactory.d.ts +3 -3
  261. package/src/Utilities/ObjectFactory.js +6 -24
  262. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  263. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  264. package/src/Utilities/Services/CellPopupService.js +2 -3
  265. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  266. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  267. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  268. package/src/Utilities/Services/LicenseService/index.js +1 -186
  269. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  270. package/src/Utilities/Services/MetamodelService.js +6 -3
  271. package/src/Utilities/Services/ModuleService.js +6 -2
  272. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  273. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  274. package/src/Utilities/Services/ReportService.d.ts +7 -5
  275. package/src/Utilities/Services/ReportService.js +243 -24
  276. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  277. package/src/Utilities/Services/RowEditService.js +3 -1
  278. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  279. package/src/Utilities/Services/RowSummaryService.js +146 -0
  280. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  281. package/src/Utilities/adaptableQlUtils.js +18 -0
  282. package/src/Utilities/license/decode.js +1 -70
  283. package/src/Utilities/license/hashing.js +1 -47
  284. package/src/View/AdaptableView.js +1 -3
  285. package/src/View/AdaptableViewFactory.js +2 -2
  286. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  287. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  288. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  289. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  290. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  291. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  292. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  293. package/src/View/Comments/CommentsEditor.js +28 -17
  294. package/src/View/Comments/CommentsPopup.js +25 -13
  295. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  296. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  297. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +46 -0
  298. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  299. package/src/View/Components/CellPopup/index.d.ts +1 -0
  300. package/src/View/Components/CellPopup/index.js +6 -3
  301. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  302. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  303. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  304. package/src/View/Components/NewScopeComponent.js +34 -1
  305. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  306. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  307. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +9 -1
  308. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  309. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  310. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  311. package/src/View/Components/Popups/WindowPopups/windowFactory.js +4 -1
  312. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  313. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  314. package/src/View/Components/ValueSelector/index.js +2 -2
  315. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  316. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  317. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  318. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +19 -6
  319. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -7
  320. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  321. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  322. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  323. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  324. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  325. package/src/View/Layout/LayoutViewPanel.js +2 -1
  326. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  327. package/src/View/Layout/TransposedPopup.js +200 -0
  328. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  329. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  330. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  331. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
  332. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  333. package/src/View/Layout/Wizard/sections/RowSummarySection.js +181 -0
  334. package/src/View/License/LicenseWatermark.js +1 -66
  335. package/src/View/Note/NotePopup.d.ts +2 -0
  336. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +22 -19
  337. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  338. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  339. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +14 -10
  340. package/src/View/Theme/ThemeSelector.js +2 -2
  341. package/src/agGrid/ActionColumnRenderer.js +7 -6
  342. package/src/agGrid/Adaptable.d.ts +3 -455
  343. package/src/agGrid/Adaptable.js +7 -5291
  344. package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
  345. package/src/agGrid/AdaptableAgGrid.js +3915 -0
  346. package/src/agGrid/AdaptableLogger.js +78 -13
  347. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  348. package/src/agGrid/AgGridAdapter.js +594 -0
  349. package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
  350. package/src/agGrid/AgGridColumnAdapter.js +799 -0
  351. package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
  352. package/src/agGrid/AgGridMenuAdapter.js +605 -0
  353. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  354. package/src/agGrid/AgGridOptionsService.js +80 -0
  355. package/src/agGrid/BadgeRenderer.js +8 -2
  356. package/src/agGrid/CheckboxRenderer.js +1 -1
  357. package/src/agGrid/FilterWrapper.d.ts +2 -2
  358. package/src/agGrid/FilterWrapper.js +1 -1
  359. package/src/agGrid/PercentBarRenderer.js +3 -1
  360. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  361. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  362. package/src/agGrid/buildSortedColumnStateForLayout.js +124 -0
  363. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  364. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +74 -19
  365. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  366. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  367. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  368. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  369. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  370. package/src/agGrid/sortColumnStateForVisibleColumns.js +50 -0
  371. package/src/agGrid/weightedAverage.d.ts +0 -2
  372. package/src/agGrid/weightedAverage.js +1 -56
  373. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  374. package/src/components/Datepicker/index.d.ts +1 -1
  375. package/src/components/Datepicker/index.js +10 -2
  376. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  377. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  378. package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
  379. package/src/components/InfiniteTable/index.js +2 -2
  380. package/src/components/Input/index.d.ts +1 -2
  381. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  382. package/src/components/Modal/index.d.ts +1 -0
  383. package/src/components/Modal/index.js +6 -4
  384. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  385. package/src/components/Select/Select.d.ts +3 -1
  386. package/src/components/Select/Select.js +4 -2
  387. package/src/components/Textarea/index.d.ts +2 -2
  388. package/src/components/icons/copy.d.ts +3 -0
  389. package/src/components/icons/copy.js +7 -0
  390. package/src/components/icons/filter-off.d.ts +3 -0
  391. package/src/components/icons/filter-off.js +7 -0
  392. package/src/components/icons/grid-info.d.ts +3 -0
  393. package/src/components/icons/grid-info.js +7 -0
  394. package/src/components/icons/index.js +14 -0
  395. package/src/components/icons/note.js +2 -2
  396. package/src/components/icons/rows.d.ts +3 -0
  397. package/src/components/icons/rows.js +7 -0
  398. package/src/components/icons/select-all.d.ts +3 -0
  399. package/src/components/icons/select-all.js +7 -0
  400. package/src/components/icons/select-fwd.d.ts +3 -0
  401. package/src/components/icons/select-fwd.js +7 -0
  402. package/src/components/icons/select-off.d.ts +3 -0
  403. package/src/components/icons/select-off.js +7 -0
  404. package/src/env.js +2 -2
  405. package/src/metamodel/adaptable.metamodel.d.ts +203 -47
  406. package/src/metamodel/adaptable.metamodel.js +1 -9316
  407. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  408. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  409. package/src/migration/VersionUpgrade.d.ts +8 -0
  410. package/src/migration/VersionUpgrade.js +15 -0
  411. package/src/migration/VersionUpgrade17.d.ts +18 -0
  412. package/src/migration/VersionUpgrade17.js +347 -0
  413. package/src/migration/VersionUpgrade18.d.ts +5 -0
  414. package/src/migration/VersionUpgrade18.js +10 -0
  415. package/src/parser/src/parser.js +576 -553
  416. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  417. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  418. package/src/parser/src/types.d.ts +7 -2
  419. package/src/parser/src/types.js +1 -2
  420. package/src/types.d.ts +27 -20
  421. package/tsconfig.cjs.tsbuildinfo +1 -1
  422. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  423. package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
  424. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  425. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  426. package/src/Api/Implementation/NotesApiImpl.js +0 -44
  427. package/src/Api/NotesApi.d.ts +0 -48
  428. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  429. package/src/PredefinedConfig/CellAddress.js +0 -5
  430. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  431. package/src/Redux/ActionsReducers/NotesRedux.js +0 -87
  432. package/src/Strategy/CommentsModule.d.ts +0 -16
  433. package/src/Strategy/CommentsModule.js +0 -82
  434. package/src/Strategy/NotesModule.js +0 -62
  435. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  436. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  437. package/src/View/Components/ScopeComponent.d.ts +0 -24
  438. package/src/View/Components/ScopeComponent.js +0 -138
  439. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  440. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  441. package/src/View/Notes/NotesPopup.d.ts +0 -2
  442. package/src/agGrid/agGridHelper.d.ts +0 -57
  443. package/src/agGrid/agGridHelper.js +0 -691
  444. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  445. package/src/agGrid/agGridMenuHelper.js +0 -673
  446. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  447. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  448. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  449. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  450. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  451. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  452. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  453. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -20,11 +20,11 @@ class AdaptableModuleBase {
20
20
  };
21
21
  this.api = api;
22
22
  this.api.eventApi.on('AdaptableReady', () => {
23
- this.handleAdaptableReady();
23
+ this.onAdaptableReady();
24
24
  this.api.configApi.dispatchStateReadyAction(this.moduleInfo.ModuleName);
25
25
  });
26
26
  this.api.eventApi.on('AdaptableStateReloaded', (adaptableStateReloadedInfo) => {
27
- this.handleConfigReloaded(adaptableStateReloadedInfo);
27
+ this.onAdaptableStateReloaded(adaptableStateReloadedInfo);
28
28
  });
29
29
  }
30
30
  getViewAccessLevel() {
@@ -47,9 +47,6 @@ class AdaptableModuleBase {
47
47
  isModuleEditable() {
48
48
  return this.hasRequiredAccessLevel(this.getEditAccessLevel());
49
49
  }
50
- updateOldConfig() {
51
- // override where deprecated configs have to be migrated
52
- }
53
50
  getModuleAdaptableObjects() {
54
51
  // override where necessary in base classes
55
52
  return [];
@@ -67,10 +64,10 @@ class AdaptableModuleBase {
67
64
  // this will skip the unnecessary evaluation of modules which do not have Named Query references
68
65
  return true;
69
66
  }
70
- handleAdaptableReady() {
67
+ onAdaptableReady() {
71
68
  // override where necessary in base classes
72
69
  }
73
- handleConfigReloaded(adaptableStateReloadedInfo) {
70
+ onAdaptableStateReloaded(adaptableStateReloadedInfo) {
74
71
  // override where necessary in base classes
75
72
  }
76
73
  setModuleEntitlement() {
@@ -78,13 +75,14 @@ class AdaptableModuleBase {
78
75
  .getEntitlementService()
79
76
  .getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
80
77
  }
81
- addModuleMenuItem(source) {
78
+ createModuleMenuItem(source) {
82
79
  if (this.isModuleAvailable() && this.moduleInfo.Popup) {
83
80
  const moduleParams = {
84
81
  source: source,
85
82
  maxWidth: this.getPopupMaxWidth(),
86
83
  };
87
84
  return this.createMainMenuItemShowPopup({
85
+ Name: '_navbar',
88
86
  Label: this.moduleInfo.FriendlyName,
89
87
  ComponentName: this.moduleInfo.Popup,
90
88
  Icon: this.moduleInfo.Glyph,
@@ -92,33 +90,29 @@ class AdaptableModuleBase {
92
90
  });
93
91
  }
94
92
  }
95
- addModuleButtonMenuItem() {
96
- // base class implementation which is empty
97
- return undefined;
98
- }
99
- addColumnMenuItems(column) {
93
+ createColumnMenuItems(column) {
100
94
  // base class implementation which is empty
101
95
  return undefined;
102
96
  }
103
- addContextMenuItems(menuContext) {
97
+ createContextMenuItems(menuContext) {
104
98
  // base class implementation which is empty
105
99
  return undefined;
106
100
  }
107
- // creates the menu items in the main dropdown
108
- createMainMenuItemShowPopup({ Label, ComponentName, Icon, PopupParams, }) {
109
- return new MenuItem_1.MenuItemShowPopup(Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
101
+ // creates the module menu items in the navbar
102
+ createMainMenuItemShowPopup({ Name, Label, ComponentName, Icon, PopupParams, }) {
103
+ return new MenuItem_1.MenuItemShowPopup(Name, Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
110
104
  }
111
105
  // creates a menu item for the column menu to perform a function
112
- createColumnMenuItemClickFunction(Label, Icon, ClickFunction) {
113
- return new MenuItem_1.MenuItemDoClickFunction(Label, this.moduleInfo.ModuleName, ClickFunction, Icon, true);
106
+ createMenuItemClickFunction(Name, Label, Icon, ClickFunction) {
107
+ return new MenuItem_1.MenuItemDoClickFunction(Name, Label, this.moduleInfo.ModuleName, ClickFunction, Icon, true);
114
108
  }
115
109
  // creates a menu item for the column menu to enact a Redux action
116
- createColumnMenuItemReduxAction(Label, Icon, Action) {
117
- return new MenuItem_1.MenuItemDoReduxAction(Label, this.moduleInfo.ModuleName, Action, Icon, true);
110
+ createMenuItemReduxAction(Name, Label, Icon, Action) {
111
+ return new MenuItem_1.MenuItemDoReduxAction(Name, Label, this.moduleInfo.ModuleName, Action, Icon, true);
118
112
  }
119
113
  // popups called by the column menu - invisible if module is hidden or readonly
120
- createColumnMenuItemShowPopup(Label, ComponentName, Icon, PopupParams) {
121
- return new MenuItem_1.MenuItemShowPopup(Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
114
+ createMenuItemShowPopup(Name, Label, ComponentName, Icon, PopupParams) {
115
+ return new MenuItem_1.MenuItemShowPopup(Name, Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
122
116
  }
123
117
  getTeamSharingAction() {
124
118
  return undefined;
@@ -8,14 +8,13 @@ import { AdaptableModuleView, AdaptableObjectCompactView, AdaptableObjectView, I
8
8
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
9
9
  export declare class AlertModule extends AdaptableModuleBase implements IModule {
10
10
  constructor(api: AdaptableApi);
11
+ onAdaptableReady(): void;
11
12
  getModuleAdaptableObjects(config?: {
12
13
  includeLayoutNotAssociatedObjects?: boolean;
13
14
  }): AdaptableObject[];
14
15
  getExplicitlyReferencedColumnIds(alertDefinition: AlertDefinition): string[];
15
16
  getReferencedNamedQueryNames(alertDefinition: AlertDefinition): string[];
16
- updateOldConfig(): void;
17
- private updateAlertSingleToMultiplePredicates;
18
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
17
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
18
  private handleCellDataChanged;
20
19
  private handleGridDataChanged;
21
20
  private handleReactiveAlertTriggered;
@@ -17,12 +17,12 @@ const AlertEmptyView_1 = require("../View/Alert/AlertEmptyView");
17
17
  const AlertStatusSubPanel_1 = require("../View/Alert/AlertStatusSubPanel");
18
18
  const ActiveAlertsPanelItemLabel_1 = require("../View/Alert/ActiveAlertsPanelItemLabel");
19
19
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
20
- const updateSingleToMultiplePredicates_1 = require("./Utilities/updateSingleToMultiplePredicates");
21
- const Helper_1 = require("../Utilities/Helpers/Helper");
22
20
  const getAlertType_1 = require("../View/Alert/Utilities/getAlertType");
23
21
  class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
24
22
  constructor(api) {
25
23
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
24
+ }
25
+ onAdaptableReady() {
26
26
  this.api.internalApi
27
27
  .getDataService()
28
28
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -75,60 +75,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
75
75
  }
76
76
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
77
77
  }
78
- updateOldConfig() {
79
- var _a;
80
- this.updateAlertSingleToMultiplePredicates();
81
- // 1. Make all (new) Flashing Cells have a Predicate if none exists
82
- const alertState = this.api.alertApi.getAlertState();
83
- const flashingAlertDefinitions = alertState.FlashingAlertDefinitions;
84
- const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
85
- if (ArrayExtensions_1.ArrayExtensions.IsEmpty(flashingCellDefinitions) &&
86
- ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(flashingAlertDefinitions)) {
87
- this.api.flashingCellApi.setFlashingCellDefinitions(flashingAlertDefinitions);
88
- // TODO: state does not clear
89
- this.api.flashingCellApi.internalApi.clearFlashingCellState();
90
- }
91
- (_a = alertState.AlertDefinitions) === null || _a === void 0 ? void 0 : _a.forEach((alertDefinition) => {
92
- // if ShowPopup then change to DisplayNotificate
93
- if (alertDefinition.AlertProperties &&
94
- alertDefinition.AlertProperties.ShowPopup &&
95
- alertDefinition.AlertProperties.ShowPopup == true &&
96
- !alertDefinition.AlertProperties.DisplayNotification) {
97
- alertDefinition.AlertProperties.DisplayNotification = true;
98
- alertDefinition.AlertProperties.ShowPopup = undefined;
99
- }
100
- // if no rule but a predicate then use that
101
- if (!alertDefinition.Rule) {
102
- if (alertDefinition.Predicate && alertDefinition.Predicate != undefined) {
103
- const predicate = alertDefinition.Predicate;
104
- alertDefinition.Rule = {
105
- Predicate: predicate,
106
- };
107
- alertDefinition.Predicate = undefined;
108
- }
109
- }
110
- else {
111
- //migrate alert definitions with `AggregationExpression` (now `AggregatedBooleanExpression`)
112
- const obsoleteAggregationExpression = alertDefinition.Rule['AggregationExpression'];
113
- if (obsoleteAggregationExpression) {
114
- alertDefinition.Rule.AggregatedBooleanExpression = obsoleteAggregationExpression;
115
- }
116
- }
117
- });
118
- }
119
- updateAlertSingleToMultiplePredicates() {
120
- const alertDefinitions = this.api.alertApi.getAlertDefinitions({
121
- includeLayoutNotAssociatedObjects: true,
122
- });
123
- alertDefinitions.forEach((alertDefinition) => {
124
- if (alertDefinition.Rule && 'Predicate' in alertDefinition.Rule) {
125
- const preparedAlertDefinition = (0, Helper_1.cloneObject)(alertDefinition);
126
- (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(preparedAlertDefinition.Rule);
127
- this.api.alertApi.editAlertDefinition(preparedAlertDefinition);
128
- }
129
- });
130
- }
131
- addContextMenuItems(menuContext) {
78
+ createContextMenuItems(menuContext) {
132
79
  const items = [];
133
80
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
134
81
  if (menuContext.adaptableColumn && menuContext.rowNode) {
@@ -140,7 +87,7 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
140
87
  relevantAlert = this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(menuContext.rowNode);
141
88
  }
142
89
  if (relevantAlert) {
143
- items.push(this.createColumnMenuItemReduxAction('Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
90
+ items.push(this.createMenuItemReduxAction('alert-clear', 'Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
144
91
  }
145
92
  }
146
93
  }
@@ -6,7 +6,7 @@ import { AccessLevel, AdaptableApi } from '../types';
6
6
  export declare class BulkUpdateModule extends AdaptableModuleBase implements IBulkUpdateModule {
7
7
  constructor(api: AdaptableApi);
8
8
  getViewAccessLevel(): AccessLevel;
9
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
9
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
10
10
  checkCorrectCellSelection(): BulkUpdateValidationResult;
11
11
  buildPreviewValues(bulkUpdateValue: any): PreviewInfo;
12
12
  }
@@ -15,7 +15,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
15
  getViewAccessLevel() {
16
16
  return 'Full';
17
17
  }
18
- addContextMenuItems(menuContext) {
18
+ createContextMenuItems(menuContext) {
19
19
  let menuItemShowPopup = undefined;
20
20
  if (!menuContext.isRowGroupColumn && this.isModuleEditable()) {
21
21
  if (menuContext.adaptableColumn &&
@@ -27,6 +27,7 @@ class BulkUpdateModule extends AdaptableModuleBase_1.AdaptableModuleBase {
27
27
  source: 'ContextMenu',
28
28
  };
29
29
  menuItemShowPopup = this.createMainMenuItemShowPopup({
30
+ Name: 'bulk-update-apply',
30
31
  Label: 'Apply Bulk Update',
31
32
  ComponentName: this.moduleInfo.Popup,
32
33
  Icon: this.moduleInfo.Glyph,
@@ -8,17 +8,16 @@ import { CalculatedColumn } from '../PredefinedConfig/CalculatedColumnState';
8
8
  import { AdaptableObjectItemView, IModule } from './Interface/IModule';
9
9
  import { AdaptableApi } from '../Api/AdaptableApi';
10
10
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
11
- import { AdaptableStateReloadedInfo } from '../Api/Events/AdaptableStateReloaded';
12
11
  export declare class CalculatedColumnModule extends AdaptableModuleBase implements IModule {
13
12
  constructor(api: AdaptableApi);
14
- handleConfigReloaded(adaptableStateReloadedInfo: AdaptableStateReloadedInfo): void;
13
+ onAdaptableReady(): void;
14
+ onAdaptableStateReloaded(): void;
15
15
  getModuleAdaptableObjects(): AdaptableObject[];
16
- updateOldConfig(): void;
17
16
  getExplicitlyReferencedColumnIds(calculatedColumn: CalculatedColumn): string[];
18
17
  getReferencedNamedQueryNames(calculatedColumn: CalculatedColumn): string[];
19
18
  private isCalculatedColumn;
20
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
21
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
20
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
22
21
  createEditCalculatedColumnMenuItem(column: AdaptableColumn): AdaptableMenuItem[];
23
22
  getTeamSharingAction(): TeamSharingImportInfo<CalculatedColumn>;
24
23
  toView(calculateColumn: CalculatedColumn): {
@@ -15,35 +15,15 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
15
  constructor(api) {
16
16
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'chart-and-grid', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
17
17
  }
18
- handleConfigReloaded(adaptableStateReloadedInfo) {
19
- // re-dispatch the CalculatedColumnReady action to recreate all the aggregated scalar columns
20
- this.api.internalApi.dispatchReduxAction(CalculatedColumnRedux.CalculatedColumnReady(this.api.calculatedColumnApi.getCalculatedColumnState()));
18
+ onAdaptableReady() {
19
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
20
+ }
21
+ onAdaptableStateReloaded() {
22
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
21
23
  }
22
24
  getModuleAdaptableObjects() {
23
25
  return this.api.calculatedColumnApi.getCalculatedColumns();
24
26
  }
25
- updateOldConfig() {
26
- const calcColumns = this.api.calculatedColumnApi.getCalculatedColumns();
27
- let oldCalculatedColumns = [];
28
- calcColumns.forEach((cc) => {
29
- if (cc.ColumnExpression && !cc.Query) {
30
- cc.Query = {
31
- ScalarExpression: cc.ColumnExpression,
32
- };
33
- cc.ColumnExpression = undefined;
34
- oldCalculatedColumns.push(cc);
35
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
36
- }
37
- if (!cc.CalculatedColumnSettings) {
38
- cc.CalculatedColumnSettings = {
39
- DataType: 'Number',
40
- };
41
- oldCalculatedColumns.push(cc);
42
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
43
- }
44
- });
45
- oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
46
- }
47
27
  getExplicitlyReferencedColumnIds(calculatedColumn) {
48
28
  var _a;
49
29
  return ((_a = this.api.expressionApi.getColumnsFromExpression(this.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) !== null && _a !== void 0 ? _a : []);
@@ -58,12 +38,12 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
58
38
  .getCalculatedColumns()
59
39
  .find((cc) => cc.ColumnId == column.columnId)));
60
40
  }
61
- addColumnMenuItems(column) {
41
+ createColumnMenuItems(column) {
62
42
  if (this.isModuleEditable() && this.isCalculatedColumn(column)) {
63
43
  return this.createEditCalculatedColumnMenuItem(column);
64
44
  }
65
45
  }
66
- addContextMenuItems(menuContext) {
46
+ createContextMenuItems(menuContext) {
67
47
  if (!this.isModuleAvailable()) {
68
48
  return;
69
49
  }
@@ -81,7 +61,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
81
61
  source: 'ColumnMenu',
82
62
  };
83
63
  return [
84
- this.createColumnMenuItemShowPopup('Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
64
+ this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
85
65
  ];
86
66
  }
87
67
  getTeamSharingAction() {
@@ -1,19 +1,21 @@
1
1
  /// <reference types="react" />
2
- import { AdaptableModuleBase } from './AdaptableModuleBase';
3
- import { ICellSummaryModule } from './Interface/ICellSummaryModule';
4
- import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
5
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
6
2
  import { AdaptableApi } from '../Api/AdaptableApi';
7
- import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
8
- import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
9
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
+ import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
5
+ import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
6
+ import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
7
+ import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
8
+ import { AdaptableModuleBase } from './AdaptableModuleBase';
9
+ import { ICellSummaryModule } from './Interface/ICellSummaryModule';
10
10
  export declare class CellSummaryModule extends AdaptableModuleBase implements ICellSummaryModule {
11
+ cachedCellSummary: WeakMap<SelectedCellInfo<any>, CellSummmary>;
11
12
  constructor(api: AdaptableApi);
12
13
  getViewAccessLevel(): AccessLevel;
13
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
14
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
14
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
15
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
15
16
  private createCellSummaryMenuItem;
16
17
  createCellSummary(selectedCellInfo: SelectedCellInfo): CellSummmary;
18
+ private getWeightedAverageCellSummary;
17
19
  getViewProperties(): {
18
20
  getStatusBarPanelProps(): {
19
21
  view: () => JSX.Element;
@@ -2,19 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CellSummaryModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
5
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
6
  const ArrayExtensions_1 = require("../Utilities/Extensions/ArrayExtensions");
8
7
  const Helper_1 = require("../Utilities/Helpers/Helper");
8
+ const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
9
+ const AggregatedScalarLiveValue_1 = require("../Utilities/Services/AggregatedScalarLiveValue");
9
10
  const CellSummaryStatusPanel_1 = require("../View/CellSummary/CellSummaryStatusPanel");
11
+ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
10
12
  class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
13
  constructor(api) {
12
14
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of cells using multiple summary operations', api);
15
+ this.cachedCellSummary = new WeakMap();
13
16
  }
14
17
  getViewAccessLevel() {
15
18
  return 'Full';
16
19
  }
17
- addColumnMenuItems(column) {
20
+ createColumnMenuItems(column) {
18
21
  if (!this.isModuleAvailable()) {
19
22
  return;
20
23
  }
@@ -25,7 +28,7 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
25
28
  }),
26
29
  ];
27
30
  }
28
- addContextMenuItems(menuContext) {
31
+ createContextMenuItems(menuContext) {
29
32
  if (!this.isModuleAvailable()) {
30
33
  return;
31
34
  }
@@ -39,6 +42,7 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
39
42
  }
40
43
  createCellSummaryMenuItem(popUpParams) {
41
44
  return this.createMainMenuItemShowPopup({
45
+ Name: 'cell-summary-show',
42
46
  Label: 'See Cell Summary',
43
47
  ComponentName: this.moduleInfo.Popup,
44
48
  Icon: this.moduleInfo.Glyph,
@@ -46,78 +50,89 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
46
50
  });
47
51
  }
48
52
  createCellSummary(selectedCellInfo) {
49
- let selectedCellSummary;
50
- if (selectedCellInfo && ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.columns)) {
51
- let numericValues = [];
52
- let allValues = [];
53
- let numericColumns = [];
54
- selectedCellInfo.columns.map((c) => {
55
- if (c && c.dataType == 'Number') {
56
- numericColumns.push(c.columnId);
57
- }
58
- });
59
- selectedCellInfo.gridCells.forEach((selectedCell) => {
60
- let value = selectedCell.rawValue;
61
- allValues.push(value);
62
- if (!selectedCell.column) {
63
- // GridCell.column may be undefined for cells from synthetic columns created by AG Grid (ex. autoGroup columns)
64
- return;
65
- }
66
- if (ArrayExtensions_1.ArrayExtensions.ContainsItem(numericColumns, selectedCell.column.columnId)) {
67
- let valueAsNumber = Number(value);
68
- // possible that its not a number despite it being a numeric column
69
- if (!isNaN(Number(valueAsNumber))) {
70
- numericValues.push(valueAsNumber);
53
+ if (this.cachedCellSummary.has(selectedCellInfo)) {
54
+ return this.cachedCellSummary.get(selectedCellInfo);
55
+ }
56
+ let selectedCellSummary = ObjectFactory_1.default.CreateEmptyCellSummmary();
57
+ if (selectedCellInfo && ArrayExtensions_1.ArrayExtensions.GetLength(selectedCellInfo.columns) === 1) {
58
+ const selectedColumn = selectedCellInfo.columns[0];
59
+ if (selectedColumn) {
60
+ const isNumericColumn = selectedColumn.dataType === 'Number';
61
+ const isDateColumn = selectedColumn.dataType === 'Date';
62
+ const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
63
+ const handleExpression = (functionName) => {
64
+ const aggScalarValue = new AggregatedScalarLiveValue_1.AggregatedScalarLiveValue({
65
+ aggregatedScalarExpression: `${functionName}([${selectedColumn.columnId}])`,
66
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
67
+ let value = aggScalarValue.getGlobalAggregatedValue();
68
+ if (typeof value === 'number' && !isNaN(value)) {
69
+ value = Helper_1.Helper.roundNumber(value, 2);
71
70
  }
71
+ return value;
72
+ };
73
+ const sumValue = isNumericColumn ? handleExpression('SUM') : null;
74
+ const avgValue = isNumericColumn ? Helper_1.Helper.roundNumber(handleExpression('AVG'), 2) : null;
75
+ const modeValue = isNumericColumn ? handleExpression('MODE') : null;
76
+ const medianValue = isNumericColumn ? handleExpression('MEDIAN') : null;
77
+ const distinctValue = handleExpression('DISTINCT');
78
+ const maxValue = isNumericColumn ? handleExpression('MAX') : null;
79
+ const minValue = isNumericColumn ? handleExpression('MIN') : null;
80
+ const oldestValue = isDateColumn ? handleExpression('OLDEST') : null;
81
+ const newestValue = isDateColumn ? handleExpression('NEWEST') : null;
82
+ const stdDeviation = isNumericColumn
83
+ ? Helper_1.Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
84
+ : null;
85
+ selectedCellSummary = {
86
+ Sum: sumValue,
87
+ Average: avgValue,
88
+ Median: medianValue,
89
+ Mode: modeValue,
90
+ Distinct: distinctValue,
91
+ Max: maxValue,
92
+ Min: minValue,
93
+ Count: selectedCellInfo.gridCells.length,
94
+ Oldest: oldestValue,
95
+ Newest: newestValue,
96
+ Std_Deviation: stdDeviation,
97
+ Only: distinctValue == 1 ? JSON.stringify(selectedCellInfo.gridCells[0].rawValue) : '',
98
+ };
99
+ const weightedAverage = this.getWeightedAverageCellSummary(selectedColumn.columnId, rowNodes);
100
+ if (weightedAverage !== null) {
101
+ selectedCellSummary.Weighted_Average = weightedAverage;
72
102
  }
73
- });
74
- // copying so that we keep the order - needed for others
75
- const newNumericValues = [...numericValues];
76
- let hasNumericColumns = numericValues.length > 0;
77
- let distinctCount = ArrayExtensions_1.ArrayExtensions.RetrieveDistinct(allValues).length;
78
- selectedCellSummary = {
79
- Sum: hasNumericColumns
80
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.sumNumberArray(numericValues))
81
- : undefined,
82
- Average: hasNumericColumns
83
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.meanNumberArray(numericValues))
84
- : undefined,
85
- Median: hasNumericColumns
86
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.medianNumberArray(numericValues))
87
- : undefined,
88
- Mode: hasNumericColumns
89
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.modeNumberArray(numericValues))
90
- : undefined,
91
- Distinct: distinctCount,
92
- Max: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.max(...numericValues)) : undefined,
93
- Min: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.min(...numericValues)) : undefined,
94
- Count: allValues.length,
95
- Std_Deviation: hasNumericColumns
96
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.standardDeviationNumberArray(numericValues))
97
- : undefined,
98
- Only: distinctCount == 1 ? JSON.stringify(allValues[0]) : '',
99
- };
100
- numericValues = [...newNumericValues];
101
- const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
102
- const api = this.api;
103
- operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
104
- if (operation.operationFunction) {
105
- const cellSummaryOperationContext = {
106
- selectedCellInfo,
107
- distinctCount,
108
- allValues,
109
- numericValues,
110
- numericColumns,
111
- adaptableApi: this.api,
112
- userName: this.api.optionsApi.getUserName(),
113
- adaptableId: this.api.optionsApi.getAdaptableId(),
114
- };
115
- selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
116
- }
117
- });
103
+ const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
104
+ operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
105
+ if (operation.operationFunction) {
106
+ const cellSummaryOperationContext = Object.assign({ selectedCellInfo,
107
+ selectedColumn }, this.api.internalApi.buildBaseContext());
108
+ selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
109
+ }
110
+ });
111
+ this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
112
+ }
118
113
  }
119
114
  return selectedCellSummary;
120
115
  }
116
+ getWeightedAverageCellSummary(columnId, rowNodes) {
117
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
118
+ if (currentLayout.AggregationColumns == undefined) {
119
+ return false;
120
+ }
121
+ const weightedAverageConfig = Object.entries(currentLayout.AggregationColumns).find(([colId, aggCol]) => typeof aggCol === 'object' && aggCol.type === 'weightedAverage' && colId === columnId);
122
+ if (!weightedAverageConfig) {
123
+ return null;
124
+ }
125
+ const { weightedColumnId } = weightedAverageConfig[1];
126
+ const expression = `AVG([${columnId}], WEIGHT([${weightedColumnId}]))`;
127
+ const aggScalarValue = new AggregatedScalarLiveValue_1.AggregatedScalarLiveValue({
128
+ aggregatedScalarExpression: expression,
129
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
130
+ let value = aggScalarValue.getGlobalAggregatedValue();
131
+ if (typeof value === 'number' && !isNaN(value)) {
132
+ value = Helper_1.Helper.roundNumber(value, 2);
133
+ }
134
+ return value;
135
+ }
121
136
  getViewProperties() {
122
137
  return {
123
138
  getStatusBarPanelProps() {
@@ -5,7 +5,6 @@ import { ChartDefinition } from '../types';
5
5
  import { ExternalChartDefinition } from '../PredefinedConfig/ChartingState';
6
6
  export declare class ChartingModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- updateOldConfig(): void;
9
8
  isModuleAvailable(): boolean;
10
9
  getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
11
10
  toViewAll(): AdaptableObjectView[];
@@ -10,34 +10,14 @@ const ChartingRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/Cha
10
10
  const ChartingStatusBarPopover_1 = require("../View/Charting/ChartingStatusBarPopover");
11
11
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
12
12
  const ChartingState_1 = require("../PredefinedConfig/ChartingState");
13
+ const Helper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/Helper"));
13
14
  class ChartingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
15
  constructor(api) {
15
16
  super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
16
17
  }
17
- updateOldConfig() {
18
- const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
19
- const chartDefinitionsToUpdate = allChartDefinitions
20
- .filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
21
- .map((charDefinition) => {
22
- const newChartDefinition = Object.assign({}, charDefinition);
23
- if ('model' in newChartDefinition) {
24
- newChartDefinition.Model = charDefinition.model;
25
- delete newChartDefinition.model;
26
- }
27
- if (!('Name' in newChartDefinition)) {
28
- // default to chartId
29
- // @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
30
- newChartDefinition.Name = newChartDefinition.Model.chartId;
31
- }
32
- return newChartDefinition;
33
- });
34
- if (chartDefinitionsToUpdate.length > 0) {
35
- chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
36
- }
37
- }
38
18
  isModuleAvailable() {
39
19
  const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
40
- const externalChartsAvailable = this.api.optionsApi.getChartingOptions().externalChartingOptions;
20
+ const externalChartsAvailable = Helper_1.default.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
41
21
  return Boolean(agChartsAvailable || externalChartsAvailable);
42
22
  }
43
23
  getModuleAdaptableObjects() {
@@ -12,10 +12,9 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
12
12
  getModuleAdaptableObjects(): AdaptableObject[];
13
13
  getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
14
14
  hasNamedQueryReferences(): boolean;
15
- updateOldConfig(): void;
16
- handleAdaptableReady(): void;
17
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
18
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
15
+ onAdaptableReady(): void;
16
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
17
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
18
  private getExistingColumnFilter;
20
19
  getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
21
20
  toViewCompact(filter: ColumnFilter): AdaptableObjectCompactView;