@adaptabletools/adaptable 18.0.0-canary.9 → 18.0.0

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 (423) hide show
  1. package/base.css +18 -20
  2. package/base.css.map +1 -1
  3. package/index.css +22 -20
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -6
  7. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +14 -13
  10. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  11. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  12. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +94 -0
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +20 -9
  16. package/src/AdaptableOptions/ContextMenuOptions.d.ts +94 -0
  17. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  20. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  21. package/src/AdaptableOptions/NoteOptions.d.ts +12 -3
  22. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  23. package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
  24. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  26. package/src/Api/AdaptableApi.d.ts +16 -6
  27. package/src/Api/ColumnApi.d.ts +13 -0
  28. package/src/Api/ColumnMenuApi.d.ts +13 -0
  29. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +28 -28
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +3 -4
  32. package/src/Api/ContextMenuApi.d.ts +9 -0
  33. package/src/Api/EventApi.d.ts +7 -9
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/CommentChanged.js +1 -0
  36. package/src/Api/Events/GridDataChanged.d.ts +1 -1
  37. package/src/Api/FlashingCellApi.d.ts +2 -2
  38. package/src/Api/GridApi.d.ts +32 -4
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +3 -6
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +7 -5
  42. package/src/Api/Implementation/AdaptableApiImpl.js +9 -5
  43. package/src/Api/Implementation/AlertApiImpl.js +8 -13
  44. package/src/Api/Implementation/ApiBase.d.ts +6 -4
  45. package/src/Api/Implementation/ApiBase.js +11 -5
  46. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  47. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  48. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  49. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  50. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  51. package/src/Api/Implementation/ColumnApiImpl.js +45 -15
  52. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  53. package/src/Api/Implementation/ColumnMenuApiImpl.d.ts +8 -0
  54. package/src/Api/Implementation/ColumnMenuApiImpl.js +12 -0
  55. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  56. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +46 -13
  57. package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -5
  58. package/src/Api/Implementation/CommentsApiImpl.js +6 -6
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/ConfigApiImpl.js +21 -25
  61. package/src/Api/Implementation/ContextMenuApiImpl.d.ts +7 -0
  62. package/src/Api/Implementation/ContextMenuApiImpl.js +9 -0
  63. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  64. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  65. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  66. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  67. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  68. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  69. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  70. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  71. package/src/Api/Implementation/GridApiImpl.d.ts +9 -2
  72. package/src/Api/Implementation/GridApiImpl.js +52 -11
  73. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -7
  74. package/src/Api/Implementation/LayoutApiImpl.js +6 -15
  75. package/src/Api/Implementation/{NotesApiImpl.d.ts → NoteApiImpl.d.ts} +8 -8
  76. package/src/Api/Implementation/{NotesApiImpl.js → NoteApiImpl.js} +12 -12
  77. package/src/Api/Implementation/OptionsApiImpl.d.ts +6 -5
  78. package/src/Api/Implementation/OptionsApiImpl.js +7 -4
  79. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  80. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  84. package/src/Api/Implementation/UserInterfaceApiImpl.js +32 -27
  85. package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/ActionRowInternalApi.js +19 -46
  87. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  88. package/src/Api/Internal/AdaptableInternalApi.js +16 -30
  89. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  90. package/src/Api/Internal/AlertInternalApi.js +7 -20
  91. package/src/Api/Internal/CalculatedColumnInternalApi.js +10 -16
  92. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  93. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  94. package/src/Api/Internal/ColumnFilterInternalApi.js +24 -30
  95. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnInternalApi.js +7 -1
  97. package/src/Api/Internal/CommentsInternalApi.d.ts +1 -1
  98. package/src/Api/Internal/CommentsInternalApi.js +3 -2
  99. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  100. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  101. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  102. package/src/Api/Internal/DataSetInternalApi.js +2 -7
  103. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  104. package/src/Api/Internal/ExportInternalApi.js +8 -5
  105. package/src/Api/Internal/ExpressionInternalApi.js +3 -13
  106. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  107. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  108. package/src/Api/Internal/FormatColumnInternalApi.js +37 -30
  109. package/src/Api/Internal/FreeTextColumnInternalApi.js +4 -3
  110. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  111. package/src/Api/Internal/GridFilterInternalApi.js +8 -8
  112. package/src/Api/Internal/GridInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/GridInternalApi.js +28 -40
  114. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  115. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  116. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  117. package/src/Api/Internal/{NotesInternalApi.js → NoteInternalApi.js} +4 -3
  118. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  119. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  120. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  121. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  122. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  123. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  124. package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
  125. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  126. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  127. package/src/Api/LayoutApi.d.ts +9 -12
  128. package/src/Api/NoteApi.d.ts +48 -0
  129. package/src/Api/NoteApi.js +1 -0
  130. package/src/Api/OptionsApi.d.ts +14 -10
  131. package/src/Api/UserInterfaceApi.d.ts +15 -13
  132. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  133. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  134. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  135. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  136. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  137. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  138. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  139. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +1 -1
  140. package/src/PredefinedConfig/Common/ColumnScope.js +1 -0
  141. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  142. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  143. package/src/PredefinedConfig/Common/Enums.js +3 -0
  144. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  145. package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
  146. package/src/PredefinedConfig/Common/Menu.js +125 -1
  147. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  148. package/src/PredefinedConfig/Common/RowScope.js +1 -0
  149. package/src/PredefinedConfig/Common/RowSummary.d.ts +15 -1
  150. package/src/PredefinedConfig/Common/RowSummary.js +16 -0
  151. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.js +1 -0
  153. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  154. package/src/PredefinedConfig/Common/Types.js +4 -1
  155. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  156. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  157. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  158. package/src/PredefinedConfig/LayoutState.d.ts +2 -2
  159. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
  160. package/src/PredefinedConfig/NoteState.js +1 -0
  161. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  162. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  163. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
  164. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  165. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  166. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  167. package/src/PredefinedConfig/SystemState.d.ts +5 -4
  168. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  169. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  170. package/src/Redux/ActionsReducers/LayoutRedux.js +12 -10
  171. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  172. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +24 -24
  173. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  174. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  175. package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -5
  176. package/src/Redux/ActionsReducers/SystemRedux.js +12 -9
  177. package/src/Redux/Store/AdaptableStore.js +40 -33
  178. package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
  179. package/src/Strategy/AdaptableModuleBase.js +13 -16
  180. package/src/Strategy/AlertModule.d.ts +3 -2
  181. package/src/Strategy/AlertModule.js +4 -4
  182. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  183. package/src/Strategy/BulkUpdateModule.js +2 -1
  184. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  185. package/src/Strategy/CalculatedColumnModule.js +18 -14
  186. package/src/Strategy/CellSummaryModule.d.ts +9 -9
  187. package/src/Strategy/CellSummaryModule.js +96 -107
  188. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  189. package/src/Strategy/ColumnFilterModule.js +36 -57
  190. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  191. package/src/Strategy/ColumnInfoModule.js +6 -4
  192. package/src/Strategy/CommentModule.d.ts +12 -0
  193. package/src/Strategy/CommentModule.js +70 -0
  194. package/src/Strategy/CustomSortModule.d.ts +1 -2
  195. package/src/Strategy/CustomSortModule.js +3 -2
  196. package/src/Strategy/DashboardModule.d.ts +3 -3
  197. package/src/Strategy/DashboardModule.js +11 -21
  198. package/src/Strategy/DataImportModule.d.ts +4 -4
  199. package/src/Strategy/DataImportModule.js +8 -8
  200. package/src/Strategy/ExportModule.d.ts +1 -2
  201. package/src/Strategy/ExportModule.js +58 -44
  202. package/src/Strategy/Fdc3Module.d.ts +1 -1
  203. package/src/Strategy/Fdc3Module.js +3 -13
  204. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  205. package/src/Strategy/FlashingCellModule.js +10 -10
  206. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  207. package/src/Strategy/FormatColumnModule.js +29 -47
  208. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  209. package/src/Strategy/FreeTextColumnModule.js +2 -2
  210. package/src/Strategy/GridInfoModule.d.ts +3 -3
  211. package/src/Strategy/GridInfoModule.js +5 -3
  212. package/src/Strategy/Interface/IModule.d.ts +4 -4
  213. package/src/Strategy/LayoutModule.d.ts +4 -10
  214. package/src/Strategy/LayoutModule.js +50 -150
  215. package/src/Strategy/NoteModule.d.ts +10 -0
  216. package/src/Strategy/NoteModule.js +55 -0
  217. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  218. package/src/Strategy/PlusMinusModule.js +5 -5
  219. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  220. package/src/Strategy/SettingsPanelModule.js +6 -6
  221. package/src/Strategy/ShortcutModule.js +1 -1
  222. package/src/Strategy/SmartEditModule.d.ts +3 -2
  223. package/src/Strategy/SmartEditModule.js +2 -1
  224. package/src/Strategy/StyledColumnModule.d.ts +2 -1
  225. package/src/Strategy/StyledColumnModule.js +42 -22
  226. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  227. package/src/Strategy/SystemStatusModule.js +6 -3
  228. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  229. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  230. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  231. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  232. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  233. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  234. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  235. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  236. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -2
  237. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +143 -7
  238. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  239. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  240. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  241. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
  242. package/src/Utilities/Helpers/AdaptableHelper.js +19 -0
  243. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  244. package/src/Utilities/MenuItem.d.ts +10 -7
  245. package/src/Utilities/MenuItem.js +6 -3
  246. package/src/Utilities/ObjectFactory.d.ts +3 -3
  247. package/src/Utilities/ObjectFactory.js +7 -25
  248. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +1 -0
  249. package/src/Utilities/Services/AggregatedScalarLiveValue.js +12 -10
  250. package/src/Utilities/Services/CellPopupService.js +4 -4
  251. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  252. package/src/Utilities/Services/LicenseService/index.js +1 -193
  253. package/src/Utilities/Services/ModuleService.js +6 -2
  254. package/src/Utilities/Services/QueryLanguageService.js +2 -2
  255. package/src/Utilities/Services/ReportService.d.ts +7 -5
  256. package/src/Utilities/Services/ReportService.js +245 -26
  257. package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
  258. package/src/Utilities/Services/RowSummaryService.js +155 -0
  259. package/src/Utilities/Services/ValidationService.js +2 -2
  260. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  261. package/src/Utilities/adaptableQlUtils.js +14 -0
  262. package/src/Utilities/license/decode.js +1 -65
  263. package/src/Utilities/license/hashing.js +1 -43
  264. package/src/View/AdaptableViewFactory.js +2 -2
  265. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  266. package/src/View/Alert/AlertEntityRow.js +1 -1
  267. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  268. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  269. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  270. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  271. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  272. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  273. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  274. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  275. package/src/View/Comments/CommentsEditor.js +28 -17
  276. package/src/View/Comments/CommentsPopup.js +15 -7
  277. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  278. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  279. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  280. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  281. package/src/View/Components/CellPopup/index.d.ts +1 -0
  282. package/src/View/Components/CellPopup/index.js +6 -3
  283. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  284. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  285. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  286. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  287. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  288. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  289. package/src/View/Components/NewScopeComponent.js +6 -4
  290. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  291. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
  292. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
  293. package/src/View/Components/RangesComponent.d.ts +2 -2
  294. package/src/View/Components/RangesComponent.js +1 -1
  295. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  296. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  297. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  298. package/src/View/Components/ValueSelector/index.js +2 -2
  299. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  300. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  301. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  302. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  303. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
  304. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  305. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  306. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  307. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  308. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  309. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  310. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  311. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  312. package/src/View/Layout/LayoutViewPanel.js +2 -1
  313. package/src/View/Layout/TransposedPopup.js +20 -19
  314. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  315. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  316. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  317. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
  318. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  319. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  320. package/src/View/License/LicenseWatermark.js +1 -61
  321. package/src/View/Note/NotePopup.d.ts +2 -0
  322. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +14 -9
  323. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  324. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  325. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  326. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  327. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  328. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  329. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  330. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  331. package/src/agGrid/ActionColumnRenderer.js +40 -4
  332. package/src/agGrid/AdaptableAgGrid.d.ts +11 -16
  333. package/src/agGrid/AdaptableAgGrid.js +230 -250
  334. package/src/agGrid/AgGridAdapter.d.ts +4 -2
  335. package/src/agGrid/AgGridAdapter.js +12 -0
  336. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
  337. package/src/agGrid/AgGridColumnAdapter.js +42 -71
  338. package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
  339. package/src/agGrid/AgGridMenuAdapter.js +405 -74
  340. package/src/agGrid/AgGridOptionsService.d.ts +4 -1
  341. package/src/agGrid/AgGridOptionsService.js +22 -0
  342. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  343. package/src/agGrid/BadgeRenderer.js +24 -11
  344. package/src/agGrid/PercentBarRenderer.js +2 -1
  345. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  346. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  347. package/src/agGrid/defaultAdaptableOptions.js +7 -12
  348. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  349. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  350. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  351. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  352. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  353. package/src/agGrid/weightedAverage.d.ts +0 -2
  354. package/src/agGrid/weightedAverage.js +0 -54
  355. package/src/components/Accordion.d.ts +7 -0
  356. package/src/components/Accordion.js +36 -0
  357. package/src/components/CheckBox/index.js +1 -1
  358. package/src/components/Datepicker/index.js +10 -2
  359. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  360. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  361. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  362. package/src/components/Input/index.d.ts +1 -2
  363. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  364. package/src/components/Select/Select.d.ts +1 -1
  365. package/src/components/Select/Select.js +3 -1
  366. package/src/components/Textarea/index.d.ts +2 -2
  367. package/src/components/icons/collapse-all.d.ts +3 -0
  368. package/src/components/icons/collapse-all.js +4 -0
  369. package/src/components/icons/copy.d.ts +3 -0
  370. package/src/components/icons/copy.js +4 -0
  371. package/src/components/icons/csv.d.ts +3 -0
  372. package/src/components/icons/csv.js +4 -0
  373. package/src/components/icons/data-object.d.ts +3 -0
  374. package/src/components/icons/data-object.js +4 -0
  375. package/src/components/icons/excel.d.ts +3 -0
  376. package/src/components/icons/excel.js +5 -0
  377. package/src/components/icons/expand-all.d.ts +3 -0
  378. package/src/components/icons/expand-all.js +4 -0
  379. package/src/components/icons/filter-off.d.ts +3 -0
  380. package/src/components/icons/filter-off.js +4 -0
  381. package/src/components/icons/grid-info.d.ts +3 -0
  382. package/src/components/icons/grid-info.js +4 -0
  383. package/src/components/icons/index.js +22 -0
  384. package/src/components/icons/note.js +2 -2
  385. package/src/components/icons/select-all.d.ts +3 -0
  386. package/src/components/icons/select-all.js +4 -0
  387. package/src/components/icons/select-fwd.d.ts +3 -0
  388. package/src/components/icons/select-fwd.js +4 -0
  389. package/src/components/icons/select-off.d.ts +3 -0
  390. package/src/components/icons/select-off.js +4 -0
  391. package/src/env.js +2 -2
  392. package/src/metamodel/adaptable.metamodel.d.ts +222 -116
  393. package/src/metamodel/adaptable.metamodel.js +1 -9426
  394. package/src/parser/src/parser.js +576 -553
  395. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  396. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  397. package/src/parser/src/types.d.ts +2 -2
  398. package/src/parser/src/types.js +1 -2
  399. package/src/types.d.ts +32 -25
  400. package/tsconfig.esm.tsbuildinfo +1 -1
  401. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  402. package/src/AdaptableOptions/MenuOptions.js +0 -95
  403. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  404. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
  405. package/src/Api/Internal/NotesInternalApi.d.ts +0 -4
  406. package/src/Api/NotesApi.d.ts +0 -48
  407. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  408. package/src/PredefinedConfig/CellAddress.js +0 -4
  409. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  410. package/src/Strategy/CommentsModule.d.ts +0 -17
  411. package/src/Strategy/CommentsModule.js +0 -81
  412. package/src/Strategy/NotesModule.d.ts +0 -10
  413. package/src/Strategy/NotesModule.js +0 -56
  414. package/src/Utilities/Services/SummaryService.d.ts +0 -19
  415. package/src/Utilities/Services/SummaryService.js +0 -29
  416. package/src/View/Notes/NotesPopup.d.ts +0 -2
  417. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  418. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  419. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  420. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  421. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  422. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  423. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -71,13 +71,14 @@ export class AdaptableModuleBase {
71
71
  .getEntitlementService()
72
72
  .getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
73
73
  }
