@adaptabletools/adaptable-cjs 18.0.0-canary.2 → 18.0.0-canary.21

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 (369) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  3. package/base.css +22 -8
  4. package/base.css.map +1 -1
  5. package/index.css +101 -75
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +59 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  12. package/src/AdaptableOptions/CommentOptions.d.ts +33 -0
  13. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
  14. package/src/AdaptableOptions/MenuOptions.d.ts +6 -54
  15. package/src/AdaptableOptions/MenuOptions.js +72 -75
  16. package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +7 -4
  17. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  18. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  19. package/src/Api/AdaptableApi.d.ts +9 -4
  20. package/src/Api/BulkUpdateApi.d.ts +0 -5
  21. package/src/Api/ColumnApi.d.ts +4 -0
  22. package/src/Api/CommentApi.d.ts +13 -14
  23. package/src/Api/ConfigApi.d.ts +4 -5
  24. package/src/Api/EventApi.d.ts +7 -9
  25. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  26. package/src/Api/Events/CommentChanged.d.ts +11 -0
  27. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  28. package/src/Api/GridApi.d.ts +23 -13
  29. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  30. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  31. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  32. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  33. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  34. package/src/Api/Implementation/ApiBase.js +8 -2
  35. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  36. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  37. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  38. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  39. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  40. package/src/Api/Implementation/ColumnApiImpl.js +10 -0
  41. package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
  42. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  43. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  44. package/src/Api/Implementation/ConfigApiImpl.js +24 -13
  45. package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
  46. package/src/Api/Implementation/GridApiImpl.js +51 -14
  47. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  48. package/src/Api/Implementation/LayoutApiImpl.js +18 -0
  49. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  50. package/src/Api/Implementation/NoteApiImpl.js +45 -0
  51. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  52. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  53. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  54. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  55. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  56. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  57. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  58. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
  59. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
  60. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  61. package/src/Api/Internal/ActionRowInternalApi.js +119 -1
  62. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
  63. package/src/Api/Internal/AdaptableInternalApi.js +21 -19
  64. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  65. package/src/Api/Internal/CalculatedColumnInternalApi.js +72 -0
  66. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  67. package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
  68. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  69. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  70. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  71. package/src/Api/Internal/CommentsInternalApi.js +18 -0
  72. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  73. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  74. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  75. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  76. package/src/Api/Internal/ExportInternalApi.js +4 -1
  77. package/src/Api/Internal/Fdc3InternalApi.js +2 -2
  78. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  79. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  80. package/src/Api/Internal/FreeTextColumnInternalApi.js +61 -0
  81. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  82. package/src/Api/Internal/GridFilterInternalApi.js +7 -1
  83. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  84. package/src/Api/Internal/GridInternalApi.js +141 -7
  85. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/LayoutInternalApi.js +16 -0
  87. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  88. package/src/Api/Internal/NoteInternalApi.js +18 -0
  89. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  90. package/src/Api/InteropioPluginApi.d.ts +2 -2
  91. package/src/Api/LayoutApi.d.ts +15 -0
  92. package/src/Api/NoteApi.d.ts +48 -0
  93. package/src/Api/OptionsApi.d.ts +8 -8
  94. package/src/Api/ScopeApi.d.ts +10 -0
  95. package/src/Api/UserInterfaceApi.d.ts +0 -11
  96. package/src/EnvVars.d.ts +3 -0
  97. package/src/EnvVars.js +8 -0
  98. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  99. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  100. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  101. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  102. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  103. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  104. package/src/PredefinedConfig/Common/AggregationColumns.js +5 -1
  105. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  106. package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
  107. package/src/PredefinedConfig/Common/Enums.js +1 -0
  108. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  109. package/src/PredefinedConfig/Common/Menu.js +98 -0
  110. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  111. package/src/PredefinedConfig/Common/RowSummary.js +20 -0
  112. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  113. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  114. package/src/PredefinedConfig/Common/Types.js +4 -1
  115. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  116. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  117. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  118. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  119. package/src/PredefinedConfig/SystemState.d.ts +9 -3
  120. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  121. package/src/Redux/ActionsReducers/LayoutRedux.js +34 -11
  122. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  123. package/src/Redux/ActionsReducers/NoteRedux.js +89 -0
  124. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  125. package/src/Redux/ActionsReducers/SystemRedux.js +19 -6
  126. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  127. package/src/Redux/Store/AdaptableStore.js +66 -76
  128. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  129. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  130. package/src/Strategy/AdaptableModuleBase.js +13 -15
  131. package/src/Strategy/AlertModule.d.ts +1 -2
  132. package/src/Strategy/AlertModule.js +3 -56
  133. package/src/Strategy/BulkUpdateModule.js +1 -1
  134. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  135. package/src/Strategy/CalculatedColumnModule.js +6 -26
  136. package/src/Strategy/CellSummaryModule.d.ts +8 -6
  137. package/src/Strategy/CellSummaryModule.js +78 -23
  138. package/src/Strategy/ChartingModule.d.ts +0 -1
  139. package/src/Strategy/ChartingModule.js +2 -22
  140. package/src/Strategy/ColumnFilterModule.d.ts +2 -3
  141. package/src/Strategy/ColumnFilterModule.js +44 -103
  142. package/src/Strategy/ColumnInfoModule.js +2 -0
  143. package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
  144. package/src/Strategy/{CommentsModule.js → CommentModule.js} +19 -25
  145. package/src/Strategy/CustomSortModule.js +3 -2
  146. package/src/Strategy/DashboardModule.d.ts +1 -2
  147. package/src/Strategy/DashboardModule.js +9 -15
  148. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  149. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  150. package/src/Strategy/DataImportModule.d.ts +1 -1
  151. package/src/Strategy/DataImportModule.js +5 -5
  152. package/src/Strategy/DataSetModule.d.ts +1 -1
  153. package/src/Strategy/DataSetModule.js +1 -1
  154. package/src/Strategy/ExportModule.d.ts +1 -0
  155. package/src/Strategy/ExportModule.js +17 -2
  156. package/src/Strategy/Fdc3Module.js +3 -0
  157. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  158. package/src/Strategy/FlashingCellModule.js +6 -19
  159. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  160. package/src/Strategy/FormatColumnModule.js +6 -51
  161. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  162. package/src/Strategy/FreeTextColumnModule.js +1 -31
  163. package/src/Strategy/GridFilterModule.d.ts +0 -1
  164. package/src/Strategy/GridFilterModule.js +0 -37
  165. package/src/Strategy/GridInfoModule.js +2 -0
  166. package/src/Strategy/Interface/IModule.d.ts +0 -1
  167. package/src/Strategy/LayoutModule.d.ts +9 -3
  168. package/src/Strategy/LayoutModule.js +148 -62
  169. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  170. package/src/Strategy/NamedQueryModule.js +0 -19
  171. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
  172. package/src/Strategy/NoteModule.js +62 -0
  173. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  174. package/src/Strategy/PlusMinusModule.js +2 -2
  175. package/src/Strategy/ScheduleModule.d.ts +1 -1
  176. package/src/Strategy/ScheduleModule.js +1 -1
  177. package/src/Strategy/SettingsPanelModule.js +3 -3
  178. package/src/Strategy/ShortcutModule.d.ts +1 -1
  179. package/src/Strategy/ShortcutModule.js +1 -1
  180. package/src/Strategy/SmartEditModule.js +1 -1
  181. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  182. package/src/Strategy/StyledColumnModule.js +26 -26
  183. package/src/Strategy/SystemStatusModule.js +2 -2
  184. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  185. package/src/Strategy/TeamSharingModule.js +5 -5
  186. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  187. package/src/Strategy/ToolPanelModule.js +0 -23
  188. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  189. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  190. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  191. package/src/Utilities/Constants/GeneralConstants.js +3 -2
  192. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  193. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  194. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  195. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  196. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +430 -1
  197. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  198. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  199. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  200. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  201. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  202. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  203. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  204. package/src/Utilities/Helpers/AdaptableHelper.js +20 -60
  205. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  206. package/src/Utilities/Helpers/Helper.js +6 -1
  207. package/src/Utilities/MenuItem.d.ts +7 -4
  208. package/src/Utilities/MenuItem.js +6 -3
  209. package/src/Utilities/ObjectFactory.d.ts +3 -3
  210. package/src/Utilities/ObjectFactory.js +4 -24
  211. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  212. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  213. package/src/Utilities/Services/CellPopupService.js +2 -3
  214. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  215. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  216. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  217. package/src/Utilities/Services/LicenseService/index.js +1 -186
  218. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  219. package/src/Utilities/Services/MetamodelService.js +6 -3
  220. package/src/Utilities/Services/ModuleService.js +4 -0
  221. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  222. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  223. package/src/Utilities/Services/ReportService.d.ts +7 -5
  224. package/src/Utilities/Services/ReportService.js +238 -22
  225. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  226. package/src/Utilities/Services/RowEditService.js +3 -1
  227. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  228. package/src/Utilities/adaptableQlUtils.js +18 -0
  229. package/src/Utilities/license/decode.js +1 -70
  230. package/src/Utilities/license/hashing.js +1 -47
  231. package/src/View/AdaptableView.js +1 -3
  232. package/src/View/AdaptableViewFactory.js +2 -2
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  234. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  235. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  236. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  237. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  238. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  239. package/src/View/Comments/CommentsEditor.js +24 -11
  240. package/src/View/Comments/CommentsPopup.js +20 -11
  241. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  242. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  243. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +46 -0
  244. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  245. package/src/View/Components/CellPopup/index.d.ts +1 -0
  246. package/src/View/Components/CellPopup/index.js +5 -2
  247. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  248. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  249. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  250. package/src/View/Components/NewScopeComponent.js +34 -1
  251. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  252. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  253. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  254. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  255. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  256. package/src/View/Components/Popups/WindowPopups/windowFactory.js +4 -1
  257. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  258. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  259. package/src/View/Components/ValueSelector/index.js +2 -2
  260. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  261. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  262. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  263. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  264. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  265. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  266. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  267. package/src/View/Layout/LayoutViewPanel.js +2 -1
  268. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  269. package/src/View/Layout/TransposedPopup.js +200 -0
  270. package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
  271. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  272. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  273. package/src/View/Layout/Wizard/sections/RowSummarySection.js +181 -0
  274. package/src/View/License/LicenseWatermark.js +1 -66
  275. package/src/View/Note/NotePopup.d.ts +2 -0
  276. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +19 -19
  277. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  278. package/src/View/Theme/ThemeSelector.js +2 -2
  279. package/src/agGrid/ActionColumnRenderer.js +7 -6
  280. package/src/agGrid/Adaptable.d.ts +3 -455
  281. package/src/agGrid/Adaptable.js +7 -5291
  282. package/src/agGrid/AdaptableAgGrid.d.ts +354 -0
  283. package/src/agGrid/AdaptableAgGrid.js +3972 -0
  284. package/src/agGrid/AdaptableLogger.js +78 -13
  285. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  286. package/src/agGrid/AgGridAdapter.js +590 -0
  287. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  288. package/src/agGrid/AgGridColumnAdapter.js +836 -0
  289. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  290. package/src/agGrid/AgGridMenuAdapter.js +282 -0
  291. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  292. package/src/agGrid/AgGridOptionsService.js +80 -0
  293. package/src/agGrid/BadgeRenderer.js +1 -1
  294. package/src/agGrid/CheckboxRenderer.js +1 -1
  295. package/src/agGrid/FilterWrapper.d.ts +2 -2
  296. package/src/agGrid/FilterWrapper.js +1 -1
  297. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  298. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  299. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +74 -18
  300. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  301. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  302. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  303. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  304. package/src/agGrid/weightedAverage.d.ts +0 -2
  305. package/src/agGrid/weightedAverage.js +1 -56
  306. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  307. package/src/components/Datepicker/index.d.ts +1 -1
  308. package/src/components/Datepicker/index.js +10 -2
  309. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  310. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  311. package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
  312. package/src/components/InfiniteTable/index.js +2 -2
  313. package/src/components/Input/index.d.ts +1 -2
  314. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  315. package/src/components/Modal/index.d.ts +1 -0
  316. package/src/components/Modal/index.js +6 -4
  317. package/src/components/Select/Select.d.ts +3 -1
  318. package/src/components/Select/Select.js +4 -2
  319. package/src/components/Textarea/index.d.ts +2 -2
  320. package/src/components/icons/index.js +2 -0
  321. package/src/components/icons/note.js +2 -2
  322. package/src/components/icons/rows.d.ts +3 -0
  323. package/src/components/icons/rows.js +7 -0
  324. package/src/env.js +2 -2
  325. package/src/metamodel/adaptable.metamodel.d.ts +179 -25
  326. package/src/metamodel/adaptable.metamodel.js +1 -9316
  327. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  328. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  329. package/src/migration/VersionUpgrade.d.ts +8 -0
  330. package/src/migration/VersionUpgrade.js +15 -0
  331. package/src/migration/VersionUpgrade17.d.ts +18 -0
  332. package/src/migration/VersionUpgrade17.js +347 -0
  333. package/src/migration/VersionUpgrade18.d.ts +5 -0
  334. package/src/migration/VersionUpgrade18.js +10 -0
  335. package/src/parser/src/parser.js +117 -1257
  336. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  337. package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
  338. package/src/parser/src/types.d.ts +7 -2
  339. package/src/types.d.ts +26 -19
  340. package/tsconfig.cjs.tsbuildinfo +1 -1
  341. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  342. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  343. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  344. package/src/Api/Implementation/NotesApiImpl.js +0 -44
  345. package/src/Api/NotesApi.d.ts +0 -48
  346. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  347. package/src/PredefinedConfig/CellAddress.js +0 -5
  348. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  349. package/src/Redux/ActionsReducers/NotesRedux.js +0 -87
  350. package/src/Strategy/NotesModule.js +0 -62
  351. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  352. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  353. package/src/View/Components/ScopeComponent.d.ts +0 -24
  354. package/src/View/Components/ScopeComponent.js +0 -138
  355. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  356. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  357. package/src/View/Notes/NotesPopup.d.ts +0 -2
  358. package/src/agGrid/agGridHelper.d.ts +0 -57
  359. package/src/agGrid/agGridHelper.js +0 -691
  360. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  361. package/src/agGrid/agGridMenuHelper.js +0 -673
  362. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  363. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  364. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  365. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  366. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  367. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  368. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  369. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -15,35 +15,15 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
