@adaptabletools/adaptable 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 +9 -26
  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 +1 -99
  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 +45 -15
  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 +40 -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 +117 -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 +78 -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 +19 -1
  92. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  93. package/src/Api/Internal/CommentsInternalApi.js +14 -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 +61 -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 +14 -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 +4 -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 +3 -0
  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 +116 -1
  144. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  145. package/src/PredefinedConfig/Common/RowSummary.js +17 -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 +0 -34
  159. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  160. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  161. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  162. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  163. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  164. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  165. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  166. package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
  167. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  168. package/src/Redux/Store/AdaptableStore.js +70 -80
  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 +70 -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 +39 -42
  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 +55 -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 +2 -0
  242. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  243. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  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 +433 -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 +4 -0
  253. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  254. package/src/Utilities/Helpers/AdaptableHelper.js +19 -58
  255. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  256. package/src/Utilities/Helpers/Helper.js +4 -0
  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 -181
  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 +141 -0
  280. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  281. package/src/Utilities/adaptableQlUtils.js +14 -0
  282. package/src/Utilities/license/decode.js +1 -65
  283. package/src/Utilities/license/hashing.js +1 -43
  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 +42 -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 +3 -0
  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 +195 -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 +174 -0
  334. package/src/View/License/LicenseWatermark.js +1 -61
  335. package/src/View/Note/NotePopup.d.ts +2 -0
  336. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +20 -17
  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 +3 -3
  341. package/src/agGrid/ActionColumnRenderer.js +7 -6
  342. package/src/agGrid/Adaptable.d.ts +3 -455
  343. package/src/agGrid/Adaptable.js +8 -5292
  344. package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
  345. package/src/agGrid/AdaptableAgGrid.js +3910 -0
  346. package/src/agGrid/AdaptableLogger.js +77 -11
  347. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  348. package/src/agGrid/AgGridAdapter.js +589 -0
  349. package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
  350. package/src/agGrid/AgGridColumnAdapter.js +794 -0
  351. package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
  352. package/src/agGrid/AgGridMenuAdapter.js +600 -0
  353. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  354. package/src/agGrid/AgGridOptionsService.js +76 -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 +120 -0
  363. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  364. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -18
  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 +46 -0
  371. package/src/agGrid/weightedAverage.d.ts +0 -2
  372. package/src/agGrid/weightedAverage.js +0 -54
  373. package/src/components/CheckBox/index.js +1 -1
  374. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  375. package/src/components/Datepicker/index.d.ts +1 -1
  376. package/src/components/Datepicker/index.js +10 -2
  377. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  378. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  379. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  380. package/src/components/InfiniteTable/index.js +2 -2
  381. package/src/components/Input/index.d.ts +1 -2
  382. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  383. package/src/components/Modal/index.d.ts +1 -0
  384. package/src/components/Modal/index.js +4 -3
  385. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  386. package/src/components/Select/Select.d.ts +3 -1
  387. package/src/components/Select/Select.js +4 -2
  388. package/src/components/Textarea/index.d.ts +2 -2
  389. package/src/components/icons/copy.d.ts +3 -0
  390. package/src/components/icons/copy.js +4 -0
  391. package/src/components/icons/filter-off.d.ts +3 -0
  392. package/src/components/icons/filter-off.js +4 -0
  393. package/src/components/icons/grid-info.d.ts +3 -0
  394. package/src/components/icons/grid-info.js +4 -0
  395. package/src/components/icons/index.js +14 -0
  396. package/src/components/icons/note.js +2 -2
  397. package/src/components/icons/rows.d.ts +3 -0
  398. package/src/components/icons/rows.js +4 -0
  399. package/src/components/icons/select-all.d.ts +3 -0
  400. package/src/components/icons/select-all.js +4 -0
  401. package/src/components/icons/select-fwd.d.ts +3 -0
  402. package/src/components/icons/select-fwd.js +4 -0
  403. package/src/components/icons/select-off.d.ts +3 -0
  404. package/src/components/icons/select-off.js +4 -0
  405. package/src/env.js +2 -2
  406. package/src/metamodel/adaptable.metamodel.d.ts +203 -47
  407. package/src/metamodel/adaptable.metamodel.js +1 -9313
  408. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  409. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  410. package/src/migration/VersionUpgrade.d.ts +8 -0
  411. package/src/migration/VersionUpgrade.js +11 -0
  412. package/src/migration/VersionUpgrade17.d.ts +18 -0
  413. package/src/migration/VersionUpgrade17.js +342 -0
  414. package/src/migration/VersionUpgrade18.d.ts +5 -0
  415. package/src/migration/VersionUpgrade18.js +6 -0
  416. package/src/parser/src/parser.js +576 -553
  417. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  418. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  419. package/src/parser/src/types.d.ts +7 -2
  420. package/src/parser/src/types.js +1 -2
  421. package/src/types.d.ts +27 -20
  422. package/tsconfig.esm.tsbuildinfo +1 -1
  423. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  424. package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
  425. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  426. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  427. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  428. package/src/Api/NotesApi.d.ts +0 -48
  429. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  430. package/src/PredefinedConfig/CellAddress.js +0 -4
  431. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  432. package/src/Strategy/CommentsModule.d.ts +0 -16
  433. package/src/Strategy/CommentsModule.js +0 -77
  434. package/src/Strategy/NotesModule.js +0 -57
  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 -133
  439. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  440. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  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 -686
  444. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  445. package/src/agGrid/agGridMenuHelper.js +0 -668
  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
