@adaptabletools/adaptable 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 (368) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  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 +71 -74
  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 +40 -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 +118 -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 +71 -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 +14 -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 +60 -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 +14 -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 +4 -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 +3 -0
  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 +97 -1
  110. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  111. package/src/PredefinedConfig/Common/RowSummary.js +17 -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 +32 -10
  122. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  123. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  124. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  125. package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
  126. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  127. package/src/Redux/Store/AdaptableStore.js +67 -77
  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} +17 -23
  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 +57 -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 +1 -0
  192. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  193. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  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 +429 -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 +4 -0
  203. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  204. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  205. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  206. package/src/Utilities/Helpers/Helper.js +4 -0
  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 -181
  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 +14 -0
  229. package/src/Utilities/license/decode.js +1 -65
  230. package/src/Utilities/license/hashing.js +1 -43
  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 +42 -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 +3 -0
  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 +195 -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 +174 -0
  274. package/src/View/License/LicenseWatermark.js +1 -61
  275. package/src/View/Note/NotePopup.d.ts +2 -0
  276. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
  277. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  278. package/src/View/Theme/ThemeSelector.js +3 -3
  279. package/src/agGrid/ActionColumnRenderer.js +7 -6
  280. package/src/agGrid/Adaptable.d.ts +3 -455
  281. package/src/agGrid/Adaptable.js +8 -5292
  282. package/src/agGrid/AdaptableAgGrid.d.ts +354 -0
  283. package/src/agGrid/AdaptableAgGrid.js +3967 -0
  284. package/src/agGrid/AdaptableLogger.js +77 -11
  285. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  286. package/src/agGrid/AgGridAdapter.js +585 -0
  287. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  288. package/src/agGrid/AgGridColumnAdapter.js +831 -0
  289. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  290. package/src/agGrid/AgGridMenuAdapter.js +277 -0
  291. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  292. package/src/agGrid/AgGridOptionsService.js +76 -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} +71 -17
  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 +0 -54
  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 +1 -14
  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 +4 -3
  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 +4 -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 -9313
  327. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  328. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  329. package/src/migration/VersionUpgrade.d.ts +8 -0
  330. package/src/migration/VersionUpgrade.js +11 -0
  331. package/src/migration/VersionUpgrade17.d.ts +18 -0
  332. package/src/migration/VersionUpgrade17.js +342 -0
  333. package/src/migration/VersionUpgrade18.d.ts +5 -0
  334. package/src/migration/VersionUpgrade18.js +6 -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.esm.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 -39
  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 -4
  348. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  349. package/src/Strategy/NotesModule.js +0 -57
  350. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  351. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  352. package/src/View/Components/ScopeComponent.d.ts +0 -24
  353. package/src/View/Components/ScopeComponent.js +0 -133
  354. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  355. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  356. package/src/View/Notes/NotesPopup.d.ts +0 -2
  357. package/src/agGrid/agGridHelper.d.ts +0 -57
  358. package/src/agGrid/agGridHelper.js +0 -686
  359. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  360. package/src/agGrid/agGridMenuHelper.js +0 -668
  361. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  362. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  363. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  364. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  365. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  366. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  367. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  368. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -15,42 +15,16 @@ import { SHOW_PIVOT_COLUMN_DETAILS } from '../View/Components/Popups/WindowPopup
15
15
  import flattenDeep from 'lodash/flattenDeep';
16
16
  import StringExtensions from '../Utilities/Extensions/StringExtensions';
17
17
  import { getGridFilterViewItems } from '../View/Layout/Wizard/getGridFilterPreview';