15
15
  constructor(api) {
16
16
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'chart-and-grid', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
17
17
  }
18
- handleConfigReloaded(adaptableStateReloadedInfo) {
19
- // re-dispatch the CalculatedColumnReady action to recreate all the aggregated scalar columns
20
- this.api.internalApi.dispatchReduxAction(CalculatedColumnRedux.CalculatedColumnReady(this.api.calculatedColumnApi.getCalculatedColumnState()));
18
+ onAdaptableReady() {
19
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
20
+ }
21
+ onAdaptableStateReloaded() {
22
+ this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
21
23
  }
22
24
  getModuleAdaptableObjects() {
23
25
  return this.api.calculatedColumnApi.getCalculatedColumns();
24
26
  }
25
- updateOldConfig() {
26
- const calcColumns = this.api.calculatedColumnApi.getCalculatedColumns();
27
- let oldCalculatedColumns = [];
28
- calcColumns.forEach((cc) => {
29
- if (cc.ColumnExpression && !cc.Query) {
30
- cc.Query = {
31
- ScalarExpression: cc.ColumnExpression,
32
- };
33
- cc.ColumnExpression = undefined;
34
- oldCalculatedColumns.push(cc);
35
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
36
- }
37
- if (!cc.CalculatedColumnSettings) {
38
- cc.CalculatedColumnSettings = {
39
- DataType: 'Number',
40
- };
41
- oldCalculatedColumns.push(cc);
42
- this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
43
- }
44
- });
45
- oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
46
- }
47
27
  getExplicitlyReferencedColumnIds(calculatedColumn) {
48
28
  var _a;
49
29
  return ((_a = this.api.expressionApi.getColumnsFromExpression(this.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) !== null && _a !== void 0 ? _a : []);
@@ -81,7 +61,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
81
61
  source: 'ColumnMenu',
82
62
  };
83
63
  return [
84
- this.createColumnMenuItemShowPopup('Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
64
+ this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
85
65
  ];
86
66
  }
87
67
  getTeamSharingAction() {
@@ -1,19 +1,21 @@
1
1
  /// <reference types="react" />
2
- import { AdaptableModuleBase } from './AdaptableModuleBase';
3
- import { ICellSummaryModule } from './Interface/ICellSummaryModule';
4
- import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
5
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
6
2
  import { AdaptableApi } from '../Api/AdaptableApi';
7
- import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
8
- import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
9
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
+ import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
5
+ import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
6
+ import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
7
+ import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
8
+ import { AdaptableModuleBase } from './AdaptableModuleBase';
9
+ import { ICellSummaryModule } from './Interface/ICellSummaryModule';
10
10
  export declare class CellSummaryModule extends AdaptableModuleBase implements ICellSummaryModule {
11
+ cachedCellSummary: WeakMap<SelectedCellInfo<any>, CellSummmary>;
11
12
  constructor(api: AdaptableApi);
12
13
  getViewAccessLevel(): AccessLevel;
13
14
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
14
15
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
15
16
  private createCellSummaryMenuItem;
16
17
  createCellSummary(selectedCellInfo: SelectedCellInfo): CellSummmary;
18
+ private getWeightedAverageCellSummary;
17
19
  getViewProperties(): {
18
20
  getStatusBarPanelProps(): {
19
21
  view: () => JSX.Element;
@@ -2,14 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CellSummaryModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
5
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
6
  const ArrayExtensions_1 = require("../Utilities/Extensions/ArrayExtensions");
8
7
  const Helper_1 = require("../Utilities/Helpers/Helper");
8
+ const AggregatedScalarLiveValue_1 = require("../Utilities/Services/AggregatedScalarLiveValue");
9
9
  const CellSummaryStatusPanel_1 = require("../View/CellSummary/CellSummaryStatusPanel");
10
+ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
10
11
  class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
11
12
  constructor(api) {
12
13
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of cells using multiple summary operations', api);
14
+ this.cachedCellSummary = new WeakMap();
13
15
  }
14
16
  getViewAccessLevel() {
15
17
  return 'Full';
@@ -39,6 +41,7 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
39
41
  }
40
42
  createCellSummaryMenuItem(popUpParams) {
41
43
  return this.createMainMenuItemShowPopup({
44
+ Name: 'cell-summary-show',
42
45
  Label: 'See Cell Summary',
43
46
  ComponentName: this.moduleInfo.Popup,
44
47
  Icon: this.moduleInfo.Glyph,
@@ -46,6 +49,9 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
46
49
  });
47
50
  }
48
51
  createCellSummary(selectedCellInfo) {
52
+ if (this.cachedCellSummary.has(selectedCellInfo)) {
53
+ return this.cachedCellSummary.get(selectedCellInfo);
54
+ }
49
55
  let selectedCellSummary;
50
56
  if (selectedCellInfo && ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.columns)) {
51
57
  let numericValues = [];
@@ -74,37 +80,65 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
74
80
  // copying so that we keep the order - needed for others
75
81
  const newNumericValues = [...numericValues];
76
82
  let hasNumericColumns = numericValues.length > 0;
77
- let distinctCount = ArrayExtensions_1.ArrayExtensions.RetrieveDistinct(allValues).length;
83
+ if (selectedCellInfo.columns.length > 1) {
84
+ return {
85
+ Sum: null,
86
+ Average: null,
87
+ Median: null,
88
+ Mode: null,
89
+ Distinct: null,
90
+ Max: null,
91
+ Min: null,
92
+ Count: null,
93
+ Std_Deviation: null,
94
+ Only: '',
95
+ };
96
+ }
97
+ const columnId = selectedCellInfo.columns[0].columnId;
98
+ const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
99
+ const handleExpression = (functionName) => {
100
+ const aggScalarValue = new AggregatedScalarLiveValue_1.AggregatedScalarLiveValue({
101
+ aggregatedScalarExpression: `${functionName}([${columnId}])`,
102
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
103
+ let value = aggScalarValue.getGlobalAggregatedValue();
104
+ if (typeof value === 'number' && !isNaN(value)) {
105
+ value = Helper_1.Helper.roundNumber(value, 2);
106
+ }
107
+ return value;
108
+ };
109
+ const sumValue = hasNumericColumns ? handleExpression('SUM') : null;
110
+ const avgValue = hasNumericColumns ? Helper_1.Helper.roundNumber(handleExpression('AVG'), 2) : null;
111
+ const modeValue = hasNumericColumns ? handleExpression('MODE') : null;
112
+ const medianValue = hasNumericColumns ? handleExpression('MEDIAN') : null;
113
+ const distinctValue = handleExpression('DISTINCT');
114
+ const maxValue = hasNumericColumns ? handleExpression('MAX') : null;
115
+ const minValue = hasNumericColumns ? handleExpression('MIN') : null;
116
+ const stdDeviation = hasNumericColumns
117
+ ? Helper_1.Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
118
+ : null;
78
119
  selectedCellSummary = {
79
- Sum: hasNumericColumns
80
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.sumNumberArray(numericValues))
81
- : undefined,
82
- Average: hasNumericColumns
83
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.meanNumberArray(numericValues))
84
- : undefined,
85
- Median: hasNumericColumns
86
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.medianNumberArray(numericValues))
87
- : undefined,
88
- Mode: hasNumericColumns
89
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.modeNumberArray(numericValues))
90
- : undefined,
91
- Distinct: distinctCount,
92
- Max: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.max(...numericValues)) : undefined,
93
- Min: hasNumericColumns ? Helper_1.Helper.roundNumberTo4dp(Math.min(...numericValues)) : undefined,
120
+ Sum: sumValue,
121
+ Average: avgValue,
122
+ Median: medianValue,
123
+ Mode: modeValue,
124
+ Distinct: distinctValue,
125
+ Max: maxValue,
126
+ Min: minValue,
94
127
  Count: allValues.length,
95
- Std_Deviation: hasNumericColumns
96
- ? Helper_1.Helper.roundNumberTo4dp(Helper_1.Helper.standardDeviationNumberArray(numericValues))
97
- : undefined,
98
- Only: distinctCount == 1 ? JSON.stringify(allValues[0]) : '',
128
+ Std_Deviation: stdDeviation,
129
+ Only: distinctValue == 1 ? JSON.stringify(allValues[0]) : '',
99
130
  };
100
131
  numericValues = [...newNumericValues];
132
+ const weightedAverage = this.getWeightedAverageCellSummary(columnId, rowNodes);
133
+ if (weightedAverage !== null) {
134
+ selectedCellSummary.Weighted_Average = weightedAverage;
135
+ }
101
136
  const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
102
- const api = this.api;
103
137
  operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
104
138
  if (operation.operationFunction) {
105
139
  const cellSummaryOperationContext = {
106
140
  selectedCellInfo,
107
- distinctCount,
141
+ distinctCount: distinctValue,
108
142
  allValues,
109
143
  numericValues,
110
144
  numericColumns,
@@ -115,9 +149,30 @@ class CellSummaryModule extends AdaptableModuleBase_1.AdaptableModuleBase {
115
149
  selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
116
150
  }
117
151
  });
152
+ this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
118
153
  }
119
154
  return selectedCellSummary;
120
155
  }
156
+ getWeightedAverageCellSummary(columnId, rowNodes) {
157
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
158
+ if (currentLayout.AggregationColumns == undefined) {
159
+ return false;
160
+ }
161
+ const weightedAverageConfig = Object.entries(currentLayout.AggregationColumns).find(([colId, aggCol]) => typeof aggCol === 'object' && aggCol.type === 'weightedAverage' && colId === columnId);
162
+ if (!weightedAverageConfig) {
163
+ return null;
164
+ }
165
+ const { weightedColumnId } = weightedAverageConfig[1];
166
+ const expression = `AVG([${columnId}], WEIGHT([${weightedColumnId}]))`;
167
+ const aggScalarValue = new AggregatedScalarLiveValue_1.AggregatedScalarLiveValue({
168
+ aggregatedScalarExpression: expression,
169
+ }, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
170
+ let value = aggScalarValue.getGlobalAggregatedValue();
171
+ if (typeof value === 'number' && !isNaN(value)) {
172
+ value = Helper_1.Helper.roundNumber(value, 2);
173
+ }
174
+ return value;
175
+ }
121
176
  getViewProperties() {
122
177
  return {
123
178
  getStatusBarPanelProps() {
@@ -5,7 +5,6 @@ import { ChartDefinition } from '../types';
5
5
  import { ExternalChartDefinition } from '../PredefinedConfig/ChartingState';
6
6
  export declare class ChartingModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- updateOldConfig(): void;
9
8
  isModuleAvailable(): boolean;
10
9
  getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
11
10
  toViewAll(): AdaptableObjectView[];
@@ -10,34 +10,14 @@ const ChartingRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/Cha
10
10
  const ChartingStatusBarPopover_1 = require("../View/Charting/ChartingStatusBarPopover");
11
11
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
12
12
  const ChartingState_1 = require("../PredefinedConfig/ChartingState");
13
+ const Helper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/Helper"));
13
14
  class ChartingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
14
15
  constructor(api) {
15
16
  super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
16
17
  }
17
- updateOldConfig() {
18
- const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
19
- const chartDefinitionsToUpdate = allChartDefinitions
20
- .filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
21
- .map((charDefinition) => {
22
- const newChartDefinition = Object.assign({}, charDefinition);
23
- if ('model' in newChartDefinition) {
24
- newChartDefinition.Model = charDefinition.model;
25
- delete newChartDefinition.model;
26
- }
27
- if (!('Name' in newChartDefinition)) {
28
- // default to chartId
29
- // @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
30
- newChartDefinition.Name = newChartDefinition.Model.chartId;
31
- }
32
- return newChartDefinition;
33
- });
34
- if (chartDefinitionsToUpdate.length > 0) {
35
- chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
36
- }
37
- }
38
18
  isModuleAvailable() {
39
19
  const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
40
- const externalChartsAvailable = this.api.optionsApi.getChartingOptions().externalChartingOptions;
20
+ const externalChartsAvailable = Helper_1.default.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
41
21
  return Boolean(agChartsAvailable || externalChartsAvailable);
42
22
  }
43
23
  getModuleAdaptableObjects() {
@@ -12,10 +12,9 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
12
12
  getModuleAdaptableObjects(): AdaptableObject[];
13
13
  getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
14
14
  hasNamedQueryReferences(): boolean;
15
- updateOldConfig(): void;
16
- handleAdaptableReady(): void;
17
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
15
+ onAdaptableReady(): void;
18
16
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
17
+ addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
18
  private getExistingColumnFilter;
20
19
  getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
21
20
  toViewCompact(filter: ColumnFilter): AdaptableObjectCompactView;
@@ -32,70 +32,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
32
32
  hasNamedQueryReferences() {
33
33
  return false;
34
34
  }
35
- updateOldConfig() {
36
- // Note: have updated Dashboard and Status bar but NOT Tool Panels
37
- // Update Module Buttons
38
- let updateModuleButtons = false;
39
- let moduleButtons = this.api.dashboardApi.getModuleButtons();
40
- if (!moduleButtons.includes('ColumnFilter')) {
41
- moduleButtons = moduleButtons.map((moduleButton) => {
42
- if (moduleButton == 'Filter') {
43
- updateModuleButtons = true;
44
- return 'ColumnFilter';
45
- }
46
- return moduleButton;
47
- });
48
- }
49
- if (updateModuleButtons) {
50
- this.api.dashboardApi.setModuleButtons(moduleButtons);
51
- }
52
- // Update Toolbars
53
- let updateTabs = false;
54
- const tabs = this.api.dashboardApi.getTabs().map((tab) => {
55
- if (tab.Toolbars.includes('Filter') && !tab.Toolbars.includes('ColumnFilter')) {
56
- updateTabs = true;
57
- return Object.assign(Object.assign({}, tab), {
58
- // replace with 'GridFilter'
59
- Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
60
- }
61
- return tab;
62
- });
63
- if (updateTabs) {
64
- this.api.dashboardApi.setTabs(tabs);
65
- }
66
- // - move pinned toolbars
67
- let updatePinnedToolbars = false;
68
- let pinnedToolbars = this.api.dashboardApi.getPinnedToolbars();
69
- if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
70
- pinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
71
- if (pinnedToolbar == 'Filter') {
72
- updatePinnedToolbars = true;
73
- return 'ColumnFilter';
74
- }
75
- return pinnedToolbar;
76
- });
77
- }
78
- if (updatePinnedToolbars) {
79
- this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
80
- }
81
- // Update Status Bar
82
- let updateStatusBars = false;
83
- const statusBars = this.api.statusBarApi
84
- .getAdaptableStatusBars()
85
- .map((panel) => {
86
- return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
87
- if (panel === 'Filter') {
88
- updateStatusBars = true;
89
- return 'ColumnFilter';
90
- }
91
- return panel;
92
- }) });
93
- });
94
- if (updateStatusBars) {
95
- this.api.statusBarApi.setStatusBarPanels(statusBars);
96
- }
97
- }
98
- handleAdaptableReady() {
35
+ onAdaptableReady() {
99
36
  if (this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.showQuickFilter == false) {
100
37
  this.api.columnFilterApi.hideQuickFilterBar();
101
38
  }
@@ -106,6 +43,43 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
106
43
  }
107
44
  });
108
45
  }