@@ -13,12 +13,12 @@ import { AlertEmptyView } from '../View/Alert/AlertEmptyView';
13
13
  import { AlertStatusPanel } from '../View/Alert/AlertStatusSubPanel';
14
14
  import { ActiveAlertsPanelItemLabel } from '../View/Alert/ActiveAlertsPanelItemLabel';
15
15
  import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
16
- import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
17
- import { cloneObject } from '../Utilities/Helpers/Helper';
18
16
  import { getAlertType } from '../View/Alert/Utilities/getAlertType';
19
17
  export class AlertModule extends AdaptableModuleBase {
20
18
  constructor(api) {
21
19
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
20
+ }
21
+ onAdaptableReady() {
22
22
  this.api.internalApi
23
23
  .getDataService()
24
24
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -71,60 +71,7 @@ export class AlertModule extends AdaptableModuleBase {
71
71
  }
72
72
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
73
73
  }
74
- updateOldConfig() {
75
- var _a;
76
- this.updateAlertSingleToMultiplePredicates();
77
- // 1. Make all (new) Flashing Cells have a Predicate if none exists
78
- const alertState = this.api.alertApi.getAlertState();
79
- const flashingAlertDefinitions = alertState.FlashingAlertDefinitions;
80
- const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
81
- if (ArrayExtensions.IsEmpty(flashingCellDefinitions) &&
82
- ArrayExtensions.IsNotNullOrEmpty(flashingAlertDefinitions)) {
83
- this.api.flashingCellApi.setFlashingCellDefinitions(flashingAlertDefinitions);
84
- // TODO: state does not clear
85
- this.api.flashingCellApi.internalApi.clearFlashingCellState();
86
- }
87
- (_a = alertState.AlertDefinitions) === null || _a === void 0 ? void 0 : _a.forEach((alertDefinition) => {
88
- // if ShowPopup then change to DisplayNotificate
89
- if (alertDefinition.AlertProperties &&
90
- alertDefinition.AlertProperties.ShowPopup &&
91
- alertDefinition.AlertProperties.ShowPopup == true &&
92
- !alertDefinition.AlertProperties.DisplayNotification) {
93
- alertDefinition.AlertProperties.DisplayNotification = true;
94
- alertDefinition.AlertProperties.ShowPopup = undefined;
95
- }
96
- // if no rule but a predicate then use that
97
- if (!alertDefinition.Rule) {
98
- if (alertDefinition.Predicate && alertDefinition.Predicate != undefined) {
99
- const predicate = alertDefinition.Predicate;
100
- alertDefinition.Rule = {
101
- Predicate: predicate,
102
- };
103
- alertDefinition.Predicate = undefined;
104
- }
105
- }
106
- else {
107
- //migrate alert definitions with `AggregationExpression` (now `AggregatedBooleanExpression`)
108
- const obsoleteAggregationExpression = alertDefinition.Rule['AggregationExpression'];
109
- if (obsoleteAggregationExpression) {
110
- alertDefinition.Rule.AggregatedBooleanExpression = obsoleteAggregationExpression;
111
- }
112
- }
113
- });
114
- }
115
- updateAlertSingleToMultiplePredicates() {
116
- const alertDefinitions = this.api.alertApi.getAlertDefinitions({
117
- includeLayoutNotAssociatedObjects: true,
118
- });
119
- alertDefinitions.forEach((alertDefinition) => {
120
- if (alertDefinition.Rule && 'Predicate' in alertDefinition.Rule) {
121
- const preparedAlertDefinition = cloneObject(alertDefinition);
122
- updateSingleToMultiplePredicates(preparedAlertDefinition.Rule);
123
- this.api.alertApi.editAlertDefinition(preparedAlertDefinition);
124
- }
125
- });
126
- }
127
- addContextMenuItems(menuContext) {
74
+ createContextMenuItems(menuContext) {
128
75
  const items = [];
129
76
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
130
77
  if (menuContext.adaptableColumn && menuContext.rowNode) {
@@ -136,7 +83,7 @@ export class AlertModule extends AdaptableModuleBase {
136
83
  relevantAlert = this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(menuContext.rowNode);
137
84
  }
138
85
  if (relevantAlert) {
139
- items.push(this.createColumnMenuItemReduxAction('Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
86
+ items.push(this.createMenuItemReduxAction('alert-clear', 'Clear Alert', this.moduleInfo.Glyph, SystemRedux.SystemAlertDelete(relevantAlert)));
140
87
  }
141
88
  }
142
89
  }
@@ -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
  }
@@ -11,7 +11,7 @@ export class BulkUpdateModule extends AdaptableModuleBase {
11
11
  getViewAccessLevel() {
12
12
  return 'Full';
13
13
  }
14
- addContextMenuItems(menuContext) {
14
+ createContextMenuItems(menuContext) {
15
15
  let menuItemShowPopup = undefined;
16
16
  if (!menuContext.isRowGroupColumn && this.isModuleEditable()) {
17
17
  if (menuContext.adaptableColumn &&
@@ -23,6 +23,7 @@ export class BulkUpdateModule extends AdaptableModuleBase {
23
23
  source: 'ContextMenu',
24
24
  };
25
25
  menuItemShowPopup = this.createMainMenuItemShowPopup({
26
+ Name: 'bulk-update-apply',
26
27
  Label: 'Apply Bulk Update',
27
28
  ComponentName: this.moduleInfo.Popup,
28
29
  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): {
@@ -11,35 +11,15 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
11
11
  constructor(api) {
12
12
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'chart-and-grid', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
13
13
  }
14
- handleConfigReloaded(adaptableStateReloadedInfo) {
15
- // re-dispatch the CalculatedColumnReady action to recreate all the aggregated scalar columns
16
- this.api.internalApi.dispatchReduxAction(CalculatedColumnRedux.CalculatedColumnReady(this.api.calculatedColumnApi.getCalculatedColumnState()));
14
+ onAdaptableReady() {
15
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
16
+ }
17
+ onAdaptableStateReloaded() {
18
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
17
19
  }
18
20
  getModuleAdaptableObjects() {
19
21
  return this.api.calculatedColumnApi.getCalculatedColumns();
20
22
  }
21
- updateOldConfig() {
22
- const calcColumns = this.api.calculatedColumnApi.getCalculatedColumns();
23
- let oldCalculatedColumns = [];
24
- calcColumns.forEach((cc) => {
25
- if (cc.ColumnExpression && !cc.Query) {
26
- cc.Query = {
27
- ScalarExpression: cc.ColumnExpression,
28
- };
29
- cc.ColumnExpression = undefined;
30
- oldCalculatedColumns.push(cc);
31
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
32
- }
33
- if (!cc.CalculatedColumnSettings) {
34
- cc.CalculatedColumnSettings = {
35
- DataType: 'Number',
36
- };
37
- oldCalculatedColumns.push(cc);
38
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
39
- }
40
- });
41
- oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
42
- }
43
23
  getExplicitlyReferencedColumnIds(calculatedColumn) {
44
24
  var _a;
45
25
  return ((_a = this.api.expressionApi.getColumnsFromExpression(this.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) !== null && _a !== void 0 ? _a : []);
@@ -54,12 +34,12 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
54
34
  .getCalculatedColumns()
55
35
  .find((cc) => cc.ColumnId == column.columnId)));
56
36
  }
57
- addColumnMenuItems(column) {
37
+ createColumnMenuItems(column) {
58
38
  if (this.isModuleEditable() && this.isCalculatedColumn(column)) {
59
39
  return this.createEditCalculatedColumnMenuItem(column);
60
40
  }
61
41
  }
62
- addContextMenuItems(menuContext) {
42
+ createContextMenuItems(menuContext) {
63
43
  if (!this.isModuleAvailable()) {
64
44
  return;
65
45
  }
@@ -77,7 +57,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
77
57
  source: 'ColumnMenu',
78
58
  };
79
59
  return [
80
- this.createColumnMenuItemShowPopup('Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
60
+ this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
81
61
  ];
82
62
  }
83
63
  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;
@@ -1,16 +1,19 @@
1
- import { AdaptableModuleBase } from './AdaptableModuleBase';
2
1
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
3
2
  import { ArrayExtensions } from '../Utilities/Extensions/ArrayExtensions';
4
3
  import { Helper } from '../Utilities/Helpers/Helper';
4
+ import ObjectFactory from '../Utilities/ObjectFactory';
5
+ import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
5
6
  import { CellSummaryStatusPanel } from '../View/CellSummary/CellSummaryStatusPanel';
7
+ import { AdaptableModuleBase } from './AdaptableModuleBase';
6
8
  export class CellSummaryModule extends AdaptableModuleBase {
7
9
  constructor(api) {
8
10
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of cells using multiple summary operations', api);
11
+ this.cachedCellSummary = new WeakMap();
9
12
  }
10
13
  getViewAccessLevel() {
11
14
  return 'Full';
12
15
  }
13
- addColumnMenuItems(column) {
16
+ createColumnMenuItems(column) {
14
17
  if (!this.isModuleAvailable()) {
15
18
  return;
16
19
  }
@@ -21,7 +24,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
21
24
  }),
22
25
  ];
23
26
  }
24
- addContextMenuItems(menuContext) {
27
+ createContextMenuItems(menuContext) {
25
28
  if (!this.isModuleAvailable()) {
26
29
  return;
27
30
  }
@@ -35,6 +38,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
35
38
  }
36
39
  createCellSummaryMenuItem(popUpParams) {
37
40
  return this.createMainMenuItemShowPopup({
41
+ Name: 'cell-summary-show',
38
42
  Label: 'See Cell Summary',
39
43
  ComponentName: this.moduleInfo.Popup,
40
44
  Icon: this.moduleInfo.Glyph,
@@ -42,78 +46,89 @@ export class CellSummaryModule extends AdaptableModuleBase {
42
46
  });
43
47
  }
44
48
  createCellSummary(selectedCellInfo) {
45
- let selectedCellSummary;
46
- if (selectedCellInfo && ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.columns)) {
47
- let numericValues = [];
48
- let allValues = [];
49
- let numericColumns = [];
50
- selectedCellInfo.columns.map((c) => {
51
- if (c && c.dataType == 'Number') {
52
- numericColumns.push(c.columnId);
53
- }
54
- });
55
- selectedCellInfo.gridCells.forEach((selectedCell) => {
56
- let value = selectedCell.rawValue;
57
- allValues.push(value);
58
- if (!selectedCell.column) {
59
- // GridCell.column may be undefined for cells from synthetic columns created by AG Grid (ex. autoGroup columns)
60
- return;
61
- }
62
- if (ArrayExtensions.ContainsItem(numericColumns, selectedCell.column.columnId)) {
63
- let valueAsNumber = Number(value);
64
- // possible that its not a number despite it being a numeric column
65
- if (!isNaN(Number(valueAsNumber))) {
66
- numericValues.push(valueAsNumber);
49
+ if (this.cachedCellSummary.has(selectedCellInfo)) {
50
+ return this.cachedCellSummary.get(selectedCellInfo);
51
+ }
52
+ let selectedCellSummary = ObjectFactory.CreateEmptyCellSummmary();
53
+ if (selectedCellInfo && ArrayExtensions.GetLength(selectedCellInfo.columns) === 1) {
54
+ const selectedColumn = selectedCellInfo.columns[0];
55
+ if (selectedColumn) {
56
+ const isNumericColumn = selectedColumn.dataType === 'Number';
57
+ const isDateColumn = selectedColumn.dataType === 'Date';
58
+ const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
59
+ const handleExpression = (functionName) => {
60
+ const aggScalarValue = new AggregatedScalarLiveValue({
61
+ aggregatedScalarExpression: `${functionName}([${selectedColumn.columnId}])`,
62
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
63
+ let value = aggScalarValue.getGlobalAggregatedValue();
64
+ if (typeof value === 'number' && !isNaN(value)) {
65
+ value = Helper.roundNumber(value, 2);
67
66
  }
67
+ return value;
68
+ };
69
+ const sumValue = isNumericColumn ? handleExpression('SUM') : null;
70
+ const avgValue = isNumericColumn ? Helper.roundNumber(handleExpression('AVG'), 2) : null;
71
+ const modeValue = isNumericColumn ? handleExpression('MODE') : null;
72
+ const medianValue = isNumericColumn ? handleExpression('MEDIAN') : null;
73
+ const distinctValue = handleExpression('DISTINCT');
74
+ const maxValue = isNumericColumn ? handleExpression('MAX') : null;
75
+ const minValue = isNumericColumn ? handleExpression('MIN') : null;
76
+ const oldestValue = isDateColumn ? handleExpression('OLDEST') : null;
77
+ const newestValue = isDateColumn ? handleExpression('NEWEST') : null;
78
+ const stdDeviation = isNumericColumn
79
+ ? Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
80
+ : null;
81
+ selectedCellSummary = {
82
+ Sum: sumValue,
83
+ Average: avgValue,
84
+ Median: medianValue,
85
+ Mode: modeValue,
86
+ Distinct: distinctValue,
87
+ Max: maxValue,
88
+ Min: minValue,
89
+ Count: selectedCellInfo.gridCells.length,
90
+ Oldest: oldestValue,
91
+ Newest: newestValue,
92
+ Std_Deviation: stdDeviation,
93
+ Only: distinctValue == 1 ? JSON.stringify(selectedCellInfo.gridCells[0].rawValue) : '',
94
+ };
95
+ const weightedAverage = this.getWeightedAverageCellSummary(selectedColumn.columnId, rowNodes);
96
+ if (weightedAverage !== null) {
97
+ selectedCellSummary.Weighted_Average = weightedAverage;
68
98
  }
69
- });
70
- // copying so that we keep the order - needed for others
71
- const newNumericValues = [...numericValues];
72
- let hasNumericColumns = numericValues.length > 0;
73
- let distinctCount = ArrayExtensions.RetrieveDistinct(allValues).length;
74
- selectedCellSummary = {
75
- Sum: hasNumericColumns
76
- ? Helper.roundNumberTo4dp(Helper.sumNumberArray(numericValues))
77
- : undefined,
78
- Average: hasNumericColumns
79
- ? Helper.roundNumberTo4dp(Helper.meanNumberArray(numericValues))
80
- : undefined,
81
- Median: hasNumericColumns
82
- ? Helper.roundNumberTo4dp(Helper.medianNumberArray(numericValues))
83
- : undefined,
84
- Mode: hasNumericColumns
85
- ? Helper.roundNumberTo4dp(Helper.modeNumberArray(numericValues))
86
- : undefined,
87
- Distinct: distinctCount,
88
- Max: hasNumericColumns ? Helper.roundNumberTo4dp(Math.max(...numericValues)) : undefined,
89
- Min: hasNumericColumns ? Helper.roundNumberTo4dp(Math.min(...numericValues)) : undefined,
90
- Count: allValues.length,
91
- Std_Deviation: hasNumericColumns
92
- ? Helper.roundNumberTo4dp(Helper.standardDeviationNumberArray(numericValues))
93
- : undefined,
94
- Only: distinctCount == 1 ? JSON.stringify(allValues[0]) : '',
95
- };
96
- numericValues = [...newNumericValues];
97
- const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
98
- const api = this.api;
99
- operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
100
- if (operation.operationFunction) {
101
- const cellSummaryOperationContext = {
102
- selectedCellInfo,
103
- distinctCount,
104
- allValues,
105
- numericValues,
106
- numericColumns,
107
- adaptableApi: this.api,
108
- userName: this.api.optionsApi.getUserName(),
109
- adaptableId: this.api.optionsApi.getAdaptableId(),
110
- };
111
- selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
112
- }
113
- });
99
+ const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
100
+ operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
101
+ if (operation.operationFunction) {
102
+ const cellSummaryOperationContext = Object.assign({ selectedCellInfo,
103
+ selectedColumn }, this.api.internalApi.buildBaseContext());
104
+ selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
105
+ }
106
+ });
107
+ this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
108
+ }
114
109
  }
115
110
  return selectedCellSummary;
116
111
  }
112
+ getWeightedAverageCellSummary(columnId, rowNodes) {
113
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
114
+ if (currentLayout.AggregationColumns == undefined) {
115
+ return false;
116
+ }
117
+ const weightedAverageConfig = Object.entries(currentLayout.AggregationColumns).find(([colId, aggCol]) => typeof aggCol === 'object' && aggCol.type === 'weightedAverage' && colId === columnId);
118
+ if (!weightedAverageConfig) {
119
+ return null;
120
+ }
121
+ const { weightedColumnId } = weightedAverageConfig[1];
122
+ const expression = `AVG([${columnId}], WEIGHT([${weightedColumnId}]))`;
123
+ const aggScalarValue = new AggregatedScalarLiveValue({
124
+ aggregatedScalarExpression: expression,
125
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
126
+ let value = aggScalarValue.getGlobalAggregatedValue();
127
+ if (typeof value === 'number' && !isNaN(value)) {
128
+ value = Helper.roundNumber(value, 2);
129
+ }
130
+ return value;
131
+ }
117
132
  getViewProperties() {
118
133
  return {
119
134
  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[];
@@ -6,34 +6,14 @@ import * as ChartingRedux from '../Redux/ActionsReducers/ChartingRedux';
6
6
  import { ChartingStatusBarPopover } from '../View/Charting/ChartingStatusBarPopover';
7
7
  import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
8
8
  import { isAgChartDefinition, isExternalChartDefinition, } from '../PredefinedConfig/ChartingState';
9
+ import Helper from '../Utilities/Helpers/Helper';
9
10
  export class ChartingModule extends AdaptableModuleBase {
10
11
  constructor(api) {
11
12
  super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
12
13
  }
13
- updateOldConfig() {
14
- const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
15
- const chartDefinitionsToUpdate = allChartDefinitions
16
- .filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
17
- .map((charDefinition) => {
18
- const newChartDefinition = Object.assign({}, charDefinition);
19
- if ('model' in newChartDefinition) {
20
- newChartDefinition.Model = charDefinition.model;
21
- delete newChartDefinition.model;
22
- }
23
- if (!('Name' in newChartDefinition)) {
24
- // default to chartId
25
- // @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
26
- newChartDefinition.Name = newChartDefinition.Model.chartId;
27
- }
28
- return newChartDefinition;
29
- });
30
- if (chartDefinitionsToUpdate.length > 0) {
31
- chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
32
- }
33
- }
34
14
  isModuleAvailable() {
35
15
  const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
36
- const externalChartsAvailable = this.api.optionsApi.getChartingOptions().externalChartingOptions;
16
+ const externalChartsAvailable = Helper.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
37
17
  return Boolean(agChartsAvailable || externalChartsAvailable);
38
18
  }
39
19
  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;