18
+ import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
19
+ import { SystemRowSummarySet } from '../Redux/ActionsReducers/SystemRedux';
20
+ import { ROW_SUMMARY_ROW_ID, WEIGHTED_AVERAGE_AGGREATED_FUNCTION, } from '../PredefinedConfig/Common/RowSummary';
21
+ import Helper from '../Utilities/Helpers/Helper';
18
22
  export class LayoutModule extends AdaptableModuleBase {
19
23
  constructor(api) {
20
24
  super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'grid', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
21
- this.clearUnsuportedFeaturesFromLayout = (layout) => {
22
- const layoutSupportedFeatures = this.api.layoutApi.internalApi.getLayoutSupportedFeatures();
23
- let needsUpdate = false;
24
- const layoutToSave = Object.assign({}, layout);
25
- if (!layoutSupportedFeatures.RowGroupedColumns && layout.RowGroupedColumns) {
26
- delete layoutToSave.RowGroupedColumns;
27
- needsUpdate = true;
28
- }
29
- if (!layoutSupportedFeatures.AggregationColumns && layout.AggregationColumns) {
30
- delete layoutToSave.AggregationColumns;
31
- needsUpdate = true;
32
- }
33
- if (!layoutSupportedFeatures.PivotColumns && layout.PivotColumns) {
34
- delete layoutToSave.PivotColumns;
35
- delete layoutToSave.EnablePivot;
36
- needsUpdate = true;
37
- }
38
- if (!layoutSupportedFeatures.ColumnFilters && layout.ColumnFilters) {
39
- delete layoutToSave.ColumnFilters;
40
- needsUpdate = true;
41
- }
42
- if (!layoutSupportedFeatures.GridFilter && layout.GridFilter) {
43
- delete layoutToSave.GridFilter;
44
- needsUpdate = true;
45
- }
46
- if (!layoutSupportedFeatures.ColumnSorts && layout.ColumnSorts) {
47
- delete layoutToSave.ColumnSorts;
48
- needsUpdate = true;
49
- }
50
- if (needsUpdate) {
51
- this.api.layoutApi.createOrUpdateLayout(layoutToSave);
52
- }
53
- };
25
+ this.cachedCellSummary = new Map();
26
+ }
27
+ onAdaptableReady() {
54
28
  this.api.eventApi.on('LayoutChanged', (layoutChangedInfo) => {
55
29
  var _a;
56
30
  if (layoutChangedInfo.newLayoutState.CurrentLayout !==
@@ -59,17 +33,48 @@ export class LayoutModule extends AdaptableModuleBase {
59
33
  this.handleLayoutChange();
60
34
  }
61
35
  });
36
+ requestAnimationFrame(() => {
37
+ this.api.layoutApi.internalApi.fireLayoutChangedEvent('ADAPTABLE_READY', null, this.api.layoutApi.getLayoutState());
38
+ });
39
+ this.rowSummariesSubscribtions();
62
40
  }
63
- updateOldConfig() {
64
- /**
65
- * Viewport mode does not support a few
66
- * features instead of complicating the
67
- * logic where layout is applied, it is easier and
68
- * less error prone to just remove it.
69
- */
70
- if (this.api.gridApi.getAgGridRowModelType() === 'viewport') {
71
- this.api.layoutApi.getLayouts().forEach(this.clearUnsuportedFeaturesFromLayout);
41
+ rowSummariesSubscribtions() {
42
+ if (this.api.isDestroyed()) {
43
+ return;
72
44
  }
45
+ // ROW SUMMARY
46
+ this.evaluateRowSummary();
47
+ this.api.eventApi.on('AdaptableStateReloaded', () => {
48
+ this.evaluateRowSummary();
49
+ });
50
+ this.api.eventApi.on('GridDataChanged', (event) => {
51
+ this.evaluateRowSummary();
52
+ });
53
+ this.api.eventApi.on('CellChanged', (event) => {
54
+ const columnId = event.cellChange.column.columnId;
55
+ this.evaluateRowSummary({
56
+ columnId,
57
+ });
58
+ });
59
+ this.api.eventApi.on('LayoutChanged', (event) => {
60
+ // exclude filter events, those are handled in another event
61
+ if (event.actionName.includes('FILTER')) {
62
+ return;
63
+ }
64
+ setTimeout(() => {
65
+ // the timeout is added so the grid has time to repond to the layout changed
66
+ this.evaluateRowSummary();
67
+ }, 16);
68
+ });
69
+ const adaptable = this.api.internalApi.getAdaptableInstance();
70
+ adaptable._on('AdapTableFiltersApplied', () => {
71
+ // we need to use this instead of layout changed
72
+ // so the rows have time to update
73
+ this.evaluateRowSummary();
74
+ });
75
+ adaptable._on('FirstDataRendered', () => {
76
+ this.evaluateRowSummary();
77
+ });
73
78
  }
74
79
  getModuleAdaptableObjects() {
75
80
  return this.api.layoutApi.getLayouts();
@@ -137,18 +142,13 @@ export class LayoutModule extends AdaptableModuleBase {
137
142
  hasNamedQueryReferences() {
138
143
  return true;
139
144
  }
140
- handleAdaptableReady() {
141
- requestAnimationFrame(() => {
142
- this.api.layoutApi.internalApi.fireLayoutChangedEvent('ADAPTABLE_READY', null, this.api.layoutApi.getLayoutState());
143
- });
144
- }
145
145
  addColumnMenuItems(column) {
146
146
  var _a, _b;
147
147
  let returnColumnMenuItems = [];
148
148
  if (this.isModuleEditable()) {
149
149
  const isReadOnlyLayout = this.api.layoutApi.isCurrentLayoutReadOnly();
150
150
  if (!isReadOnlyLayout) {
151
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup('Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
151
+ returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
152
152
  action: 'Edit',
153
153
  source: 'ColumnMenu',
154
154
  value: this.api.layoutApi.getCurrentLayout(),
@@ -156,10 +156,10 @@ export class LayoutModule extends AdaptableModuleBase {
156
156
  }
157
157
  if (column) {
158
158
  if (!isReadOnlyLayout) {
159
- returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
159
+ returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-caption-change', 'Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
160
160
  }
161
161
  if (column.hideable) {
162
- returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Hide Column', 'visibility-off-bold', () => {
162
+ returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-hide', 'Hide Column', 'visibility-off-bold', () => {
163
163
  this.api.columnApi.hideColumn(column.columnId);
164
164
  }));
165
165
  }
@@ -168,23 +168,24 @@ export class LayoutModule extends AdaptableModuleBase {
168
168
  if (column) {
169
169
  const hasExistingSelection = (_b = (_a = this.api.gridApi.getSelectedCellInfo()) === null || _a === void 0 ? void 0 : _a.gridCells) === null || _b === void 0 ? void 0 : _b.length;
170
170
  if (hasExistingSelection) {
171
- selectMenuItems.push(this.createColumnMenuItemClickFunction('Column (Preserve Selection)', 'column-add', () => {
171
+ selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-preserve', 'Column (Preserve Selection)', 'column-add', () => {
172
172
  this.api.columnApi.addColumnToSelection(column.columnId);
173
173
  }));
174
- selectMenuItems.push(this.createColumnMenuItemClickFunction('Column (Reset Selection)', 'columns', () => {
174
+ selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-reset', 'Column (Reset Selection)', 'columns', () => {
175
175
  this.api.columnApi.selectColumn(column.columnId);
176
176
  }));
177
177
  }
178
178
  else {
179
- selectMenuItems.push(this.createColumnMenuItemClickFunction('Column', 'columns', () => {
179
+ selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select', 'Column', 'columns', () => {
180
180
  this.api.columnApi.selectColumn(column.columnId);
181
181
  }));
182
182
  }
183
183
  }
184
- selectMenuItems.push(this.createColumnMenuItemClickFunction('Whole Grid', this.moduleInfo.Glyph, () => {
184
+ selectMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Whole Grid', this.moduleInfo.Glyph, () => {
185
185
  this.api.gridApi.selectAll();
186
186
  }));
187
187
  returnColumnMenuItems.push({
188
+ name: 'layout-select-parent',
188
189
  label: 'Select',
189
190
  isVisible: true,
190
191
  module: this.moduleInfo.ModuleName,
@@ -199,7 +200,7 @@ export class LayoutModule extends AdaptableModuleBase {
199
200
  addContextMenuItems(menuContext) {
200
201
  let returnColumnMenuItems = [];
201
202
  if (this.isModuleEditable() && !this.api.layoutApi.isCurrentLayoutReadOnly()) {
202
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup('Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
203
+ returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
203
204
  action: 'Edit',
204
205
  source: 'ColumnMenu',
205
206
  }));
@@ -211,18 +212,19 @@ export class LayoutModule extends AdaptableModuleBase {
211
212
  let clickFunction = () => {
212
213
  this.api.gridApi.deselectAll();
213
214
  };
214
- returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Clear Selected Cells', 'undo', clickFunction));
215
+ returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-clear-selection', 'Clear Selected Cells', 'undo', clickFunction));
215
216
  if (this.isModuleAvailable()) {
216
217
  let gridMenuItems = [];
217
218
  let autoSizeFunction = () => {
218
219
  this.api.columnApi.autosizeAllColumns();
219
220
  };
220
- gridMenuItems.push(this.createColumnMenuItemClickFunction('Auto Size', 'arrow-expand', autoSizeFunction));
221
+ gridMenuItems.push(this.createMenuItemClickFunction('layout-auto-size', 'Auto Size', 'arrow-expand', autoSizeFunction));
221
222
  let clickFunction = () => {
222
223
  this.api.gridApi.selectAll();
223
224
  };
224
- gridMenuItems.push(this.createColumnMenuItemClickFunction('Select', 'tab-unselected', clickFunction));
225
+ gridMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Select', 'tab-unselected', clickFunction));
225
226
  returnColumnMenuItems.push({
227
+ name: 'layout-grid-parent',
226
228
  label: 'Grid',
227
229
  module: this.moduleInfo.ModuleName,
228
230
  isVisible: true,
@@ -239,7 +241,7 @@ export class LayoutModule extends AdaptableModuleBase {
239
241
  }
240
242
  createViewPivotItemsMenuItem(menuContext) {
241
243
  // current group => menuContext.rowNode.field;
242
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
244
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
243
245
  const selectedCellInfo = (_a = menuContext.selectedCellInfo) !== null && _a !== void 0 ? _a : this.api.gridApi.getSelectedCellInfo();
244
246
  if (((_b = selectedCellInfo === null || selectedCellInfo === void 0 ? void 0 : selectedCellInfo.gridCells) === null || _b === void 0 ? void 0 : _b.length) !== 1) {
245
247
  return;
@@ -280,7 +282,9 @@ export class LayoutModule extends AdaptableModuleBase {
280
282
  }
281
283
  const data = flattenDeep(getData(menuContext.rowNode.childrenAfterFilter));
282
284
  const rowGroups = currentLayout.RowGroupedColumns;
283
- const cellValue = isPivotColumn ? menuContext.rowNode.aggData[columnId] : gridCell.displayValue;
285
+ const cellValue = isPivotColumn
286
+ ? (_o = (_m = menuContext.rowNode) === null || _m === void 0 ? void 0 : _m.aggData) === null || _o === void 0 ? void 0 : _o[columnId]
287
+ : gridCell.displayValue;
284
288
  const popupProps = {
285
289
  hasPivotValue: isPivotColumn,
286
290
  columnId,
@@ -292,6 +296,7 @@ export class LayoutModule extends AdaptableModuleBase {
292
296
  pivotColumnId,
293
297
  };
294
298
  return {
299
+ name: 'layout-aggregated-view',
295
300
  module: this.moduleInfo.ModuleName,
296
301
  isVisible: true,
297
302
  label: 'Expand Aggregated Value',
@@ -321,7 +326,7 @@ export class LayoutModule extends AdaptableModuleBase {
321
326
  return this.getModuleAdaptableObjects().map((layout) => this.toView(layout));
322
327
  }
323
328
  toView(layout) {
324
- var _a, _b, _c, _d, _e, _f;
329
+ var _a, _b, _c, _d, _e, _f, _g;
325
330
  const maxColumnsToDisplay = (_b = (_a = this.api.optionsApi.getLayoutOptions().layoutViewOptions) === null || _a === void 0 ? void 0 : _a.maxColumnsToDisplay) !== null && _b !== void 0 ? _b : 10;
326
331
  const columnIdToFriendlyName = (columnId) => {
327
332
  return this.api.columnApi.getFriendlyNameForColumnId(columnId);
@@ -390,6 +395,22 @@ export class LayoutModule extends AdaptableModuleBase {
390
395
  (layout === null || layout === void 0 ? void 0 : layout.GridFilter) &&
391
396
  StringExtensions.IsNotNullOrEmpty(layout.GridFilter.Expression) &&
392
397
  getGridFilterViewItems(layout),
398
+ ((_g = layout === null || layout === void 0 ? void 0 : layout.RowSummaries) === null || _g === void 0 ? void 0 : _g.length) && {
399
+ name: 'Row Summaries',
400
+ values: layout === null || layout === void 0 ? void 0 : layout.RowSummaries.map((rowSummary) => {
401
+ var _a;
402
+ const columns = Object.entries((_a = rowSummary.ColumnsMap) !== null && _a !== void 0 ? _a : {})
403
+ .map(([columnId, expression]) => {
404
+ if (columnId === 'Source' || columnId === 'Uuid') {
405
+ return '';
406
+ }
407
+ return `${expression}(${columnIdToFriendlyName(columnId)})`;
408
+ })
409
+ .filter(Boolean)
410
+ .join(', ');
411
+ return `${rowSummary.Position}: ${columns}`;
412
+ }),
413
+ },
393
414
  ].filter(Boolean),
394
415
  abObject: layout,
395
416
  };
@@ -435,7 +456,7 @@ export class LayoutModule extends AdaptableModuleBase {
435
456
  .setUpScheduleJobs();
436
457
  // CustomSort, FlashingCell, FormatColumn
437
458
  // we need to refresh the column defs, as some configs may have changed
438
- this.api.internalApi.getAdaptableInstance().setupColumns();
459
+ this.api.internalApi.getAdaptableInstance().updateColumnModelAndRefreshGrid();
439
460
  }
440
461
  getReferencedNamedQueryNames(layout) {
441
462
  var _a;
@@ -444,4 +465,69 @@ export class LayoutModule extends AdaptableModuleBase {
444
465
  }
445
466
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(layout.GridFilter.Expression);
446
467
  }
468
+ /**
469
+ *
470
+ * @param colId optional to evaluate only one column
471
+ */
472
+ evaluateRowSummary(reason) {
473
+ var _a;
474
+ if (this.api.isDestroyed()) {
475
+ return;
476
+ }
477
+ const currentLayout = this.api.layoutApi.getCurrentLayout();
478
+ const rowSummaries = (_a = this.api.layoutApi.getCurrentLayout().RowSummaries) !== null && _a !== void 0 ? _a : [];
479
+ const rowSummariesResults = rowSummaries.map(({ ColumnsMap, Position }) => {
480
+ return {
481
+ Position,
482
+ RowData: Object.entries(ColumnsMap !== null && ColumnsMap !== void 0 ? ColumnsMap : {}).reduce((acc, [columnId, expression]) => {
483
+ const key = `${columnId}-${expression}`;
484
+ let expressionLiveValue = this.cachedCellSummary.get(key);
485
+ if (expressionLiveValue) {
486
+ if (!reason) {
487
+ // refresh all of them
488
+ expressionLiveValue.refresh();
489
+ }
490
+ else if ('columnId' in reason && reason.columnId === columnId) {
491
+ expressionLiveValue.refresh();
492
+ }
493
+ }
494
+ if (!expressionLiveValue) {
495
+ try {
496
+ let aggregatedScalarExpression = `${expression}([${columnId}])`;
497
+ if (aggregatedScalarExpression.includes(WEIGHTED_AVERAGE_AGGREATED_FUNCTION) &&
498
+ currentLayout.AggregationColumns[columnId] &&
499
+ typeof currentLayout.AggregationColumns[columnId] === 'object') {
500
+ const weight = currentLayout.AggregationColumns[columnId]
501
+ .weightedColumnId;
502
+ if (weight) {
503
+ aggregatedScalarExpression = `AVG([${columnId}], WEIGHT([${weight}]))`;
504
+ }
505
+ }
506
+ expressionLiveValue = new AggregatedScalarLiveValue({
507
+ aggregatedScalarExpression,
508
+ }, ModuleConstants.LayoutModuleId, this.api, () => {
509
+ return this.api.gridApi.getVisibleRowNodes();
510
+ });
511
+ }
512
+ catch (e) {
513
+ this.api.logError('Error evaluating row summary', e);
514
+ }
515
+ this.cachedCellSummary.set(key, expressionLiveValue);
516
+ }
517
+ let value = null;
518
+ if (expressionLiveValue) {
519
+ value = expressionLiveValue.getGlobalAggregatedValue();
520
+ if (typeof value === 'number' && !isNaN(value)) {
521
+ value = Helper.roundNumber(value, 2);
522
+ }
523
+ }
524
+ acc[columnId] = value;
525
+ return acc;
526
+ }, {
527
+ [ROW_SUMMARY_ROW_ID]: true,
528
+ }),
529
+ };
530
+ });
531
+ this.api.internalApi.dispatchReduxAction(SystemRowSummarySet(rowSummariesResults));
532
+ }
447
533
  }
@@ -8,7 +8,6 @@ import { IModule } from './Interface/IModule';
8
8
  export declare class NamedQueryModule extends AdaptableModuleBase implements IModule {
9
9
  constructor(api: AdaptableApi);
10
10
  getModuleAdaptableObjects(): AdaptableObject[];
11
- updateOldConfig(): void;
12
11
  getTeamSharingAction(): TeamSharingImportInfo<NamedQuery>;
13
12
  getExplicitlyReferencedColumnIds(namedQuery: NamedQuery): string[];
14
13
  getReferencedNamedQueryNames(namedQuery: NamedQuery): string[];
@@ -1,6 +1,5 @@
1
1
  import * as NamedQueryRedux from '../Redux/ActionsReducers/NamedQueryRedux';
2
2
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
3
- import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
4
3
  import { EditGridFilterButton } from '../View/NamedQuery/EditCurrentQueryButton';
5
4
  import { NamedQueryWizard } from '../View/NamedQuery/Wizard/NamedQueryWizard';
6
5
  import { AdaptableModuleBase } from './AdaptableModuleBase';
@@ -12,24 +11,6 @@ export class NamedQueryModule extends AdaptableModuleBase {
12
11
  getModuleAdaptableObjects() {
13
12
  return this.api.namedQueryApi.getNamedQueries();
14
13
  }
15
- updateOldConfig() {
16
- // - move named queries from old Query State to this Module
17
- // Note: GridFilter Module moves the "old" CurrentQuery into Layout
18
- const oldQueryState = this.api.internalApi.getAdaptableState().Query;
19
- const oldNamedQueries = oldQueryState.NamedQueries;
20
- if (ArrayExtensions.IsNotNullOrEmpty(oldNamedQueries)) {
21
- const currentNamedQueries = this.api.namedQueryApi.getNamedQueries();
22
- oldNamedQueries.forEach((oldNamedQuery) => {
23
- const currentQuery = currentNamedQueries.find((q) => q.Name === oldNamedQuery.Name);
24
- if (!currentQuery) {
25
- this.api.namedQueryApi.addNamedQuery(oldNamedQuery);
26
- }
27
- });
28
- }
29
- if (oldQueryState) {
30
- this.api.namedQueryApi.internalApi.cleanupQueryRedux();
31
- }
32
- }
33
14
  getTeamSharingAction() {
34
15
  return {
35
16
  ModuleEntities: this.api.namedQueryApi.getNamedQueries(),
@@ -2,9 +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
- export declare class NotesModule extends AdaptableModuleBase implements IModule {
5
+ export declare class NoteModule extends AdaptableModuleBase implements IModule {
6
6
  private adaptable;
7
7
  constructor(api: AdaptableApi);
8
+ isModuleAvailable(): boolean;
8
9
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
9
10
  private getAddRemoveNoteMenuItems;
10
11
  }
@@ -0,0 +1,57 @@
1
+ import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
2
+ import { createBaseContext } from '../Utilities/ObjectFactory';
3
+ import { AdaptableModuleBase } from './AdaptableModuleBase';
4
+ export class NoteModule extends AdaptableModuleBase {
5
+ constructor(api) {
6
+ super(ModuleConstants.NoteModuleId, ModuleConstants.NoteFriendlyName, 'note', 'NotePopup', 'Notes', api);
7
+ this.adaptable = api.internalApi.getAdaptableInstance();
8
+ }
9
+ isModuleAvailable() {
10
+ // Note module doesn't support autogenerated primary keys
11
+ return super.isModuleAvailable() && !this.api.optionsApi.getAutogeneratePrimaryKey();
12
+ }
13
+ addContextMenuItems(menuContext) {
14
+ var _a, _b;
15
+ if (!this.isModuleAvailable()) {
16
+ return undefined;
17
+ }
18
+ const isReadOnly = this.adaptable.api.entitlementApi.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName) === 'ReadOnly';
19
+ if (isReadOnly) {
20
+ return undefined;
21
+ }
22
+ const items = [];
23
+ const isCellNotable = (_b = (_a = this.adaptable.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getNoteOptions()) === null || _b === void 0 ? void 0 : _b.isCellNotable;
24
+ if (!isCellNotable ||
25
+ isCellNotable(Object.assign({ gridCell: menuContext.gridCell }, createBaseContext(this.api))))
26
+ items.push(...this.getAddRemoveNoteMenuItems(menuContext));
27
+ return items;
28
+ }
29
+ getAddRemoveNoteMenuItems(menuContext) {
30
+ var _a;
31
+ const items = [];
32
+ if (!this.api.noteApi.internalApi.areNotesAvailable()) {
33
+ return items;
34
+ }
35
+ // does not have note
36
+ const [note] = (_a = this.adaptable.api.noteApi.getNotesForCell({
37
+ PrimaryKeyValue: menuContext.primaryKeyValue,
38
+ ColumnId: menuContext.adaptableColumn.columnId,
39
+ })) !== null && _a !== void 0 ? _a : [];
40
+ if (note) {
41
+ items.push(this.createMenuItemClickFunction('note-remove', 'Remove Note', this.moduleInfo.Glyph, () => {
42
+ this.api.noteApi.deleteNote(note);
43
+ }));
44
+ }
45
+ else {
46
+ items.push(this.createMenuItemClickFunction('note-add', 'Add Note', this.moduleInfo.Glyph, () => {
47
+ // add an empty one
48
+ this.api.noteApi.addNote('', menuContext.primaryKeyValue, menuContext.adaptableColumn.columnId);
49
+ this.api.internalApi.getCellPopupService().showPopup({
50
+ PrimaryKeyValue: menuContext.primaryKeyValue,
51
+ ColumnId: menuContext.adaptableColumn.columnId,
52
+ }, true);
53
+ }));
54
+ }
55
+ return items;
56
+ }
57
+ }
@@ -17,7 +17,7 @@ export declare class PlusMinusModule extends AdaptableModuleBase implements IPlu
17
17
  }): AdaptableObject[];
18
18
  getExplicitlyReferencedColumnIds(plusMinusNudge: PlusMinusNudge): string[];
19
19
  getReferencedNamedQueryNames(plusMinusNudge: PlusMinusNudge): string[];
20
- handleAdaptableReady(): void;
20
+ onAdaptableReady(): void;
21
21
  checkListenToKeyDown(): void;
22
22
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
23
23
  private handleKeyDown;
@@ -33,7 +33,7 @@ export class PlusMinusModule extends AdaptableModuleBase {
33
33
  }
34
34
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames((_b = plusMinusNudge.Rule) === null || _b === void 0 ? void 0 : _b.BooleanExpression);
35
35
  }
36
- handleAdaptableReady() {
36
+ onAdaptableReady() {
37
37
  let plusMinusNudges = this.api.plusMinusApi.getAllPlusMinus();
38
38
  this.shouldHandleKeyDown = ArrayExtensions.IsNotNullOrEmpty(plusMinusNudges);
39
39
  if (this.shouldHandleKeyDown) {
@@ -60,7 +60,7 @@ export class PlusMinusModule extends AdaptableModuleBase {
60
60
  source: 'ColumnMenu',
61
61
  };
62
62
  return [
63
- this.createColumnMenuItemShowPopup('Create Plus/Minus Rule', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
63
+ this.createMenuItemShowPopup('plus-minus-add', 'Create Plus/Minus Rule', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
64
64
  ];
65
65
  }
66
66
  }
@@ -6,7 +6,7 @@ import { IScheduleModule } from './Interface/IScheduleModule';
6
6
  export declare class ScheduleModule extends AdaptableModuleBase implements IScheduleModule {
7
7
  private scheduleJobs;
8
8
  constructor(api: AdaptableApi);
9
- handleAdaptableReady(): void;
9
+ onAdaptableReady(): void;
10
10
  setUpScheduleJobs(): void;
11
11
  private addSchedule;
12
12
  private addMidnightRefreshSchedule;
@@ -36,7 +36,7 @@ export class ScheduleModule extends AdaptableModuleBase {
36
36
  this.scheduleJobs = [];
37
37
  this.addMidnightRefreshSchedule();
38
38
  }
39
- handleAdaptableReady() {
39
+ onAdaptableReady() {
40
40
  this.setUpScheduleJobs();
41
41
  }
42
42
  setUpScheduleJobs() {
@@ -9,17 +9,17 @@ export class SettingsPanelModule extends AdaptableModuleBase {
9
9
  addColumnMenuItems(column) {
10
10
  return [
11
11
  // To do : get the icon and name from settings in case they have changed?
12
- this.createColumnMenuItemReduxAction('Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
12
+ this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
13
13
  ];
14
14
  }
15
15
  addContextMenuItems(menuContext) {
16
16
  return [
17
- this.createColumnMenuItemReduxAction('Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
17
+ this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
18
18
  ];
19
19
  }
20
20
  addModuleMenuItem(source) {
21
21
  if (this.isModuleAvailable()) {
22
- return this.createColumnMenuItemReduxAction('Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen());
22
+ return this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen());
23
23
  }
24
24
  }
25
25
  }
@@ -14,7 +14,7 @@ export declare class ShortcutModule extends AdaptableModuleBase implements IShor
14
14
  }): AdaptableObject[];
15
15
  hasNamedQueryReferences(): boolean;
16
16
  getTeamSharingAction(): TeamSharingImportInfo<Shortcut>;
17
- handleAdaptableReady(): void;
17
+ onAdaptableReady(): void;
18
18
  checkListenToKeyDown(): void;
19
19
  private handleKeyDown;
20
20
  private calculateShortcut;
@@ -27,7 +27,7 @@ export class ShortcutModule extends AdaptableModuleBase {
27
27
  EditAction: ShortcutRedux.ShortcutEdit,
28
28
  };
29
29
  }
30
- handleAdaptableReady() {
30
+ onAdaptableReady() {
31
31
  this.checkListenToKeyDown();
32
32
  this.adaptable._on('CellEditorKeyDown', (cellEditorKeyDownEvent) => {
33
33
  this.handleKeyDown(cellEditorKeyDownEvent);
@@ -27,7 +27,7 @@ export class SmartEditModule extends AdaptableModuleBase {
27
27
  let popUpParams = {
28
28
  source: 'ContextMenu',
29
29
  };
30
- menuItemShowPopup = this.createMainMenuItemShowPopup({
30
+ menuItemShowPopup = this.createMainMenuItemShowPopup({ Name: 'smart-edit-apply',
31
31
  Label: 'Apply Smart Edit',
32
32
  ComponentName: this.moduleInfo.Popup,
33
33
  Icon: this.moduleInfo.Glyph,
@@ -9,7 +9,6 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
9
9
  import { StyledColumn } from '../PredefinedConfig/StyledColumnState';
10
10
  export declare class StyledColumnModule extends AdaptableModuleBase implements IModule {
11
11
  constructor(api: AdaptableApi);
12
- updateOldConfig(): void;
13
12
  getModuleAdaptableObjects(config?: {
14
13
  includeLayoutNotAssociatedObjects?: boolean;
15
14
  }): AdaptableObject[];
@@ -23,4 +22,5 @@ export declare class StyledColumnModule extends AdaptableModuleBase implements I
23
22
  getViewProperties(): AdaptableModuleView;
24
23
  canBeAssociatedWithLayouts(): boolean;
25
24
  private getTypeLabel;
25
+ private getTypeName;
26
26
  }