46
+ addColumnMenuItems(column) {
47
+ let filterSubMenuItems = [];
48
+ if (column &&
49
+ column.filterable &&
50
+ this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
51
+ if (this.api.gridApi.isQuickFilterAvailable()) {
52
+ const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
53
+ if (this.isModuleEditable() &&
54
+ this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
55
+ filterSubMenuItems.push(this.createMenuItemReduxAction(isFilterVisible ? 'column-filter-bar-hide' : 'column-filter-bar-show', isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
56
+ ? SystemRedux.SystemQuickFilterBarHide()
57
+ : SystemRedux.SystemQuickFilterBarShow()));
58
+ }
59
+ }
60
+ const existingColumnFilter = this.getExistingColumnFilter(column);
61
+ if (existingColumnFilter) {
62
+ filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
63
+ filterSubMenuItems.push(this.createMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'column-filter-unsuspend' : 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
64
+ ? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
65
+ : LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
66
+ }
67
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(filterSubMenuItems)) {
68
+ return [
69
+ {
70
+ name: 'parent',
71
+ label: this.moduleInfo.FriendlyName,
72
+ isVisible: true,
73
+ module: this.moduleInfo.ModuleName,
74
+ icon: {
75
+ name: this.moduleInfo.Glyph,
76
+ },
77
+ subItems: filterSubMenuItems,
78
+ },
79
+ ];
80
+ }
81
+ }
82
+ }
109
83
  addContextMenuItems(menuContext) {
110
84
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
111
85
  if (menuContext.adaptableColumn &&
@@ -124,13 +98,15 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
124
98
  this.api.columnFilterApi.internalApi.createEqualityColumnFilterForCell(menuContext.selectedCellInfo.gridCells[0]);
125
99
  };
126
100
  return [
127
- this.createColumnMenuItemClickFunction(isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction),
101
+ this.createMenuItemClickFunction('column-filter-on-cell-value', isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction),
128
102
  ];
129
103
  }
