@adaptabletools/adaptable 18.0.0-canary.2 → 18.0.0-canary.20

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 (366) 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 +58 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +13 -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/UserInterfaceOptions.d.ts +17 -0
  18. package/src/Api/AdaptableApi.d.ts +9 -4
  19. package/src/Api/BulkUpdateApi.d.ts +0 -5
  20. package/src/Api/ColumnApi.d.ts +4 -0
  21. package/src/Api/CommentApi.d.ts +11 -12
  22. package/src/Api/ConfigApi.d.ts +4 -5
  23. package/src/Api/EventApi.d.ts +7 -9
  24. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  25. package/src/Api/Events/CommentChanged.d.ts +11 -0
  26. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  27. package/src/Api/GridApi.d.ts +23 -13
  28. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  29. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  30. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  31. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  32. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  33. package/src/Api/Implementation/ApiBase.js +8 -2
  34. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  35. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  36. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  37. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  38. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  39. package/src/Api/Implementation/ColumnApiImpl.js +10 -0
  40. package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
  41. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  42. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  43. package/src/Api/Implementation/ConfigApiImpl.js +21 -13
  44. package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
  45. package/src/Api/Implementation/GridApiImpl.js +49 -14
  46. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  47. package/src/Api/Implementation/LayoutApiImpl.js +18 -0
  48. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  49. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  50. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  51. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  52. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  53. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  54. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  55. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  56. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  57. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
  58. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
  59. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  60. package/src/Api/Internal/ActionRowInternalApi.js +106 -0
  61. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
  62. package/src/Api/Internal/AdaptableInternalApi.js +21 -19
  63. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  64. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  65. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  66. package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
  67. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  68. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  69. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  70. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  71. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  72. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  73. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  74. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  75. package/src/Api/Internal/ExportInternalApi.js +4 -1
  76. package/src/Api/Internal/Fdc3InternalApi.js +2 -2
  77. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  78. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  79. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  80. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  81. package/src/Api/Internal/GridFilterInternalApi.js +7 -1
  82. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  83. package/src/Api/Internal/GridInternalApi.js +141 -7
  84. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  85. package/src/Api/Internal/LayoutInternalApi.js +16 -0
  86. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  87. package/src/Api/Internal/NoteInternalApi.js +14 -0
  88. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  89. package/src/Api/InteropioPluginApi.d.ts +2 -2
  90. package/src/Api/LayoutApi.d.ts +15 -0
  91. package/src/Api/NoteApi.d.ts +48 -0
  92. package/src/Api/OptionsApi.d.ts +8 -8
  93. package/src/Api/ScopeApi.d.ts +10 -0
  94. package/src/Api/UserInterfaceApi.d.ts +0 -11
  95. package/src/EnvVars.d.ts +3 -0
  96. package/src/EnvVars.js +4 -0
  97. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  98. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  99. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  100. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  101. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  102. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  103. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  104. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  105. package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
  106. package/src/PredefinedConfig/Common/Enums.js +1 -0
  107. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  108. package/src/PredefinedConfig/Common/Menu.js +97 -1
  109. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  110. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  111. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +25 -0
  112. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  113. package/src/PredefinedConfig/Common/Types.js +4 -1
  114. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  115. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  116. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  117. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  118. package/src/PredefinedConfig/SystemState.d.ts +9 -3
  119. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  120. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  121. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  122. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  123. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  124. package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
  125. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  126. package/src/Redux/Store/AdaptableStore.js +67 -77
  127. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  128. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  129. package/src/Strategy/AdaptableModuleBase.js +13 -15
  130. package/src/Strategy/AlertModule.d.ts +1 -2
  131. package/src/Strategy/AlertModule.js +3 -56
  132. package/src/Strategy/BulkUpdateModule.js +1 -1
  133. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  134. package/src/Strategy/CalculatedColumnModule.js +6 -26
  135. package/src/Strategy/CellSummaryModule.d.ts +8 -6
  136. package/src/Strategy/CellSummaryModule.js +78 -23
  137. package/src/Strategy/ChartingModule.d.ts +0 -1
  138. package/src/Strategy/ChartingModule.js +2 -22
  139. package/src/Strategy/ColumnFilterModule.d.ts +2 -3
  140. package/src/Strategy/ColumnFilterModule.js +44 -103
  141. package/src/Strategy/ColumnInfoModule.js +2 -0
  142. package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
  143. package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
  144. package/src/Strategy/CustomSortModule.js +3 -2
  145. package/src/Strategy/DashboardModule.d.ts +1 -2
  146. package/src/Strategy/DashboardModule.js +9 -15
  147. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  148. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  149. package/src/Strategy/DataImportModule.d.ts +1 -1
  150. package/src/Strategy/DataImportModule.js +5 -5
  151. package/src/Strategy/DataSetModule.d.ts +1 -1
  152. package/src/Strategy/DataSetModule.js +1 -1
  153. package/src/Strategy/ExportModule.d.ts +1 -0
  154. package/src/Strategy/ExportModule.js +17 -2
  155. package/src/Strategy/Fdc3Module.js +3 -0
  156. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  157. package/src/Strategy/FlashingCellModule.js +6 -19
  158. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  159. package/src/Strategy/FormatColumnModule.js +6 -51
  160. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  161. package/src/Strategy/FreeTextColumnModule.js +1 -31
  162. package/src/Strategy/GridFilterModule.d.ts +0 -1
  163. package/src/Strategy/GridFilterModule.js +0 -37
  164. package/src/Strategy/GridInfoModule.js +2 -0
  165. package/src/Strategy/Interface/IModule.d.ts +0 -1
  166. package/src/Strategy/LayoutModule.d.ts +9 -3
  167. package/src/Strategy/LayoutModule.js +143 -63
  168. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  169. package/src/Strategy/NamedQueryModule.js +0 -19
  170. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
  171. package/src/Strategy/NoteModule.js +57 -0
  172. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  173. package/src/Strategy/PlusMinusModule.js +2 -2
  174. package/src/Strategy/ScheduleModule.d.ts +1 -1
  175. package/src/Strategy/ScheduleModule.js +1 -1
  176. package/src/Strategy/SettingsPanelModule.js +3 -3
  177. package/src/Strategy/ShortcutModule.d.ts +1 -1
  178. package/src/Strategy/ShortcutModule.js +1 -1
  179. package/src/Strategy/SmartEditModule.js +1 -1
  180. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  181. package/src/Strategy/StyledColumnModule.js +26 -26
  182. package/src/Strategy/SystemStatusModule.js +2 -2
  183. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  184. package/src/Strategy/TeamSharingModule.js +5 -5
  185. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  186. package/src/Strategy/ToolPanelModule.js +0 -23
  187. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  188. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  189. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  190. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  191. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  192. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  193. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  194. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  195. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
  196. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  197. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  198. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  199. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  200. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  201. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  202. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  203. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  204. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  205. package/src/Utilities/Helpers/Helper.js +4 -0
  206. package/src/Utilities/MenuItem.d.ts +7 -4
  207. package/src/Utilities/MenuItem.js +6 -3
  208. package/src/Utilities/ObjectFactory.d.ts +3 -3
  209. package/src/Utilities/ObjectFactory.js +4 -24
  210. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  211. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  212. package/src/Utilities/Services/CellPopupService.js +2 -3
  213. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  214. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  215. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  216. package/src/Utilities/Services/LicenseService/index.js +1 -181
  217. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  218. package/src/Utilities/Services/MetamodelService.js +6 -3
  219. package/src/Utilities/Services/ModuleService.js +4 -0
  220. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  221. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  222. package/src/Utilities/Services/ReportService.d.ts +7 -5
  223. package/src/Utilities/Services/ReportService.js +238 -22
  224. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  225. package/src/Utilities/Services/RowEditService.js +3 -1
  226. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  227. package/src/Utilities/adaptableQlUtils.js +14 -0
  228. package/src/Utilities/license/decode.js +1 -65
  229. package/src/Utilities/license/hashing.js +1 -43
  230. package/src/View/AdaptableView.js +1 -3
  231. package/src/View/AdaptableViewFactory.js +2 -2
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  234. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  235. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  236. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  237. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  238. package/src/View/Comments/CommentsEditor.js +24 -11
  239. package/src/View/Comments/CommentsPopup.js +20 -11
  240. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  241. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  242. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  243. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  244. package/src/View/Components/CellPopup/index.d.ts +1 -0
  245. package/src/View/Components/CellPopup/index.js +5 -2
  246. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  247. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  248. package/src/View/Components/NewScopeComponent.js +34 -1
  249. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  250. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  251. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  252. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  253. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  254. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  255. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  256. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  257. package/src/View/Components/ValueSelector/index.js +2 -2
  258. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  259. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  260. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  261. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  262. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  263. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  264. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  265. package/src/View/Layout/LayoutViewPanel.js +2 -1
  266. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  267. package/src/View/Layout/TransposedPopup.js +195 -0
  268. package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
  269. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  270. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  271. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  272. package/src/View/License/LicenseWatermark.js +1 -61
  273. package/src/View/Note/NotePopup.d.ts +2 -0
  274. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
  275. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  276. package/src/View/Theme/ThemeSelector.js +3 -3
  277. package/src/agGrid/ActionColumnRenderer.js +7 -6
  278. package/src/agGrid/Adaptable.d.ts +3 -455
  279. package/src/agGrid/Adaptable.js +8 -5292
  280. package/src/agGrid/AdaptableAgGrid.d.ts +352 -0
  281. package/src/agGrid/AdaptableAgGrid.js +3963 -0
  282. package/src/agGrid/AdaptableLogger.js +77 -11
  283. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  284. package/src/agGrid/AgGridAdapter.js +585 -0
  285. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  286. package/src/agGrid/AgGridColumnAdapter.js +831 -0
  287. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  288. package/src/agGrid/AgGridMenuAdapter.js +277 -0
  289. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  290. package/src/agGrid/AgGridOptionsService.js +76 -0
  291. package/src/agGrid/BadgeRenderer.js +1 -1
  292. package/src/agGrid/CheckboxRenderer.js +1 -1
  293. package/src/agGrid/FilterWrapper.d.ts +2 -2
  294. package/src/agGrid/FilterWrapper.js +1 -1
  295. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  296. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  297. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
  298. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  299. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  300. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  301. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  302. package/src/agGrid/weightedAverage.d.ts +0 -2
  303. package/src/agGrid/weightedAverage.js +0 -54
  304. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  305. package/src/components/Datepicker/index.d.ts +1 -1
  306. package/src/components/Datepicker/index.js +10 -2
  307. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  308. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  309. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  310. package/src/components/InfiniteTable/index.js +2 -2
  311. package/src/components/Input/index.d.ts +1 -2
  312. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  313. package/src/components/Modal/index.d.ts +1 -0
  314. package/src/components/Modal/index.js +4 -3
  315. package/src/components/Select/Select.d.ts +3 -1
  316. package/src/components/Select/Select.js +4 -2
  317. package/src/components/Textarea/index.d.ts +2 -2
  318. package/src/components/icons/index.js +2 -0
  319. package/src/components/icons/note.js +2 -2
  320. package/src/components/icons/rows.d.ts +3 -0
  321. package/src/components/icons/rows.js +4 -0
  322. package/src/env.js +2 -2
  323. package/src/metamodel/adaptable.metamodel.d.ts +186 -32
  324. package/src/metamodel/adaptable.metamodel.js +1 -9313
  325. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  326. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  327. package/src/migration/VersionUpgrade.d.ts +8 -0
  328. package/src/migration/VersionUpgrade.js +11 -0
  329. package/src/migration/VersionUpgrade17.d.ts +18 -0
  330. package/src/migration/VersionUpgrade17.js +342 -0
  331. package/src/migration/VersionUpgrade18.d.ts +5 -0
  332. package/src/migration/VersionUpgrade18.js +6 -0
  333. package/src/parser/src/parser.js +117 -1257
  334. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  335. package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
  336. package/src/parser/src/types.d.ts +7 -2
  337. package/src/types.d.ts +26 -19
  338. package/tsconfig.esm.tsbuildinfo +1 -1
  339. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  340. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  341. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  342. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  343. package/src/Api/NotesApi.d.ts +0 -48
  344. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  345. package/src/PredefinedConfig/CellAddress.js +0 -4
  346. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  347. package/src/Strategy/NotesModule.js +0 -57
  348. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  349. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  350. package/src/View/Components/ScopeComponent.d.ts +0 -24
  351. package/src/View/Components/ScopeComponent.js +0 -133
  352. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  353. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  354. package/src/View/Notes/NotesPopup.d.ts +0 -2
  355. package/src/agGrid/agGridHelper.d.ts +0 -57
  356. package/src/agGrid/agGridHelper.js +0 -686
  357. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  358. package/src/agGrid/agGridMenuHelper.js +0 -668
  359. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  360. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  361. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  362. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  363. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  364. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  365. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  366. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -28,70 +28,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