74
- addModuleMenuItem(source) {
74
+ createModuleMenuItem(source) {
75
75
  if (this.isModuleAvailable() && this.moduleInfo.Popup) {
76
76
  const moduleParams = {
77
77
  source: source,
78
78
  maxWidth: this.getPopupMaxWidth(),
79
79
  };
80
80
  return this.createMainMenuItemShowPopup({
81
+ Name: '_navbar',
81
82
  Label: this.moduleInfo.FriendlyName,
82
83
  ComponentName: this.moduleInfo.Popup,
83
84
  Icon: this.moduleInfo.Glyph,
@@ -85,33 +86,29 @@ export class AdaptableModuleBase {
85
86
  });
86
87
  }
87
88
  }
88
- addModuleButtonMenuItem() {
89
+ createColumnMenuItems(column) {
89
90
  // base class implementation which is empty
90
91
  return undefined;
91
92
  }
92
- addColumnMenuItems(column) {
93
+ createContextMenuItems(menuContext) {
93
94
  // base class implementation which is empty
94
95
  return undefined;
95
96
  }
96
- addContextMenuItems(menuContext) {
97
- // base class implementation which is empty
98
- return undefined;
99
- }
100
- // creates the menu items in the main dropdown
101
- createMainMenuItemShowPopup({ Label, ComponentName, Icon, PopupParams, }) {
102
- return new MenuItemShowPopup(Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
97
+ // creates the module menu items in the navbar
98
+ createMainMenuItemShowPopup({ Name, Label, ComponentName, Icon, PopupParams, }) {
99
+ return new MenuItemShowPopup(Name, Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
103
100
  }
104
101
  // creates a menu item for the column menu to perform a function
105
- createColumnMenuItemClickFunction(Label, Icon, ClickFunction) {
106
- return new MenuItemDoClickFunction(Label, this.moduleInfo.ModuleName, ClickFunction, Icon, true);
102
+ createMenuItemClickFunction(Name, Label, Icon, ClickFunction) {
103
+ return new MenuItemDoClickFunction(Name, Label, this.moduleInfo.ModuleName, ClickFunction, Icon, true);
107
104
  }
108
105
  // creates a menu item for the column menu to enact a Redux action
109
- createColumnMenuItemReduxAction(Label, Icon, Action) {
110
- return new MenuItemDoReduxAction(Label, this.moduleInfo.ModuleName, Action, Icon, true);
106
+ createMenuItemReduxAction(Name, Label, Icon, Action) {
107
+ return new MenuItemDoReduxAction(Name, Label, this.moduleInfo.ModuleName, Action, Icon, true);
111
108
  }
112
109
  // popups called by the column menu - invisible if module is hidden or readonly
113
- createColumnMenuItemShowPopup(Label, ComponentName, Icon, PopupParams) {
114
- return new MenuItemShowPopup(Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
110
+ createMenuItemShowPopup(Name, Label, ComponentName, Icon, PopupParams) {
111
+ return new MenuItemShowPopup(Name, Label, this.moduleInfo.ModuleName, ComponentName, Icon, true, PopupParams);
115
112
  }
116
113
  getTeamSharingAction() {
117
114
  return undefined;
@@ -1,8 +1,9 @@
1
1
  import { AdaptableApi } from '../Api/AdaptableApi';
2
2
  import { AlertDefinition } from '../PredefinedConfig/AlertState';
3
3
  import { AdaptableAlert } from '../PredefinedConfig/Common/AdaptableAlert';
4
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
4
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
5
5
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
6
+ import { MenuItemShowPopup } from '../Utilities/MenuItem';
6
7
  import { AdaptableModuleBase } from './AdaptableModuleBase';
7
8
  import { AdaptableModuleView, AdaptableObjectCompactView, AdaptableObjectView, IModule } from './Interface/IModule';
8
9
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
@@ -14,7 +15,7 @@ export declare class AlertModule extends AdaptableModuleBase implements IModule
14
15
  }): AdaptableObject[];
15
16
  getExplicitlyReferencedColumnIds(alertDefinition: AlertDefinition): string[];
16
17
  getReferencedNamedQueryNames(alertDefinition: AlertDefinition): string[];
17
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
18
+ createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
18
19
  private handleCellDataChanged;
19
20
  private handleGridDataChanged;
20
21
  private handleReactiveAlertTriggered;
@@ -57,8 +57,8 @@ export class AlertModule extends AdaptableModuleBase {
57
57
  if (queryExpression) {
58
58
  return this.api.expressionApi.getColumnsFromExpression(queryExpression);
59
59
  }
60
- else if (this.api.scopeApi.scopeHasColumns(alertDefinition.Scope)) {
61
- return this.api.scopeApi
60
+ else if (this.api.columnScopeApi.scopeHasColumns(alertDefinition.Scope)) {
61
+ return this.api.columnScopeApi
62
62
  .getColumnsForScope(alertDefinition.Scope)
63
63
  .map((adaptableColumn) => adaptableColumn.columnId);
64
64
  }
@@ -71,7 +71,7 @@ export class AlertModule extends AdaptableModuleBase {
71
71
  }
72
72
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
73
73
  }
74
- addContextMenuItems(menuContext) {
74
+ createContextMenuItems(menuContext) {
75
75
  const items = [];
76
76
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
77
77
  if (menuContext.adaptableColumn && menuContext.rowNode) {
@@ -83,7 +83,7 @@ export class AlertModule extends AdaptableModuleBase {
83
83
  relevantAlert = this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(menuContext.rowNode);
84
84
  }
85
85
  if (relevantAlert) {
86
- 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)));
87
87
  }
88
88
  }
89
89
  }
@@ -1,12 +1,13 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { BulkUpdateValidationResult, IBulkUpdateModule } from './Interface/IBulkUpdateModule';
3
3
  import { PreviewInfo } from '../Utilities/Interface/Preview';
4
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
4
+ import { MenuItemShowPopup } from '../Utilities/MenuItem';
5
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
5
6
  import { AccessLevel, AdaptableApi } from '../types';
6
7
  export declare class BulkUpdateModule extends AdaptableModuleBase implements IBulkUpdateModule {
7
8
  constructor(api: AdaptableApi);
8
9
  getViewAccessLevel(): AccessLevel;
9
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
10
+ createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
10
11
  checkCorrectCellSelection(): BulkUpdateValidationResult;
11
12
  buildPreviewValues(bulkUpdateValue: any): PreviewInfo;
12
13
  }
@@ -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,
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { AdaptableModuleBase } from './AdaptableModuleBase';
3
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
4
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
5
5
  import * as CalculatedColumnRedux from '../Redux/ActionsReducers/CalculatedColumnRedux';
6
6
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
7
7
  import { CalculatedColumn } from '../PredefinedConfig/CalculatedColumnState';
@@ -16,9 +16,8 @@ export declare class CalculatedColumnModule extends AdaptableModuleBase implemen
16
16
  getExplicitlyReferencedColumnIds(calculatedColumn: CalculatedColumn): string[];
17
17
  getReferencedNamedQueryNames(calculatedColumn: CalculatedColumn): string[];
18
18
  private isCalculatedColumn;
19
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
20
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
21
- createEditCalculatedColumnMenuItem(column: AdaptableColumn): AdaptableMenuItem[];
19
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
20
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
22
21
  getTeamSharingAction(): TeamSharingImportInfo<CalculatedColumn>;
23
22
  toView(calculateColumn: CalculatedColumn): {
24
23
  items: AdaptableObjectItemView[];
@@ -34,12 +34,19 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
34
34
  .getCalculatedColumns()
35
35
  .find((cc) => cc.ColumnId == column.columnId)));
36
36
  }
37
- addColumnMenuItems(column) {
37
+ createColumnMenuItems(column) {
38
38
  if (this.isModuleEditable() && this.isCalculatedColumn(column)) {
39
- return this.createEditCalculatedColumnMenuItem(column);
39
+ const popupParam = {
40
+ column: column,
41
+ action: 'Edit',
42
+ source: 'ColumnMenu',
43
+ };
44
+ return [
45
+ this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
46
+ ];
40
47
  }
41
48
  }
42
- addContextMenuItems(menuContext) {
49
+ createContextMenuItems(menuContext) {
43
50
  if (!this.isModuleAvailable()) {
44
51
  return;
45
52
  }
@@ -47,19 +54,16 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
47
54
  this.isCalculatedColumn(menuContext.adaptableColumn) &&
48
55
  !menuContext.isRowGroupColumn &&
49
56
  menuContext.isSingleSelectedCell) {
50
- return this.createEditCalculatedColumnMenuItem(menuContext.adaptableColumn);
57
+ const popupParam = {
58
+ column: menuContext.adaptableColumn,
59
+ action: 'Edit',
60
+ source: 'ContextMenu',
61
+ };
62
+ return [
63
+ this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
64
+ ];
51
65
  }
52
66
  }
53
- createEditCalculatedColumnMenuItem(column) {
54
- let popupParam = {
55
- column: column,
56
- action: 'Edit',
57
- source: 'ColumnMenu',
58
- };
59
- return [
60
- this.createColumnMenuItemShowPopup('Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
61
- ];
62
- }
63
67
  getTeamSharingAction() {
64
68
  return {
65
69
  ModuleEntities: this.api.calculatedColumnApi.getCalculatedColumns(),
@@ -1,20 +1,20 @@
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 { 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
11
  cachedCellSummary: WeakMap<SelectedCellInfo<any>, CellSummmary>;
12
12
  constructor(api: AdaptableApi);
13
13
  getViewAccessLevel(): AccessLevel;
14
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
15
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
16
- private createCellSummaryMenuItem;
14
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
15
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
17
16
  createCellSummary(selectedCellInfo: SelectedCellInfo): CellSummmary;
17
+ private getWeightedAverageCellSummary;
18
18
  getViewProperties(): {
19
19
  getStatusBarPanelProps(): {
20
20
  view: () => JSX.Element;
@@ -1,8 +1,10 @@
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,138 +13,125 @@ export class CellSummaryModule extends AdaptableModuleBase {
11
13
  getViewAccessLevel() {
12
14
  return 'Full';
13
15
  }
14
- addColumnMenuItems(column) {
16
+ createColumnMenuItems(column) {
15
17
  if (!this.isModuleAvailable()) {
16
18
  return;
17
19
  }
18
20
  return [
19
- this.createCellSummaryMenuItem({
20
- source: 'ColumnMenu',
21
- column,
21
+ this.createMainMenuItemShowPopup({
22
+ Name: 'cell-summary-show',
23
+ Label: 'See Cell Summary',
24
+ ComponentName: this.moduleInfo.Popup,
25
+ Icon: this.moduleInfo.Glyph,
26
+ PopupParams: {
27
+ source: 'ColumnMenu',
28
+ column,
29
+ },
22
30
  }),
23
31
  ];
24
32
  }
25
- addContextMenuItems(menuContext) {
33
+ createContextMenuItems(menuContext) {
26
34
  if (!this.isModuleAvailable()) {
27
35
  return;
28
36
  }
29
37
  if (menuContext.adaptableColumn && menuContext.isSelectedCell) {
30
38
  return [
31
- this.createCellSummaryMenuItem({
32
- source: 'ContextMenu',
39
+ this.createMainMenuItemShowPopup({
40
+ Name: 'cell-summary-show',
41
+ Label: 'See Cell Summary',
42
+ ComponentName: this.moduleInfo.Popup,
43
+ Icon: this.moduleInfo.Glyph,
44
+ PopupParams: {
45
+ source: 'ContextMenu',
46
+ },
33
47
  }),
34
48
  ];
35
49
  }
36
50
  }
37
- createCellSummaryMenuItem(popUpParams) {
38
- return this.createMainMenuItemShowPopup({
39
- Label: 'See Cell Summary',
40
- ComponentName: this.moduleInfo.Popup,
41
- Icon: this.moduleInfo.Glyph,
42
- PopupParams: popUpParams,
43
- });
44
- }
45
51
  createCellSummary(selectedCellInfo) {
46
52
  if (this.cachedCellSummary.has(selectedCellInfo)) {
47
53
  return this.cachedCellSummary.get(selectedCellInfo);
48
54
  }
49
- let selectedCellSummary;
50
- if (selectedCellInfo && 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.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);
55
+ let selectedCellSummary = ObjectFactory.CreateEmptyCellSummmary();
56
+ if (selectedCellInfo && ArrayExtensions.GetLength(selectedCellInfo.columns) === 1) {
57
+ const selectedColumn = selectedCellInfo.columns[0];
58
+ if (selectedColumn) {
59
+ const isNumericColumn = selectedColumn.dataType === 'Number';
60
+ const isDateColumn = selectedColumn.dataType === 'Date';
61
+ const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
62
+ const handleExpression = (functionName) => {
63
+ const aggScalarValue = new AggregatedScalarLiveValue({
64
+ aggregatedScalarExpression: `${functionName}([${selectedColumn.columnId}])`,
65
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
66
+ let value = aggScalarValue.getGlobalAggregatedValue();
67
+ if (typeof value === 'number' && !isNaN(value)) {
68
+ value = Helper.roundNumber(value, 2);
71
69
  }
72
- }
73
- });
74
- // copying so that we keep the order - needed for others
75
- const newNumericValues = [...numericValues];
76
- let hasNumericColumns = numericValues.length > 0;
77
- if (selectedCellInfo.columns.length > 1) {
78
- return {
79
- Sum: null,
80
- Average: null,
81
- Median: null,
82
- Mode: null,
83
- Distinct: null,
84
- Max: null,
85
- Min: null,
86
- Count: null,
87
- Std_Deviation: null,
88
- Only: '',
70
+ return value;
89
71
  };
90
- }
91
- const handleExpression = (functionName) => {
92
- const columnId = selectedCellInfo.columns[0].columnId;
93
- const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
94
- return this.api.internalApi.getAdaptableInstance().SummaryService.evaluateExpressionValue({
95
- expression: {
96
- function: functionName,
97
- },
98
- columnId: columnId,
99
- getRowNodes: () => rowNodes,
100
- }, ModuleConstants.CellSummaryModuleId);
101
- };
102
- const sumValue = hasNumericColumns ? handleExpression('SUM') : null;
103
- const avgValue = hasNumericColumns ? Helper.roundNumber(handleExpression('AVG'), 2) : null;
104
- const modeValue = hasNumericColumns ? handleExpression('MODE') : null;
105
- const medianValue = hasNumericColumns ? handleExpression('MEDIAN') : null;
106
- const distinctValue = handleExpression('DISTINCT');
107
- const maxValue = hasNumericColumns ? handleExpression('MAX') : null;
108
- const minValue = hasNumericColumns ? handleExpression('MIN') : null;
109
- const stdDeviation = hasNumericColumns
110
- ? Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
111
- : null;
112
- selectedCellSummary = {
113
- Sum: sumValue,
114
- Average: avgValue,
115
- Median: medianValue,
116
- Mode: modeValue,
117
- Distinct: distinctValue,
118
- Max: maxValue,
119
- Min: minValue,
120
- Count: allValues.length,
121
- Std_Deviation: stdDeviation,
122
- Only: distinctValue == 1 ? JSON.stringify(allValues[0]) : '',
123
- };
124
- numericValues = [...newNumericValues];
125
- const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
126
- const api = this.api;
127
- operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
128
- if (operation.operationFunction) {
129
- const cellSummaryOperationContext = {
130
- selectedCellInfo,
131
- distinctCount: distinctValue,
132
- allValues,
133
- numericValues,
134
- numericColumns,
135
- adaptableApi: this.api,
136
- userName: this.api.optionsApi.getUserName(),
137
- adaptableId: this.api.optionsApi.getAdaptableId(),
138
- };
139
- selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
72
+ const sumValue = isNumericColumn ? handleExpression('SUM') : null;
73
+ const avgValue = isNumericColumn ? Helper.roundNumber(handleExpression('AVG'), 2) : null;
74
+ const modeValue = isNumericColumn ? handleExpression('MODE') : null;
75
+ const medianValue = isNumericColumn ? handleExpression('MEDIAN') : null;
76
+ const distinctValue = handleExpression('DISTINCT');
77
+ const maxValue = isNumericColumn ? handleExpression('MAX') : null;
78
+ const minValue = isNumericColumn ? handleExpression('MIN') : null;
79
+ const oldestValue = isDateColumn ? handleExpression('OLDEST') : null;
80
+ const newestValue = isDateColumn ? handleExpression('NEWEST') : null;
81
+ const stdDeviation = isNumericColumn
82
+ ? Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
83
+ : null;
84
+ selectedCellSummary = {
85
+ Sum: sumValue,
86
+ Average: avgValue,
87
+ Median: medianValue,
88
+ Mode: modeValue,
89
+ Distinct: distinctValue,
90
+ Max: maxValue,
91
+ Min: minValue,
92
+ Count: selectedCellInfo.gridCells.length,
93
+ Oldest: oldestValue,
94
+ Newest: newestValue,
95
+ Std_Deviation: stdDeviation,
96
+ Only: distinctValue == 1 ? JSON.stringify(selectedCellInfo.gridCells[0].rawValue) : '',
97
+ };
98
+ const weightedAverage = this.getWeightedAverageCellSummary(selectedColumn.columnId, rowNodes);
99
+ if (weightedAverage !== null) {
100
+ selectedCellSummary.Weighted_Average = weightedAverage;
140
101
  }
141
- });
102
+ const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
103
+ operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
104
+ if (operation.operationFunction) {
105
+ const cellSummaryOperationContext = Object.assign({ selectedCellInfo,
106
+ selectedColumn }, this.api.internalApi.buildBaseContext());
107
+ selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
108
+ }
109
+ });
110
+ this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
111
+ }
142
112
  }
143
- this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
144
113
  return selectedCellSummary;
145
114
  }
115
+ getWeightedAverageCellSummary(columnId, rowNodes) {
116
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
117
+ if (currentLayout.AggregationColumns == undefined) {
118
+ return false;
119
+ }
120
+ const weightedAverageConfig = Object.entries(currentLayout.AggregationColumns).find(([colId, aggCol]) => typeof aggCol === 'object' && aggCol.type === 'weightedAverage' && colId === columnId);
121
+ if (!weightedAverageConfig) {
122
+ return null;
123
+ }
124
+ const { weightedColumnId } = weightedAverageConfig[1];
125
+ const expression = `AVG([${columnId}], WEIGHT([${weightedColumnId}]))`;
126
+ const aggScalarValue = new AggregatedScalarLiveValue({
127
+ aggregatedScalarExpression: expression,
128
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
129
+ let value = aggScalarValue.getGlobalAggregatedValue();
130
+ if (typeof value === 'number' && !isNaN(value)) {
131
+ value = Helper.roundNumber(value, 2);
132
+ }
133
+ return value;
134
+ }
146
135
  getViewProperties() {
147
136
  return {
148
137
  getStatusBarPanelProps() {
@@ -1,6 +1,6 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
3
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
+ import { AdaptableContextMenuItemName, AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
4
4
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
5
5
  import { AdaptableModuleView, AdaptableObjectCompactView, AdaptableObjectView, IModule } from './Interface/IModule';
6
6
  import { AdaptableApi } from '../Api/AdaptableApi';
@@ -13,8 +13,8 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
13
13
  getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
14
14
  hasNamedQueryReferences(): boolean;
15
15
  onAdaptableReady(): void;
16
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
17
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
16
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
17
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
18
18
  private getExistingColumnFilter;
19
19
  getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
20
20
  toViewCompact(filter: ColumnFilter): AdaptableObjectCompactView;