130
104
  else {
131
105
  let filterSubMenuItems = [];
132
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
133
- filterSubMenuItems.push(this.createColumnMenuItemClickFunction(existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
106
+ filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
107
+ filterSubMenuItems.push(this.createMenuItemClickFunction(existingColumnFilter.IsSuspended
108
+ ? 'column-filter-unsuspend'
109
+ : 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
134
110
  ? () => {
135
111
  this.api.columnFilterApi.unSuspendColumnFilter(existingColumnFilter);
136
112
  }
@@ -139,6 +115,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
139
115
  }));
140
116
  return [
141
117
  {
118
+ name: 'parent',
142
119
  label: this.moduleInfo.FriendlyName,
143
120
  isVisible: true,
144
121
  module: this.moduleInfo.ModuleName,
@@ -152,42 +129,6 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
152
129
  }
153
130
  }
154
131
  }
155
- addColumnMenuItems(column) {
156
- let filterSubMenuItems = [];
157
- if (column &&
158
- column.filterable &&
159
- this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
160
- if (this.api.gridApi.isQuickFilterAvailable()) {
161
- const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
162
- if (this.isModuleEditable() &&
163
- this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
164
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction(isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
165
- ? SystemRedux.SystemQuickFilterBarHide()
166
- : SystemRedux.SystemQuickFilterBarShow()));
167
- }
168
- }
169
- const existingColumnFilter = this.getExistingColumnFilter(column);
170
- if (existingColumnFilter) {
171
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
172
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
173
- ? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
174
- : LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
175
- }
176
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(filterSubMenuItems)) {
177
- return [
178
- {
179
- label: this.moduleInfo.FriendlyName,
180
- isVisible: true,
181
- module: this.moduleInfo.ModuleName,
182
- icon: {
183
- name: this.moduleInfo.Glyph,
184
- },
185
- subItems: filterSubMenuItems,
186
- },
187
- ];
188
- }
189
- }
190
- }
191
132
  getExistingColumnFilter(column) {
192
133
  return this.api.columnFilterApi.getColumnFilters().find((x) => x.ColumnId == column.columnId);
193
134
  }