28
28
  hasNamedQueryReferences() {
29
29
  return false;
30
30
  }
31
- updateOldConfig() {
32
- // Note: have updated Dashboard and Status bar but NOT Tool Panels
33
- // Update Module Buttons
34
- let updateModuleButtons = false;
35
- let moduleButtons = this.api.dashboardApi.getModuleButtons();
36
- if (!moduleButtons.includes('ColumnFilter')) {
37
- moduleButtons = moduleButtons.map((moduleButton) => {
38
- if (moduleButton == 'Filter') {
39
- updateModuleButtons = true;
40
- return 'ColumnFilter';
41
- }
42
- return moduleButton;
43
- });
44
- }
45
- if (updateModuleButtons) {
46
- this.api.dashboardApi.setModuleButtons(moduleButtons);
47
- }
48
- // Update Toolbars
49
- let updateTabs = false;
50
- const tabs = this.api.dashboardApi.getTabs().map((tab) => {
51
- if (tab.Toolbars.includes('Filter') && !tab.Toolbars.includes('ColumnFilter')) {
52
- updateTabs = true;
53
- return Object.assign(Object.assign({}, tab), {
54
- // replace with 'GridFilter'
55
- Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
56
- }
57
- return tab;
58
- });
59
- if (updateTabs) {
60
- this.api.dashboardApi.setTabs(tabs);
61
- }
62
- // - move pinned toolbars
63
- let updatePinnedToolbars = false;
64
- let pinnedToolbars = this.api.dashboardApi.getPinnedToolbars();
65
- if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
66
- pinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
67
- if (pinnedToolbar == 'Filter') {
68
- updatePinnedToolbars = true;
69
- return 'ColumnFilter';
70
- }
71
- return pinnedToolbar;
72
- });
73
- }
74
- if (updatePinnedToolbars) {
75
- this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
76
- }
77
- // Update Status Bar
78
- let updateStatusBars = false;
79
- const statusBars = this.api.statusBarApi
80
- .getAdaptableStatusBars()
81
- .map((panel) => {
82
- return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
83
- if (panel === 'Filter') {
84
- updateStatusBars = true;
85
- return 'ColumnFilter';
86
- }
87
- return panel;
88
- }) });
89
- });
90
- if (updateStatusBars) {
91
- this.api.statusBarApi.setStatusBarPanels(statusBars);
92
- }
93
- }
94
- handleAdaptableReady() {
31
+ onAdaptableReady() {
95
32
  if (this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.showQuickFilter == false) {
96
33
  this.api.columnFilterApi.hideQuickFilterBar();
97
34
  }
@@ -102,6 +39,43 @@ export class ColumnFilterModule extends AdaptableModuleBase {
102
39
  }
103
40
  });
104
41
  }
42
+ addColumnMenuItems(column) {
43
+ let filterSubMenuItems = [];
44
+ if (column &&
45
+ column.filterable &&
46
+ this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
47
+ if (this.api.gridApi.isQuickFilterAvailable()) {
48
+ const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
49
+ if (this.isModuleEditable() &&
50
+ this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
51
+ filterSubMenuItems.push(this.createMenuItemReduxAction(isFilterVisible ? 'column-filter-bar-hide' : 'column-filter-bar-show', isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
52
+ ? SystemRedux.SystemQuickFilterBarHide()
53
+ : SystemRedux.SystemQuickFilterBarShow()));
54
+ }
55
+ }
56
+ const existingColumnFilter = this.getExistingColumnFilter(column);
57
+ if (existingColumnFilter) {
58
+ filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
59
+ filterSubMenuItems.push(this.createMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'column-filter-unsuspend' : 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
60
+ ? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
61
+ : LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
62
+ }
63
+ if (ArrayExtensions.IsNotNullOrEmpty(filterSubMenuItems)) {
64
+ return [
65
+ {
66
+ name: 'parent',
67
+ label: this.moduleInfo.FriendlyName,
68
+ isVisible: true,
69
+ module: this.moduleInfo.ModuleName,
70
+ icon: {
71
+ name: this.moduleInfo.Glyph,
72
+ },
73
+ subItems: filterSubMenuItems,
74
+ },
75
+ ];
76
+ }
77
+ }
78
+ }
105
79
  addContextMenuItems(menuContext) {
106
80
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
107
81
  if (menuContext.adaptableColumn &&
@@ -120,13 +94,15 @@ export class ColumnFilterModule extends AdaptableModuleBase {
120
94
  this.api.columnFilterApi.internalApi.createEqualityColumnFilterForCell(menuContext.selectedCellInfo.gridCells[0]);
121
95
  };
122
96
  return [
123
- this.createColumnMenuItemClickFunction(isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction),
97
+ this.createMenuItemClickFunction('column-filter-on-cell-value', isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction),
124
98
  ];
125
99
  }
126
100
  else {
127
101
  let filterSubMenuItems = [];
128
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
129
- filterSubMenuItems.push(this.createColumnMenuItemClickFunction(existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
102
+ filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
103
+ filterSubMenuItems.push(this.createMenuItemClickFunction(existingColumnFilter.IsSuspended
104
+ ? 'column-filter-unsuspend'
105
+ : 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
130
106
  ? () => {
131
107
  this.api.columnFilterApi.unSuspendColumnFilter(existingColumnFilter);
132
108
  }
@@ -135,6 +111,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
135
111
  }));
136
112
  return [
137
113
  {
114
+ name: 'parent',
138
115
  label: this.moduleInfo.FriendlyName,
139
116
  isVisible: true,
140
117
  module: this.moduleInfo.ModuleName,
@@ -148,42 +125,6 @@ export class ColumnFilterModule extends AdaptableModuleBase {
148
125
  }
149
126
  }
150
127
  }
151
- addColumnMenuItems(column) {
152
- let filterSubMenuItems = [];
153
- if (column &&
154
- column.filterable &&
155
- this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
156
- if (this.api.gridApi.isQuickFilterAvailable()) {
157
- const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
158
- if (this.isModuleEditable() &&
159
- this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
160
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction(isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
161
- ? SystemRedux.SystemQuickFilterBarHide()
162
- : SystemRedux.SystemQuickFilterBarShow()));
163
- }
164
- }
165
- const existingColumnFilter = this.getExistingColumnFilter(column);
166
- if (existingColumnFilter) {
167
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
168
- filterSubMenuItems.push(this.createColumnMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
169
- ? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
170
- : LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
171
- }
172
- if (ArrayExtensions.IsNotNullOrEmpty(filterSubMenuItems)) {
173
- return [
174
- {
175
- label: this.moduleInfo.FriendlyName,
176
- isVisible: true,
177
- module: this.moduleInfo.ModuleName,
178
- icon: {
179
- name: this.moduleInfo.Glyph,
180
- },
181
- subItems: filterSubMenuItems,
182
- },
183
- ];
184
- }
185
- }
186
- }
187
128
  getExistingColumnFilter(column) {
188
129
  return this.api.columnFilterApi.getColumnFilters().find((x) => x.ColumnId == column.columnId);
189
130
  }
@@ -15,6 +15,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
15
15
  };
16
16
  return [
17
17
  this.createMainMenuItemShowPopup({
18
+ Name: 'column-info-show',
18
19
  Label: 'Column Info',
19
20
  ComponentName: this.moduleInfo.Popup,
20
21
  Icon: this.moduleInfo.Glyph,
@@ -31,6 +32,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
31
32
  };
32
33
  return [
33
34
  this.createMainMenuItemShowPopup({
35
+ Name: 'column-info-show',
34
36
  Label: 'Column Info',
35
37
  ComponentName: this.moduleInfo.Popup,
36
38
  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,28 +1,27 @@
1
1
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
2
2
  import { createBaseContext } from '../Utilities/ObjectFactory';
3
3
  import { AdaptableModuleBase } from './AdaptableModuleBase';
4
- /**
5
- * In the first iteration a cell can have only one note, the
6
- * notes is a list to allow further development.
7
- */
8
- export class CommentsModule extends AdaptableModuleBase {
4
+ export class CommentModule extends AdaptableModuleBase {
9
5
  constructor(api) {
10
- super(ModuleConstants.CommentsModuleId, ModuleConstants.CommentsFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
11
- this.adaptable = api.internalApi.getAdaptableInstance();
12
- this.adaptable.api.eventApi.on('AdaptableReady', () => this.handleAdaptableReady());
6
+ super(ModuleConstants.CommentModuleId, ModuleConstants.CommentFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
7
+ }
8
+ onAdaptableReady() {
13
9
  this.loadComments();
14
10
  }
15
11
  isModuleAvailable() {
16
- const options = this.adaptable.api.optionsApi.getCommentsOptions();
12
+ const options = this.api.optionsApi.getCommentOptions();
17
13
  if (!options || !options.persistCommentThreads || !options.loadCommentThreads) {
18
14
  return false;
19
15
  }
16
+ if (this.api.optionsApi.getAutogeneratePrimaryKey()) {
17
+ return false;
18
+ }
20
19
  return super.isModuleAvailable();
21
20
  }
22
21
  async loadComments() {
23
22
  var _a, _b;
24
23
  const commentThreads = await ((_b = (_a = this.api.optionsApi
25
- .getCommentsOptions()) === null || _a === void 0 ? void 0 : _a.loadCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, createBaseContext(this.adaptable.api)));
24
+ .getCommentOptions()) === null || _a === void 0 ? void 0 : _a.loadCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, createBaseContext(this.api)));
26
25
  this.api.commentApi.loadCommentThreads(commentThreads);
27
26
  }
28
27
  addContextMenuItems(menuContext) {
@@ -31,17 +30,9 @@ export class CommentsModule extends AdaptableModuleBase {
31
30
  return undefined;
32
31
  }
33
32
  const items = [];
34
- const isCellCommentable = (_b = (_a = this.adaptable.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getCommentsOptions()) === null || _b === void 0 ? void 0 : _b.isCellCommentable;
33
+ const isCellCommentable = (_b = (_a = this.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getCommentOptions()) === null || _b === void 0 ? void 0 : _b.isCellCommentable;
35
34
  if (!isCellCommentable ||
36
- isCellCommentable({
37
- adaptableApi: this.adaptable.api,
38
- address: {
39
- PrimaryKeyValue: menuContext.primaryKeyValue,
40
- ColumnId: menuContext.adaptableColumn.columnId,
41
- },
42
- userName: this.adaptable.api.optionsApi.getUserName(),
43
- adaptableId: this.adaptable.adaptableOptions.adaptableId,
44
- })) {
35
+ isCellCommentable(Object.assign({ gridCell: menuContext.gridCell }, createBaseContext(this.api)))) {
45
36
  items.push(...this.getAddRemoveCommentsMenuItems(menuContext));
46
37
  }
47
38
  return items;
@@ -53,14 +44,17 @@ export class CommentsModule extends AdaptableModuleBase {
53
44
  PrimaryKeyValue: menuContext.primaryKeyValue,
54
45
  ColumnId: menuContext.adaptableColumn.columnId,
55
46
  };
56
- const comments = this.adaptable.api.commentApi.getComments(cellAddress);
47
+ const comments = this.api.commentApi.getComments(cellAddress);
48
+ if (!this.api.commentApi.internalApi.areCommentsAvailable()) {
49
+ return items;
50
+ }
57
51
  if (comments) {
58
- items.push(this.createColumnMenuItemClickFunction('Remove Comments', this.moduleInfo.Glyph, () => {
52
+ items.push(this.createMenuItemClickFunction('comment-remove', 'Remove Comment', this.moduleInfo.Glyph, () => {
59
53
  this.api.commentApi.deleteCommentThread(cellAddress);
60
54
  }));
61
55
  }
62
56
  else {
63
- items.push(this.createColumnMenuItemClickFunction('Add Comment', this.moduleInfo.Glyph, () => {
57
+ items.push(this.createMenuItemClickFunction('comment-add', 'Add Comment', this.moduleInfo.Glyph, () => {
64
58
  // add an empty one
65
59
  this.api.commentApi.addCommentThread(Object.assign(Object.assign({}, cellAddress), { Comments: [] }));
66
60
  requestAnimationFrame(() => {
@@ -25,7 +25,7 @@ export class CustomSortModule extends AdaptableModuleBase {
25
25
  .find((x) => x.ColumnId == column.columnId);
26
26
  let label = customSort ? 'Edit ' : 'Create ';
27
27
  // dont show a menu item if there is a custom sort that uses a comparer function
28
- const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column);
28
+ const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column.columnId);
29
29
  if (columnSortComparer) {
30
30
  return undefined;
31
31
  }
@@ -34,8 +34,9 @@ export class CustomSortModule extends AdaptableModuleBase {
34
34
  action: customSort ? 'Edit' : 'New',
35
35
  source: 'ColumnMenu',
36
36
  };
37
+ let name = customSort ? 'custom-sort-edit' : 'custom-sort-add';
37
38
  return [
38
- this.createColumnMenuItemShowPopup(label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
39
+ this.createMenuItemShowPopup(name, label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
39
40
  ];
40
41
  }
41
42
  }
@@ -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;
@@ -5,14 +5,7 @@ export class DashboardModule extends AdaptableModuleBase {
5
5
  constructor(api) {
6
6
  super(ModuleConstants.DashboardModuleId, ModuleConstants.DashboardFriendlyName, 'dashboard', 'DashboardPopup', 'The Dashboard - usually placed above the Grid - is designed to provide quick access to commonly required AdapTable functionalty', api);
7
7
  }
8
- updateOldConfig() {
9
- let dashboardState = this.api.dashboardApi.getDashboardState();
10
- if (dashboardState.VisibleButtons) {
11
- this.api.logWarn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
12
- this.api.dashboardApi.setModuleButtons(dashboardState.VisibleButtons);
13
- }
14
- }
15
- handleAdaptableReady() {
8
+ onAdaptableReady() {
16
9
  // we used to create a default tab here but we no longer do // this.api.internalApi.setDefaultDashboardTab();
17
10
  // this handler reacts to the 'AdaptableReady' event,
18
11
  // but so do all the other possible handlers of the 'DashboardChanged' event
@@ -34,28 +27,29 @@ export class DashboardModule extends AdaptableModuleBase {
34
27
  if (this.isModuleAvailable()) {
35
28
  let menuItems = [];
36
29
  if (this.isModuleEditable()) {
37
- menuItems.push(this.createColumnMenuItemClickFunction('Configure', 'settings', () => this.api.dashboardApi.openDashboardSettingsPanel()));
30
+ menuItems.push(this.createMenuItemClickFunction('dashboard-configure', 'Configure', 'settings', () => this.api.dashboardApi.openDashboardSettingsPanel()));
38
31
  }
39
32
  if (this.api.dashboardApi.getDashboardState().IsCollapsed) {
40
- menuItems.push(this.createColumnMenuItemReduxAction('Expand', 'expand', DashboardRedux.DashboardSetIsCollapsed(false)));
33
+ menuItems.push(this.createMenuItemReduxAction('dashboard-expand', 'Expand', 'expand', DashboardRedux.DashboardSetIsCollapsed(false)));
41
34
  }
42
35
  else {
43
- menuItems.push(this.createColumnMenuItemReduxAction('Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
36
+ menuItems.push(this.createMenuItemReduxAction('dashboard-collapse', 'Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
44
37
  }
45
38
  if (this.api.dashboardApi.getDashboardState().IsFloating) {
46
- menuItems.push(this.createColumnMenuItemReduxAction('Dock', 'dock', DashboardRedux.DashboardSetIsFloating(false)));
39
+ menuItems.push(this.createMenuItemReduxAction('dashboard-dock', 'Dock', 'dock', DashboardRedux.DashboardSetIsFloating(false)));
47
40
  }
48
41
  else if (this.api.optionsApi.getDashboardOptions().canFloat) {
49
- menuItems.push(this.createColumnMenuItemReduxAction('Float', 'dock', DashboardRedux.DashboardSetIsFloating(true)));
42
+ menuItems.push(this.createMenuItemReduxAction('dashboard-float', 'Float', 'dock', DashboardRedux.DashboardSetIsFloating(true)));
50
43
  }
51
44
  if (this.api.dashboardApi.getDashboardState().IsHidden) {
52
- menuItems.push(this.createColumnMenuItemReduxAction('Show', 'visibility-on-bold', DashboardRedux.DashboardSetIsHidden(false)));
45
+ menuItems.push(this.createMenuItemReduxAction('dashboard-show', 'Show', 'visibility-on-bold', DashboardRedux.DashboardSetIsHidden(false)));
53
46
  }
54
47
  else {
55
- menuItems.push(this.createColumnMenuItemReduxAction('Hide', 'visibility-off-bold', DashboardRedux.DashboardSetIsHidden(true)));
48
+ menuItems.push(this.createMenuItemReduxAction('dashboard-hide', 'Hide', 'visibility-off-bold', DashboardRedux.DashboardSetIsHidden(true)));
56
49
  }
57
50
  return [
58
51
  {
52
+ name: 'parent',
59
53
  label: this.moduleInfo.FriendlyName,
60
54
  isVisible: true,
61
55
  module: this.moduleInfo.ModuleName,
@@ -3,6 +3,7 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  export declare class DataChangeHistoryModule extends AdaptableModuleBase implements IModule {
5
5
  constructor(api: AdaptableApi);
6
+ onAdaptableReady(): void;
6
7
  isModuleAvailable(): boolean;
7
8
  getPopupMaxWidth(): number;
8
9
  hasNamedQueryReferences(): boolean;
@@ -6,6 +6,8 @@ import { ModuleNames } from '@ag-grid-community/core';
6
6
  export class DataChangeHistoryModule extends AdaptableModuleBase {
7
7
  constructor(api) {
8
8
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
9
+ }
10
+ onAdaptableReady() {
9
11
  this.api.internalApi
10
12
  .getDataService()
11
13
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -20,7 +22,7 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
20
22
  const isAdaptableModuleAvailable = super.isModuleAvailable();
21
23
  const isAgGridModuleAvailable = this.api.internalApi
22
24
  .getAdaptableInstance()
23
- .isAgGridModulePresent(ModuleNames.ClientSideRowModelModule);
25
+ .agGridAdapter.isModulePresent(ModuleNames.ClientSideRowModelModule);
24
26
  if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
25
27
  this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${ModuleNames.ClientSideRowModelModule}`);
26
28
  }
@@ -7,5 +7,5 @@ export declare class DataImportModule extends AdaptableModuleBase implements IMo
7
7
  addModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
8
8
  addContextMenuItems(): AdaptableMenuItem[] | undefined;
9
9
  addColumnMenuItems(): AdaptableMenuItem[] | undefined;
10
- private getOpenPopupMenuItem;
10
+ private createDataImportMenuItem;
11
11
  }
@@ -6,26 +6,26 @@ export class DataImportModule extends AdaptableModuleBase {
6
6
  }
7
7
  addModuleMenuItem(source) {
8
8
  if (this.isModuleAvailable()) {
9
- return this.getOpenPopupMenuItem(source);
9
+ return this.createDataImportMenuItem(source);
10
10
  }
11
11
  }
12
12
  addContextMenuItems() {
13
13
  if (this.isModuleAvailable()) {
14
- return [this.getOpenPopupMenuItem('ContextMenu')];
14
+ return [this.createDataImportMenuItem('ContextMenu')];
15
15
  }
16
16
  return undefined;
17
17
  }
18
18
  addColumnMenuItems() {
19
19
  if (this.isModuleAvailable()) {
20
- return [this.getOpenPopupMenuItem('ColumnMenu')];
20
+ return [this.createDataImportMenuItem('ColumnMenu')];
21
21
  }
22
22
  }
23
- getOpenPopupMenuItem(source) {
23
+ createDataImportMenuItem(source) {
24
24
  const moduleParams = {
25
25
  action: 'New',
26
26
  source: source,
27
27
  maxWidth: this.getPopupMaxWidth(),
28
28
  };
29
- return this.createColumnMenuItemShowPopup('Import Data', this.moduleInfo.Popup, this.moduleInfo.Glyph, moduleParams);
29
+ return this.createMenuItemShowPopup('data-import', 'Import Data', this.moduleInfo.Popup, this.moduleInfo.Glyph, moduleParams);
30
30
  }
31
31
  }
@@ -5,7 +5,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
5
5
  import { DataSet } from '../AdaptableOptions/DataSetOptions';
6
6
  export declare class DataSetModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- handleAdaptableReady(): void;
8
+ onAdaptableReady(): void;
9
9
  getModuleAdaptableObjects(): AdaptableObject[];
10
10
  hasNamedQueryReferences(): boolean;
11
11
  toView(dataSet: DataSet): AdaptableObjectView;
@@ -8,7 +8,7 @@ export class DataSetModule extends AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.DataSetModuleId, ModuleConstants.DataSetFriendlyName, 'data-set', 'DataSetPopup', 'Update the entire data source in AdapTable using pre-populated data sets', api);
10
10
  }
11
- handleAdaptableReady() {
11
+ onAdaptableReady() {
12
12
  this.api.dataSetApi.getDataSets().forEach((ds) => {
13
13
  if (!ds.Uuid) {
14
14
  ds.Uuid = createUuid();
@@ -15,6 +15,7 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
15
15
  addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
16
16
  private buildReportMenuItems;
17
17
  private buildExportMenuItem;
18
+ private getMenuName;
18
19
  export(report: Report, exportDestination: ExportDestination | string): Promise<void>;
19
20
  private preProcessExport;
20
21
  private isCustomDestination;
@@ -86,15 +86,16 @@ export class ExportModule extends AdaptableModuleBase {
86
86
  buildReportMenuItems(report) {
87
87
  const menuItems = [];
88
88
  for (const destination of this.api.exportApi.getAvailableExportDestinations()) {
89
- menuItems.push(this.createColumnMenuItemClickFunction(destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
89
+ menuItems.push(this.createMenuItemClickFunction(this.getMenuName(destination), destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
90
90
  }
91
91
  for (const customDestination of this.api.exportApi.getCustomDestinations()) {
92
- menuItems.push(this.createColumnMenuItemClickFunction(customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
92
+ menuItems.push(this.createMenuItemClickFunction('export-custom-destination', customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
93
93
  }
94
94
  return menuItems;
95
95
  }
96
96
  buildExportMenuItem(label, subItems) {
97
97
  return {
98
+ name: 'parent',
98
99
  label: label,
99
100
  module: this.moduleInfo.ModuleName,
100
101
  isVisible: true,
@@ -102,6 +103,20 @@ export class ExportModule extends AdaptableModuleBase {
102
103
  subItems: subItems,
103
104
  };
104
105
  }
106
+ getMenuName(exportDestination) {
107
+ switch (exportDestination) {
108
+ case ExportDestination.CSV:
109
+ return 'export-csv';
110
+ case ExportDestination.Clipboard:
111
+ return 'export-clipboard';
112
+ case ExportDestination.Excel:
113
+ return 'export-excel';
114
+ case ExportDestination.JSON:
115
+ return 'export-json';
116
+ case ExportDestination.Table:
117
+ return 'export-table';
118
+ }
119
+ }
105
120
  async export(report, exportDestination) {
106
121
  var _a;
107
122
  const cleanupExportProcess = () => {
@@ -27,6 +27,7 @@ export class Fdc3Module extends AdaptableModuleBase {
27
27
  contextMenuItems.sort((a, b) => a.label.localeCompare(b.label));
28
28
  if (contextMenuItems.length > 1) {
29
29
  const groupMenuItem = {
30
+ name: 'parent',
30
31
  module: this.moduleInfo.ModuleName,
31
32
  label: 'FDC3',
32
33
  icon: {
@@ -44,6 +45,7 @@ export class Fdc3Module extends AdaptableModuleBase {
44
45
  var _a, _b, _c;
45
46
  const { intentType, contextType } = intentConfig;
46
47
  const menuItem = {
48
+ name: 'fdc3-raise-intent',
47
49
  label: `Raise ${intentType}`,
48
50
  onClick: () => {
49
51
  this.getFdc3Api().raiseIntentFromRow(rowNode, intentType, contextType);
@@ -63,6 +65,7 @@ export class Fdc3Module extends AdaptableModuleBase {
63
65
  var _a, _b, _c;
64
66
  const { contextType } = contextConfig;
65
67
  const menuItem = {
68
+ name: 'fdc3-broadcast',
66
69
  label: `Broadcast ${this.getFdc3Api().getContextLabel(contextType)}`,
67
70
  onClick: () => {
68
71
  this.getFdc3Api().broadcastFromRow(rowNode, contextType);
@@ -9,8 +9,7 @@ import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
9
9
  import { FlashingCellDefinition } from '../PredefinedConfig/FlashingCellState';
10
10
  export declare class FlashingCellModule extends AdaptableModuleBase implements IModule {
11
11
  constructor(api: AdaptableApi);
12
- updateOldConfig(): void;
13
- private updateFlashingCellSingleToMultiplePredicates;
12
+ onAdaptableReady(): void;
14
13
  getModuleAdaptableObjects(config?: {
15
14
  includeLayoutNotAssociatedObjects?: boolean;
16
15
  }): AdaptableObject[];
@@ -11,11 +11,11 @@ import { FlashingCellWizard } from '../View/FlashingCell/Wizard/FlashingCellWiza
11
11
  import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
12
12
  import { getFlashingTargetViewItems } from './Utilities/FlashingCell/getFlashingTargetViewItems';
13
13
  import { getFlashingCellStyleViewItems } from './Utilities/FlashingCell/getFlashingCellStyleViewItems';
14
- import { cloneObject } from '../Utilities/Helpers/Helper';
15
- import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
16
14
  export class FlashingCellModule extends AdaptableModuleBase {
17
15
  constructor(api) {
18
16
  super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
17
+ }
18
+ onAdaptableReady() {
19
19
  this.api.internalApi
20
20
  .getDataService()
21
21
  .on('CellDataChanged', (cellDataChangedInfo) => {
@@ -38,19 +38,6 @@ export class FlashingCellModule extends AdaptableModuleBase {
38
38
  this.handleCellDataChanged(cellDataChangedInfo);
39
39
  });
40
40
  }
41
- updateOldConfig() {
42
- this.updateFlashingCellSingleToMultiplePredicates();
43
- }
44
- updateFlashingCellSingleToMultiplePredicates() {
45
- const flashingCells = this.api.flashingCellApi.getFlashingCellDefinitions();
46
- flashingCells.forEach((flashingCell) => {
47
- if (flashingCell.Rule && 'Predicate' in flashingCell.Rule) {
48
- const preparedFlashingCell = cloneObject(flashingCell);
49
- updateSingleToMultiplePredicates(preparedFlashingCell.Rule);
50
- this.api.flashingCellApi.editFlashingCellDefinition(preparedFlashingCell);
51
- }
52
- });
53
- }
54
41
  getModuleAdaptableObjects(config) {
55
42
  return this.api.flashingCellApi.getFlashingCellDefinitions(config);
56
43
  }
@@ -82,11 +69,11 @@ export class FlashingCellModule extends AdaptableModuleBase {
82
69
  });
83
70
  if (flashingCellForCurrentColumn) {
84
71
  return [
85
- this.createColumnMenuItemReduxAction('Remove Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionDelete(flashingCellForCurrentColumn)),
72
+ this.createMenuItemReduxAction('flashing-cell-delete', 'Delete Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionDelete(flashingCellForCurrentColumn)),
86
73
  ];
87
74
  }
88
75
  return [
89
- this.createColumnMenuItemReduxAction('Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
76
+ this.createMenuItemReduxAction('flashing-cell-add', 'Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
90
77
  Scope: {
91
78
  ColumnIds: [column.columnId],
92
79
  },
@@ -108,11 +95,11 @@ export class FlashingCellModule extends AdaptableModuleBase {
108
95
  if (flashingCellForRow.flashTarget === 'row' ||
109
96
  (Array.isArray(flashingCellForRow === null || flashingCellForRow === void 0 ? void 0 : flashingCellForRow.flashTarget) &&
110
97
  flashingCellForRow.flashTarget.includes('row'))) {
111
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
98
+ items.push(this.createMenuItemReduxAction('flashing-row-clear', 'Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
112
99
  }
113
100
  }
114
101
  else if (flashingCellForCell && flashingCellForCell.flashTarget === 'cell') {
115
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
102
+ items.push(this.createMenuItemReduxAction('flashing-cell-clear', 'Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
116
103
  }
117
104
  }
118
105
  }
@@ -13,8 +13,6 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
13
13
  }): AdaptableObject[];
14
14
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
15
15
  getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
16
- updateOldConfig(): void;
17
- private updateFormatColumnSingleToMultiplePredicates;
18
16
  addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
19
17
  getTeamSharingAction(): TeamSharingImportInfo<FormatColumn>;
20
18
  toView(formatColumn: FormatColumn): AdaptableObjectView;