@@ -19,6 +19,7 @@ class ColumnInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
19
19
  };
20
20
  return [
21
21
  this.createMainMenuItemShowPopup({
22
+ Name: 'column-info-show',
22
23
  Label: 'Column Info',
23
24
  ComponentName: this.moduleInfo.Popup,
24
25
  Icon: this.moduleInfo.Glyph,
@@ -35,6 +36,7 @@ class ColumnInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
35
36
  };
36
37
  return [
37
38
  this.createMainMenuItemShowPopup({
39
+ Name: 'column-info-show',
38
40
  Label: 'Column Info',
39
41
  ComponentName: this.moduleInfo.Popup,
40
42
  Icon: this.moduleInfo.Glyph,
@@ -2,13 +2,10 @@ import { AdaptableApi } from '../Api/AdaptableApi';
2
2
  import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
3
  import { AdaptableModuleBase } from './AdaptableModuleBase';
4
4
  import { IModule } from './Interface/IModule';
5
- /**
6
- * In the first iteration a cell can have only one note, the
7
- * notes is a list to allow further development.
8
- */
9
- export declare class CommentsModule extends AdaptableModuleBase implements IModule {
5
+ export declare class CommentModule extends AdaptableModuleBase implements IModule {
10
6
  private adaptable;
11
7
  constructor(api: AdaptableApi);
8
+ onAdaptableReady(): void;
12
9
  isModuleAvailable(): boolean;
13
10
  private loadComments;
14
11
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
@@ -1,32 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommentsModule = void 0;
3
+ exports.CommentModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
6
6
  const ObjectFactory_1 = require("../Utilities/ObjectFactory");
7
7
  const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
8
- /**
9
- * In the first iteration a cell can have only one note, the
10
- * notes is a list to allow further development.
11
- */
12
- class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
+ class CommentModule extends AdaptableModuleBase_1.AdaptableModuleBase {
13
9
  constructor(api) {
14
- super(ModuleConstants.CommentsModuleId, ModuleConstants.CommentsFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
15
- this.adaptable = api.internalApi.getAdaptableInstance();
16
- this.adaptable.api.eventApi.on('AdaptableReady', () => this.handleAdaptableReady());
10
+ super(ModuleConstants.CommentModuleId, ModuleConstants.CommentFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
11
+ }
12
+ onAdaptableReady() {
17
13
  this.loadComments();
18
14
  }
19
15
  isModuleAvailable() {
20
- const options = this.adaptable.api.optionsApi.getCommentsOptions();
16
+ const options = this.api.optionsApi.getCommentOptions();
21
17
  if (!options || !options.persistCommentThreads || !options.loadCommentThreads) {
22
18
  return false;
23
19
  }
20
+ if (this.api.optionsApi.getAutogeneratePrimaryKey()) {
21
+ return false;
22
+ }
24
23
  return super.isModuleAvailable();
25
24
  }
26
25
  async loadComments() {
27
26
  var _a, _b;
28
27
  const commentThreads = await ((_b = (_a = this.api.optionsApi
29
- .getCommentsOptions()) === null || _a === void 0 ? void 0 : _a.loadCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, (0, ObjectFactory_1.createBaseContext)(this.adaptable.api)));
28
+ .getCommentOptions()) === null || _a === void 0 ? void 0 : _a.loadCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, (0, ObjectFactory_1.createBaseContext)(this.api)));
30
29
  this.api.commentApi.loadCommentThreads(commentThreads);
31
30
  }
32
31
  addContextMenuItems(menuContext) {
@@ -35,17 +34,9 @@ class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
35
34
  return undefined;
36
35
  }
37
36
  const items = [];
38
- const isCellCommentable = (_b = (_a = this.adaptable.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getCommentsOptions()) === null || _b === void 0 ? void 0 : _b.isCellCommentable;
37
+ const isCellCommentable = (_b = (_a = this.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getCommentOptions()) === null || _b === void 0 ? void 0 : _b.isCellCommentable;
39
38
  if (!isCellCommentable ||
40
- isCellCommentable({
41
- adaptableApi: this.adaptable.api,
42
- address: {
43
- PrimaryKeyValue: menuContext.primaryKeyValue,
44
- ColumnId: menuContext.adaptableColumn.columnId,
45
- },
46
- userName: this.adaptable.api.optionsApi.getUserName(),
47
- adaptableId: this.adaptable.adaptableOptions.adaptableId,
48
- })) {
39
+ isCellCommentable(Object.assign({ gridCell: menuContext.gridCell }, (0, ObjectFactory_1.createBaseContext)(this.api)))) {
49
40
  items.push(...this.getAddRemoveCommentsMenuItems(menuContext));
50
41
  }
51
42
  return items;
@@ -57,14 +48,17 @@ class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
57
48
  PrimaryKeyValue: menuContext.primaryKeyValue,
58
49
  ColumnId: menuContext.adaptableColumn.columnId,
59
50
  };
60
- const comments = this.adaptable.api.commentApi.getComments(cellAddress);
51
+ const comments = this.api.commentApi.getComments(cellAddress);
52
+ if (!this.api.commentApi.internalApi.areCommentsAvailable()) {
53
+ return items;
54
+ }
61
55
  if (comments) {
62
- items.push(this.createColumnMenuItemClickFunction('Remove Comments', this.moduleInfo.Glyph, () => {
56
+ items.push(this.createMenuItemClickFunction('comment-remove', 'Remove Comment', this.moduleInfo.Glyph, () => {
63
57
  this.api.commentApi.deleteCommentThread(cellAddress);
64
58
  }));
65
59
  }
66
60
  else {
67
- items.push(this.createColumnMenuItemClickFunction('Add Comment', this.moduleInfo.Glyph, () => {
61
+ items.push(this.createMenuItemClickFunction('comment-add', 'Add Comment', this.moduleInfo.Glyph, () => {
68
62
  // add an empty one
69
63
  this.api.commentApi.addCommentThread(Object.assign(Object.assign({}, cellAddress), { Comments: [] }));
70
64
  requestAnimationFrame(() => {
@@ -79,4 +73,4 @@ class CommentsModule extends AdaptableModuleBase_1.AdaptableModuleBase {
79
73
  return items;
80
74
  }
81
75
  }
82
- exports.CommentsModule = CommentsModule;
76
+ exports.CommentModule = CommentModule;
@@ -29,7 +29,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
29
29
  .find((x) => x.ColumnId == column.columnId);
30
30
  let label = customSort ? 'Edit ' : 'Create ';
31
31
  // dont show a menu item if there is a custom sort that uses a comparer function
32
- const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column);
32
+ const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column.columnId);
33
33
  if (columnSortComparer) {
34
34
  return undefined;
35
35
  }
@@ -38,8 +38,9 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
38
38
  action: customSort ? 'Edit' : 'New',
39
39
  source: 'ColumnMenu',
40
40
  };
41
+ let name = customSort ? 'custom-sort-edit' : 'custom-sort-add';
41
42
  return [
42
- this.createColumnMenuItemShowPopup(label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
43
+ this.createMenuItemShowPopup(name, label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
43
44
  ];
44
45
  }
45
46
  }
@@ -4,8 +4,7 @@ import { IModule } from './Interface/IModule';
4
4
  import { AdaptableApi } from '../Api/AdaptableApi';
5
5
  export declare class DashboardModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
- updateOldConfig(): void;
8
- handleAdaptableReady(): void;
7
+ onAdaptableReady(): void;
9
8
  addColumnMenuItems(): AdaptableMenuItem[] | undefined;
10
9
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
11
10
  private buildMenuItems;