@adaptabletools/adaptable-cjs 18.0.0-canary.8 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/base.css +18 -20
  2. package/base.css.map +1 -1
  3. package/index.css +22 -20
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -4
  7. package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +15 -14
  10. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  11. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  12. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +94 -0
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +20 -9
  16. package/src/AdaptableOptions/ContextMenuOptions.d.ts +94 -0
  17. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  20. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  21. package/src/AdaptableOptions/NoteOptions.d.ts +12 -3
  22. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  23. package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
  24. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  25. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  26. package/src/Api/AdaptableApi.d.ts +16 -6
  27. package/src/Api/ColumnApi.d.ts +13 -0
  28. package/src/Api/ColumnMenuApi.d.ts +13 -0
  29. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +36 -26
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +4 -5
  32. package/src/Api/ContextMenuApi.d.ts +9 -0
  33. package/src/Api/EventApi.d.ts +7 -9
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/CommentChanged.js +2 -0
  36. package/src/Api/Events/GridDataChanged.d.ts +1 -1
  37. package/src/Api/FlashingCellApi.d.ts +2 -2
  38. package/src/Api/GridApi.d.ts +35 -3
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +3 -6
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +7 -5
  42. package/src/Api/Implementation/AdaptableApiImpl.js +9 -5
  43. package/src/Api/Implementation/AlertApiImpl.js +8 -13
  44. package/src/Api/Implementation/ApiBase.d.ts +6 -4
  45. package/src/Api/Implementation/ApiBase.js +11 -5
  46. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  47. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  48. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  49. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  50. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  51. package/src/Api/Implementation/ColumnApiImpl.js +48 -16
  52. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  53. package/src/Api/Implementation/ColumnMenuApiImpl.d.ts +8 -0
  54. package/src/Api/Implementation/ColumnMenuApiImpl.js +16 -0
  55. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
  56. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +67 -21
  57. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  58. package/src/Api/Implementation/CommentsApiImpl.js +10 -5
  59. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/ConfigApiImpl.js +27 -28
  61. package/src/Api/Implementation/ContextMenuApiImpl.d.ts +7 -0
  62. package/src/Api/Implementation/ContextMenuApiImpl.js +13 -0
  63. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  64. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  65. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  66. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  67. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  68. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  69. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  70. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  71. package/src/Api/Implementation/GridApiImpl.d.ts +9 -1
  72. package/src/Api/Implementation/GridApiImpl.js +63 -9
  73. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -11
  74. package/src/Api/Implementation/LayoutApiImpl.js +19 -27
  75. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  76. package/src/Api/Implementation/NoteApiImpl.js +45 -0
  77. package/src/Api/Implementation/OptionsApiImpl.d.ts +6 -5
  78. package/src/Api/Implementation/OptionsApiImpl.js +7 -4
  79. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  80. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  84. package/src/Api/Implementation/UserInterfaceApiImpl.js +32 -27
  85. package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/ActionRowInternalApi.js +19 -46
  87. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  88. package/src/Api/Internal/AdaptableInternalApi.js +16 -30
  89. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  90. package/src/Api/Internal/AlertInternalApi.js +7 -20
  91. package/src/Api/Internal/CalculatedColumnInternalApi.js +11 -17
  92. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  93. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  94. package/src/Api/Internal/ColumnFilterInternalApi.js +24 -30
  95. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnInternalApi.js +8 -1
  97. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  98. package/src/Api/Internal/CommentsInternalApi.js +18 -0
  99. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  100. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  101. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  102. package/src/Api/Internal/DataSetInternalApi.js +2 -7
  103. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  104. package/src/Api/Internal/ExportInternalApi.js +8 -5
  105. package/src/Api/Internal/ExpressionInternalApi.js +3 -13
  106. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  107. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  108. package/src/Api/Internal/FormatColumnInternalApi.js +38 -30
  109. package/src/Api/Internal/FreeTextColumnInternalApi.js +5 -4
  110. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  111. package/src/Api/Internal/GridFilterInternalApi.js +8 -8
  112. package/src/Api/Internal/GridInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/GridInternalApi.js +28 -40
  114. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  115. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  116. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  117. package/src/Api/Internal/NoteInternalApi.js +18 -0
  118. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  119. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  120. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  121. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  122. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  123. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  124. package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
  125. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  126. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  127. package/src/Api/LayoutApi.d.ts +15 -15
  128. package/src/Api/NoteApi.d.ts +48 -0
  129. package/src/Api/NoteApi.js +2 -0
  130. package/src/Api/OptionsApi.d.ts +14 -10
  131. package/src/Api/UserInterfaceApi.d.ts +15 -13
  132. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  133. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  134. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  135. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  136. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  137. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  138. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  139. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  140. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
  141. package/src/PredefinedConfig/Common/ColumnScope.js +2 -0
  142. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  143. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  144. package/src/PredefinedConfig/Common/Enums.js +3 -0
  145. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  146. package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
  147. package/src/PredefinedConfig/Common/Menu.js +126 -0
  148. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  149. package/src/PredefinedConfig/Common/RowScope.js +2 -0
  150. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  151. package/src/PredefinedConfig/Common/RowSummary.js +20 -0
  152. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  153. package/src/PredefinedConfig/Common/TransposeConfig.js +2 -0
  154. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  155. package/src/PredefinedConfig/Common/Types.js +4 -1
  156. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  157. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  158. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  159. package/src/PredefinedConfig/LayoutState.d.ts +6 -1
  160. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
  161. package/src/PredefinedConfig/NoteState.js +2 -0
  162. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  163. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  164. package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
  165. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  166. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  167. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  168. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  169. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  170. package/src/Redux/ActionsReducers/CommentsRedux.js +1 -39
  171. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  172. package/src/Redux/ActionsReducers/LayoutRedux.js +34 -11
  173. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  174. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +31 -31
  175. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  176. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  177. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  178. package/src/Redux/ActionsReducers/SystemRedux.js +27 -11
  179. package/src/Redux/Store/AdaptableStore.js +47 -29
  180. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +2 -2
  181. package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
  182. package/src/Strategy/AdaptableModuleBase.js +13 -16
  183. package/src/Strategy/AlertModule.d.ts +3 -2
  184. package/src/Strategy/AlertModule.js +4 -4
  185. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  186. package/src/Strategy/BulkUpdateModule.js +2 -1
  187. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  188. package/src/Strategy/CalculatedColumnModule.js +18 -14
  189. package/src/Strategy/CellSummaryModule.d.ts +10 -9
  190. package/src/Strategy/CellSummaryModule.js +101 -83
  191. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  192. package/src/Strategy/ColumnFilterModule.js +36 -57
  193. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  194. package/src/Strategy/ColumnInfoModule.js +6 -4
  195. package/src/Strategy/CommentModule.d.ts +12 -0
  196. package/src/Strategy/CommentModule.js +75 -0
  197. package/src/Strategy/CustomSortModule.d.ts +1 -2
  198. package/src/Strategy/CustomSortModule.js +3 -2
  199. package/src/Strategy/DashboardModule.d.ts +3 -3
  200. package/src/Strategy/DashboardModule.js +10 -20
  201. package/src/Strategy/DataImportModule.d.ts +4 -4
  202. package/src/Strategy/DataImportModule.js +8 -8
  203. package/src/Strategy/ExportModule.d.ts +1 -2
  204. package/src/Strategy/ExportModule.js +56 -42
  205. package/src/Strategy/Fdc3Module.d.ts +1 -1
  206. package/src/Strategy/Fdc3Module.js +3 -13
  207. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  208. package/src/Strategy/FlashingCellModule.js +10 -10
  209. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  210. package/src/Strategy/FormatColumnModule.js +29 -47
  211. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  212. package/src/Strategy/FreeTextColumnModule.js +2 -2
  213. package/src/Strategy/GridInfoModule.d.ts +3 -3
  214. package/src/Strategy/GridInfoModule.js +5 -3
  215. package/src/Strategy/Interface/IModule.d.ts +4 -4
  216. package/src/Strategy/LayoutModule.d.ts +4 -3
  217. package/src/Strategy/LayoutModule.js +71 -72
  218. package/src/Strategy/NoteModule.d.ts +10 -0
  219. package/src/Strategy/NoteModule.js +60 -0
  220. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  221. package/src/Strategy/PlusMinusModule.js +5 -5
  222. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  223. package/src/Strategy/SettingsPanelModule.js +6 -6
  224. package/src/Strategy/ShortcutModule.js +1 -1
  225. package/src/Strategy/SmartEditModule.d.ts +3 -2
  226. package/src/Strategy/SmartEditModule.js +2 -1
  227. package/src/Strategy/StyledColumnModule.d.ts +2 -1
  228. package/src/Strategy/StyledColumnModule.js +42 -22
  229. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  230. package/src/Strategy/SystemStatusModule.js +6 -3
  231. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  232. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  233. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  234. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  235. package/src/Utilities/Constants/GeneralConstants.js +3 -2
  236. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  237. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  238. package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
  239. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  240. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +434 -3
  241. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  242. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  243. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  244. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  245. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  246. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  247. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
  248. package/src/Utilities/Helpers/AdaptableHelper.js +21 -1
  249. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  250. package/src/Utilities/MenuItem.d.ts +10 -7
  251. package/src/Utilities/MenuItem.js +6 -3
  252. package/src/Utilities/ObjectFactory.d.ts +3 -3
  253. package/src/Utilities/ObjectFactory.js +7 -25
  254. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  255. package/src/Utilities/Services/AggregatedScalarLiveValue.js +23 -18
  256. package/src/Utilities/Services/CellPopupService.js +4 -4
  257. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  258. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  259. package/src/Utilities/Services/LicenseService/index.js +1 -195
  260. package/src/Utilities/Services/ModuleService.js +6 -2
  261. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  262. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  263. package/src/Utilities/Services/ReportService.d.ts +7 -5
  264. package/src/Utilities/Services/ReportService.js +245 -26
  265. package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
  266. package/src/Utilities/Services/RowSummaryService.js +160 -0
  267. package/src/Utilities/Services/ValidationService.js +2 -2
  268. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  269. package/src/Utilities/adaptableQlUtils.js +18 -0
  270. package/src/Utilities/license/decode.js +1 -70
  271. package/src/Utilities/license/hashing.js +1 -47
  272. package/src/View/AdaptableViewFactory.js +2 -2
  273. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  274. package/src/View/Alert/AlertEntityRow.js +1 -1
  275. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  276. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  277. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  278. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  279. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  280. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  281. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  282. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  283. package/src/View/Comments/CommentsEditor.js +28 -17
  284. package/src/View/Comments/CommentsPopup.js +15 -7
  285. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  286. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  287. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +46 -0
  288. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  289. package/src/View/Components/CellPopup/index.d.ts +1 -0
  290. package/src/View/Components/CellPopup/index.js +6 -3
  291. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  292. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  293. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  294. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  295. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  296. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  297. package/src/View/Components/NewScopeComponent.js +36 -3
  298. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  299. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
  300. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
  301. package/src/View/Components/RangesComponent.d.ts +2 -2
  302. package/src/View/Components/RangesComponent.js +1 -1
  303. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  304. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  305. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  306. package/src/View/Components/ValueSelector/index.js +2 -2
  307. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  308. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
  309. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  310. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  311. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
  312. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  313. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  314. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  315. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  316. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  317. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  318. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  319. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  320. package/src/View/Layout/LayoutViewPanel.js +2 -1
  321. package/src/View/Layout/TransposedPopup.js +27 -25
  322. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  323. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  324. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  325. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
  326. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  327. package/src/View/Layout/Wizard/sections/RowSummarySection.js +181 -0
  328. package/src/View/License/LicenseWatermark.js +1 -66
  329. package/src/View/Note/NotePopup.d.ts +2 -0
  330. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +16 -11
  331. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  332. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  333. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  334. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  335. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  336. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  337. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  338. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  339. package/src/agGrid/ActionColumnRenderer.js +40 -4
  340. package/src/agGrid/AdaptableAgGrid.d.ts +21 -12
  341. package/src/agGrid/AdaptableAgGrid.js +313 -225
  342. package/src/agGrid/AgGridAdapter.d.ts +5 -2
  343. package/src/agGrid/AgGridAdapter.js +20 -0
  344. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
  345. package/src/agGrid/AgGridColumnAdapter.js +52 -70
  346. package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
  347. package/src/agGrid/AgGridMenuAdapter.js +405 -74
  348. package/src/agGrid/AgGridOptionsService.d.ts +4 -1
  349. package/src/agGrid/AgGridOptionsService.js +22 -0
  350. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  351. package/src/agGrid/BadgeRenderer.js +24 -11
  352. package/src/agGrid/PercentBarRenderer.js +2 -1
  353. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  354. package/src/agGrid/buildSortedColumnStateForLayout.js +124 -0
  355. package/src/agGrid/defaultAdaptableOptions.js +7 -12
  356. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  357. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  358. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  359. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  360. package/src/agGrid/sortColumnStateForVisibleColumns.js +50 -0
  361. package/src/agGrid/weightedAverage.d.ts +0 -2
  362. package/src/agGrid/weightedAverage.js +1 -56
  363. package/src/components/Accordion.d.ts +7 -0
  364. package/src/components/Accordion.js +41 -0
  365. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  366. package/src/components/Datepicker/index.d.ts +1 -1
  367. package/src/components/Datepicker/index.js +10 -2
  368. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  369. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  370. package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
  371. package/src/components/Input/index.d.ts +1 -2
  372. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  373. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  374. package/src/components/Select/Select.d.ts +1 -1
  375. package/src/components/Select/Select.js +3 -1
  376. package/src/components/Textarea/index.d.ts +2 -2
  377. package/src/components/icons/collapse-all.d.ts +3 -0
  378. package/src/components/icons/collapse-all.js +7 -0
  379. package/src/components/icons/copy.d.ts +3 -0
  380. package/src/components/icons/copy.js +7 -0
  381. package/src/components/icons/csv.d.ts +3 -0
  382. package/src/components/icons/csv.js +7 -0
  383. package/src/components/icons/data-object.d.ts +3 -0
  384. package/src/components/icons/data-object.js +7 -0
  385. package/src/components/icons/excel.d.ts +3 -0
  386. package/src/components/icons/excel.js +8 -0
  387. package/src/components/icons/expand-all.d.ts +3 -0
  388. package/src/components/icons/expand-all.js +7 -0
  389. package/src/components/icons/filter-off.d.ts +3 -0
  390. package/src/components/icons/filter-off.js +7 -0
  391. package/src/components/icons/grid-info.d.ts +3 -0
  392. package/src/components/icons/grid-info.js +7 -0
  393. package/src/components/icons/index.js +24 -0
  394. package/src/components/icons/note.js +2 -2
  395. package/src/components/icons/rows.d.ts +3 -0
  396. package/src/components/icons/rows.js +7 -0
  397. package/src/components/icons/select-all.d.ts +3 -0
  398. package/src/components/icons/select-all.js +7 -0
  399. package/src/components/icons/select-fwd.d.ts +3 -0
  400. package/src/components/icons/select-fwd.js +7 -0
  401. package/src/components/icons/select-off.d.ts +3 -0
  402. package/src/components/icons/select-off.js +7 -0
  403. package/src/env.js +2 -2
  404. package/src/metamodel/adaptable.metamodel.d.ts +230 -116
  405. package/src/metamodel/adaptable.metamodel.js +1 -9411
  406. package/src/parser/src/parser.js +576 -553
  407. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  408. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  409. package/src/parser/src/types.d.ts +7 -2
  410. package/src/parser/src/types.js +1 -2
  411. package/src/types.d.ts +32 -25
  412. package/tsconfig.cjs.tsbuildinfo +1 -1
  413. package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
  414. package/src/AdaptableOptions/MenuOptions.js +0 -99
  415. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  416. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -14
  417. package/src/Api/Implementation/NotesApiImpl.js +0 -40
  418. package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -31
  419. package/src/Api/NotesApi.d.ts +0 -48
  420. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  421. package/src/PredefinedConfig/CellAddress.js +0 -5
  422. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
  423. package/src/Strategy/CommentsModule.d.ts +0 -17
  424. package/src/Strategy/CommentsModule.js +0 -83
  425. package/src/Strategy/NotesModule.d.ts +0 -10
  426. package/src/Strategy/NotesModule.js +0 -62
  427. package/src/View/Components/ScopeComponent.d.ts +0 -24
  428. package/src/View/Components/ScopeComponent.js +0 -138
  429. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  430. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  431. package/src/View/Notes/NotesPopup.d.ts +0 -2
  432. /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
  433. /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
  434. /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
  435. /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
  436. /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
  437. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  438. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -22,7 +22,7 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
22
22
  hasNamedQueryReferences() {
23
23
  return false;
24
24
  }
25
- addColumnMenuItems(column) {
25
+ createColumnMenuItems(column) {
26
26
  if (column && this.isModuleEditable() && column.sortable) {
27
27
  let customSort = this.api.customSortApi
28
28
  .getCustomSorts()
@@ -38,8 +38,9 @@ class CustomSortModule extends AdaptableModuleBase_1.AdaptableModuleBase {
38
38
  action: customSort ? 'Edit' : 'New',
39
39
  source: 'ColumnMenu',
40
40
  };
41
+ let name = customSort ? 'custom-sort-edit' : 'custom-sort-add';
41
42
  return [
42
- this.createColumnMenuItemShowPopup(label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
43
+ this.createMenuItemShowPopup(name, label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
43
44
  ];
44
45
  }
45
46
  }
@@ -1,11 +1,11 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
2
+ import { AdaptableColumnMenuItemName, AdaptableContextMenuItemName, AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
3
  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
7
  onAdaptableReady(): void;
8
- addColumnMenuItems(): AdaptableMenuItem[] | undefined;
9
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
8
+ createColumnMenuItems(): AdaptableMenuItem<AdaptableColumnMenuItemName>[] | undefined;
9
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
10
10
  private buildMenuItems;
11
11
  }
@@ -21,47 +21,37 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
21
  this.api.dashboardApi.internalApi.fireDashboardChangedEvent('ADAPTABLE_READY', null, this.api.dashboardApi.getDashboardState());
22
22
  }, 20);
23
23
  }
24
- addColumnMenuItems() {
24
+ createColumnMenuItems() {
25
25
  return this.buildMenuItems();
26
26
  }
27
- addContextMenuItems(menuContext) {
27
+ createContextMenuItems(menuContext) {
28
28
  return this.buildMenuItems();
29
29
  }
30
30
  buildMenuItems() {
31
31
  if (this.isModuleAvailable()) {
32
32
  let menuItems = [];
33
33
  if (this.isModuleEditable()) {
34
- menuItems.push(this.createColumnMenuItemClickFunction('Configure', 'settings', () => this.api.dashboardApi.openDashboardSettingsPanel()));
34
+ menuItems.push(this.createMenuItemClickFunction('dashboard-configure', 'Configure', 'settings', () => this.api.dashboardApi.openDashboardSettingsPanel()));
35
35
  }
36
36
  if (this.api.dashboardApi.getDashboardState().IsCollapsed) {
37
- menuItems.push(this.createColumnMenuItemReduxAction('Expand', 'expand', DashboardRedux.DashboardSetIsCollapsed(false)));
37
+ menuItems.push(this.createMenuItemReduxAction('dashboard-expand', 'Expand', 'expand', DashboardRedux.DashboardSetIsCollapsed(false)));
38
38
  }
39
39
  else {
40
- menuItems.push(this.createColumnMenuItemReduxAction('Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
40
+ menuItems.push(this.createMenuItemReduxAction('dashboard-collapse', 'Collapse', 'collapse', DashboardRedux.DashboardSetIsCollapsed(true)));
41
41
  }
42
42
  if (this.api.dashboardApi.getDashboardState().IsFloating) {
43
- menuItems.push(this.createColumnMenuItemReduxAction('Dock', 'dock', DashboardRedux.DashboardSetIsFloating(false)));
43
+ menuItems.push(this.createMenuItemReduxAction('dashboard-dock', 'Dock', 'dock', DashboardRedux.DashboardSetIsFloating(false)));
44
44
  }
45
45
  else if (this.api.optionsApi.getDashboardOptions().canFloat) {
46
- menuItems.push(this.createColumnMenuItemReduxAction('Float', 'dock', DashboardRedux.DashboardSetIsFloating(true)));
46
+ menuItems.push(this.createMenuItemReduxAction('dashboard-float', 'Float', 'dock', DashboardRedux.DashboardSetIsFloating(true)));
47
47
  }
48
48
  if (this.api.dashboardApi.getDashboardState().IsHidden) {
49
- menuItems.push(this.createColumnMenuItemReduxAction('Show', 'visibility-on-bold', DashboardRedux.DashboardSetIsHidden(false)));
49
+ menuItems.push(this.createMenuItemReduxAction('dashboard-show', 'Show', 'visibility-on-bold', DashboardRedux.DashboardSetIsHidden(false)));
50
50
  }
51
51
  else {
52
- menuItems.push(this.createColumnMenuItemReduxAction('Hide', 'visibility-off-bold', DashboardRedux.DashboardSetIsHidden(true)));
52
+ menuItems.push(this.createMenuItemReduxAction('dashboard-hide', 'Hide', 'visibility-off-bold', DashboardRedux.DashboardSetIsHidden(true)));
53
53
  }
54
- return [
55
- {
56
- label: this.moduleInfo.FriendlyName,
57
- isVisible: true,
58
- module: this.moduleInfo.ModuleName,
59
- icon: {
60
- name: 'dashboard',
61
- },
62
- subItems: menuItems,
63
- },
64
- ];
54
+ return menuItems;
65
55
  }
66
56
  }
67
57
  }
@@ -4,8 +4,8 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
4
4
  import { IModule } from './Interface/IModule';
5
5
  export declare class DataImportModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
- addModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
8
- addContextMenuItems(): AdaptableMenuItem[] | undefined;
9
- addColumnMenuItems(): AdaptableMenuItem[] | undefined;
10
- private getOpenPopupMenuItem;
7
+ createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
8
+ createContextMenuItems(): AdaptableMenuItem<any>[];
9
+ createColumnMenuItems(): AdaptableMenuItem<any>[];
10
+ private createDataImportMenuItem;
11
11
  }
@@ -8,29 +8,29 @@ class DataImportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.DataImportModuleId, ModuleConstants.DataImportFriendyName, 'import', 'DataImportPopup', 'Import Data', api);
10
10
  }
11
- addModuleMenuItem(source) {
11
+ createModuleMenuItem(source) {
12
12
  if (this.isModuleAvailable()) {
13
- return this.getOpenPopupMenuItem(source);
13
+ return this.createDataImportMenuItem(source);
14
14
  }
15
15
  }
16
- addContextMenuItems() {
16
+ createContextMenuItems() {
17
17
  if (this.isModuleAvailable()) {
18
- return [this.getOpenPopupMenuItem('ContextMenu')];
18
+ return [this.createDataImportMenuItem('ContextMenu')];
19
19
  }
20
20
  return undefined;
21
21
  }
22
- addColumnMenuItems() {
22
+ createColumnMenuItems() {
23
23
  if (this.isModuleAvailable()) {
24
- return [this.getOpenPopupMenuItem('ColumnMenu')];
24
+ return [this.createDataImportMenuItem('ColumnMenu')];
25
25
  }
26
26
  }
27
- getOpenPopupMenuItem(source) {
27
+ createDataImportMenuItem(source) {
28
28
  const moduleParams = {
29
29
  action: 'New',
30
30
  source: source,
31
31
  maxWidth: this.getPopupMaxWidth(),
32
32
  };
33
- return this.createColumnMenuItemShowPopup('Import Data', this.moduleInfo.Popup, this.moduleInfo.Glyph, moduleParams);
33
+ return this.createMenuItemShowPopup('data-import', 'Import Data', this.moduleInfo.Popup, this.moduleInfo.Glyph, moduleParams);
34
34
  }
35
35
  }
36
36
  exports.DataImportModule = DataImportModule;
@@ -12,9 +12,8 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
12
12
  getModuleAdaptableObjects(): AdaptableObject[];
13
13
  getExplicitlyReferencedColumnIds(report: Report): string[];
14
14
  getReferencedNamedQueryNames(report: Report): string[];
15
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
15
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
16
16
  private buildReportMenuItems;
17
- private buildExportMenuItem;
18
17
  export(report: Report, exportDestination: ExportDestination | string): Promise<void>;
19
18
  private preProcessExport;
20
19
  private isCustomDestination;
@@ -31,8 +31,8 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
31
31
  }
32
32
  getExplicitlyReferencedColumnIds(report) {
33
33
  if (report.ReportColumnScope === 'ScopeColumns' &&
34
- this.api.scopeApi.scopeHasColumns(report.Scope)) {
35
- return this.api.scopeApi
34
+ this.api.columnScopeApi.scopeHasColumns(report.Scope)) {
35
+ return this.api.columnScopeApi
36
36
  .getColumnsForScope(report.Scope)
37
37
  .map((adaptableColumn) => adaptableColumn.columnId);
38
38
  }
@@ -44,78 +44,92 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
44
44
  }
45
45
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
46
46
  }
47
- addContextMenuItems(menuContext) {
47
+ createContextMenuItems(menuContext) {
48
48
  const canExport = !menuContext.isRowGroupColumn && this.isModuleAvailable();
49
49
  if (!canExport) {
50
50
  return;
51
51
  }
52
52
  let returnMenuItems = [];
53
- let selectedCellmenuItems = [];
54
- let selectedRowmenuItems = [];
55
- const canExportCells = menuContext.selectedCellInfo &&
53
+ const availableSystemReports = this.api.exportApi.getAvailableSystemReports();
54
+ if (availableSystemReports.includes(GeneralConstants_1.VISUAL_DATA_REPORT)) {
55
+ returnMenuItems.push(this.createMenuItemClickFunction('export-visual-data-excel', 'Excel', 'excel', () => this.export(this.api.exportApi.getReportByName(GeneralConstants_1.VISUAL_DATA_REPORT), Enums_1.ExportDestination.Excel)));
56
+ }
57
+ if (availableSystemReports.includes(GeneralConstants_1.ALL_DATA_REPORT)) {
58
+ const allDataReport = this.api.exportApi.getReportByName(GeneralConstants_1.ALL_DATA_REPORT);
59
+ returnMenuItems.push(...this.buildReportMenuItems(allDataReport));
60
+ }
61
+ if (availableSystemReports.includes(GeneralConstants_1.CURRENT_DATA_REPORT)) {
62
+ const currentDataReport = this.api.exportApi.getReportByName(GeneralConstants_1.CURRENT_DATA_REPORT);
63
+ returnMenuItems.push(...this.buildReportMenuItems(currentDataReport));
64
+ }
65
+ const canExportCells = availableSystemReports.includes(GeneralConstants_1.SELECTED_CELLS_REPORT) &&
66
+ menuContext.selectedCellInfo &&
56
67
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.columns) &&
57
68
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.gridCells);
58
- const canExportRows = menuContext.selectedRowInfo &&
69
+ if (canExportCells) {
70
+ const selectedCellReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_CELLS_REPORT);
71
+ returnMenuItems.push(...this.buildReportMenuItems(selectedCellReport));
72
+ }
73
+ const canExportRows = availableSystemReports.includes(GeneralConstants_1.SELECTED_ROWS_REPORT) &&
74
+ menuContext.selectedRowInfo &&
59
75
  ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedRowInfo.gridRows) &&
60
76
  menuContext.gridCell &&
61
77
  menuContext.gridCell.primaryKeyValue &&
62
78
  menuContext.isSelectedRow;
63
- if (canExportCells) {
64
- const selectedCellReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_CELLS_REPORT);
65
- selectedCellmenuItems = this.buildReportMenuItems(selectedCellReport);
66
- }
67
79
  if (canExportRows) {
68
80
  const selectedRowReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_ROWS_REPORT);
69
- selectedRowmenuItems = this.buildReportMenuItems(selectedRowReport);
70
- }
71
- // if only selected cells then just do one level
72
- if (canExportCells && !canExportRows) {
73
- returnMenuItems.push(this.buildExportMenuItem('Export Selected Cells', selectedCellmenuItems));
74
- // if only selected Rows then just do one level
75
- }
76
- else if (canExportRows && !canExportCells) {
77
- returnMenuItems.push(this.buildExportMenuItem('Export Selected Rows', selectedRowmenuItems));
78
- }
79
- // if both selected Cells and Rows then add a new level
80
- else if (canExportRows && canExportCells) {
81
- const exportSelectedCellsMenuItem = this.buildExportMenuItem('Cells', selectedCellmenuItems);
82
- const exportSelectedRowsMenuItem = this.buildExportMenuItem('Rows', selectedRowmenuItems);
83
- returnMenuItems.push(this.buildExportMenuItem('Export Selected', [
84
- exportSelectedCellsMenuItem,
85
- exportSelectedRowsMenuItem,
86
- ]));
81
+ returnMenuItems.push(...this.buildReportMenuItems(selectedRowReport));
87
82
  }
88
83
  return returnMenuItems;
89
84
  }
90
85
  buildReportMenuItems(report) {
86
+ // a bit convoluted, but ce la vie, that's what happens when you use enums instead of union types
87
+ // convert to lowercase and replace empty spaces with hyphens
88
+ const adjustName = (name = '') => {
89
+ const result = name.replace(/ /g, '-');
90
+ return result.toLowerCase();
91
+ };
92
+ const getMenuItemName = (reportName, destination) => {
93
+ return `export-${adjustName(reportName)}-${adjustName(destination)}`;
94
+ };
95
+ const getMenuItemIcon = (exportDestination) => {
96
+ // once we have icons for csv, clipboard etc then i would like to add them here one by one and use moduleinfo for custom
97
+ switch (exportDestination) {
98
+ case Enums_1.ExportDestination.Excel:
99
+ return 'excel';
100
+ case Enums_1.ExportDestination.Clipboard:
101
+ return 'clipboard';
102
+ case Enums_1.ExportDestination.CSV:
103
+ return 'csv';
104
+ case Enums_1.ExportDestination.JSON:
105
+ return 'json';
106
+ case Enums_1.ExportDestination.Table:
107
+ return 'grid';
108
+ }
109
+ return this.moduleInfo.Glyph;
110
+ };
91
111
  const menuItems = [];
92
112
  for (const destination of this.api.exportApi.getAvailableExportDestinations()) {
93
- menuItems.push(this.createColumnMenuItemClickFunction(destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
113
+ menuItems.push(this.createMenuItemClickFunction(getMenuItemName(report.Name, destination), destination, getMenuItemIcon(destination), // 'filter', // this.moduleInfo.Glyph,
114
+ () => this.export(report, destination)));
94
115
  }
95
116
  for (const customDestination of this.api.exportApi.getCustomDestinations()) {
96
- menuItems.push(this.createColumnMenuItemClickFunction(customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
117
+ menuItems.push(this.createMenuItemClickFunction(getMenuItemName(report.Name, customDestination.name), customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
97
118
  }
98
119
  return menuItems;
99
120
  }
100
- buildExportMenuItem(label, subItems) {
101
- return {
102
- label: label,
103
- module: this.moduleInfo.ModuleName,
104
- isVisible: true,
105
- icon: { name: this.moduleInfo.Glyph },
106
- subItems: subItems,
107
- };
108
- }
109
121
  async export(report, exportDestination) {
110
122
  var _a;
111
123
  const cleanupExportProcess = () => {
112
124
  this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemVisualExportEnd)());
113
- this.api.internalApi.hideProgressIndicator();
125
+ this.api.userInterfaceApi.hideProgressIndicator();
114
126
  };
115
127
  if (report.Name === GeneralConstants_1.VISUAL_DATA_REPORT) {
116
128
  this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemVisualExportBegin)());
117
129
  }
118
- this.api.internalApi.dispatchReduxAction((0, SystemRedux_1.SystemProgressIndicatorShow)(`${report.Name} Export in progress...`));
130
+ this.api.userInterfaceApi.showProgressIndicator({
131
+ text: `${report.Name} Export in progress...`,
132
+ });
119
133
  try {
120
134
  // waitForTimeout required to give the ProgressIndicator rendering a head-start (see rAF in ProgressIndicator implementation)
121
135
  await (0, waitForTimeout_1.waitForTimeout)(16);
@@ -4,7 +4,7 @@ import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
5
5
  export declare class Fdc3Module extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
7
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
8
8
  private buildRaiseIntentMenuItem;
9
9
  private buildBroadcastMenuItem;
10
10
  private getFdc3Api;
@@ -8,7 +8,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.Fdc3ModuleId, ModuleConstants.Fdc3FriendlyName, 'fdc3', null, 'The FDC3 Module - handles the FDC3 integration', api);
10
10
  }
11
- addContextMenuItems(menuContext) {
11
+ createContextMenuItems(menuContext) {
12
12
  if (!this.isModuleAvailable()) {
13
13
  return;
14
14
  }
@@ -29,18 +29,6 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
29
29
  contextMenuItems.push(this.buildBroadcastMenuItem(broadcastConfig, currentRowNode));
30
30
  });
31
31
  contextMenuItems.sort((a, b) => a.label.localeCompare(b.label));
32
- if (contextMenuItems.length > 1) {
33
- const groupMenuItem = {
34
- module: this.moduleInfo.ModuleName,
35
- label: 'FDC3',
36
- icon: {
37
- name: 'fdc3',
38
- },
39
- isVisible: true,
40
- subItems: contextMenuItems,
41
- };
42
- return [groupMenuItem];
43
- }
44
32
  return contextMenuItems;
45
33
  }
46
34
  }
@@ -48,6 +36,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
48
36
  var _a, _b, _c;
49
37
  const { intentType, contextType } = intentConfig;
50
38
  const menuItem = {
39
+ name: 'fdc3-raise-intent',
51
40
  label: `Raise ${intentType}`,
52
41
  onClick: () => {
53
42
  this.getFdc3Api().raiseIntentFromRow(rowNode, intentType, contextType);
@@ -67,6 +56,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
67
56
  var _a, _b, _c;
68
57
  const { contextType } = contextConfig;
69
58
  const menuItem = {
59
+ name: 'fdc3-broadcast',
70
60
  label: `Broadcast ${this.getFdc3Api().getContextLabel(contextType)}`,
71
61
  onClick: () => {
72
62
  this.getFdc3Api().broadcastFromRow(rowNode, contextType);
@@ -1,8 +1,9 @@
1
1
  import { AdaptableApi } from '../Api/AdaptableApi';
2
2
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
3
3
  import { CellDataChangedInfo } from '../PredefinedConfig/Common/CellDataChangedInfo';
4
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
4
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
5
5
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
6
+ import { MenuItemShowPopup } from '../Utilities/MenuItem';
6
7
  import { AdaptableModuleBase } from './AdaptableModuleBase';
7
8
  import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/IModule';
8
9
  import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
@@ -15,8 +16,8 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
15
16
  }): AdaptableObject[];
16
17
  getExplicitlyReferencedColumnIds(alertDefinition: FlashingCellDefinition): string[];
17
18
  getReferencedNamedQueryNames(alertDefinition: FlashingCellDefinition): string[];
18
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
19
- addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemDoReduxAction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
20
+ createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
20
21
  protected handleCellDataChanged(cellDataChangedInfo: CellDataChangedInfo): void;
21
22
  private showFlashingCellsForDefinitions;
22
23
  private isFlashingTargetOnlyAggChange;
@@ -50,8 +50,8 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
50
50
  if (queryExpression) {
51
51
  return this.api.expressionApi.getColumnsFromExpression(queryExpression);
52
52
  }
53
- else if (this.api.scopeApi.scopeHasColumns(alertDefinition.Scope)) {
54
- return this.api.scopeApi
53
+ else if (this.api.columnScopeApi.scopeHasColumns(alertDefinition.Scope)) {
54
+ return this.api.columnScopeApi
55
55
  .getColumnsForScope(alertDefinition.Scope)
56
56
  .map((adaptableColumn) => adaptableColumn.columnId);
57
57
  }
@@ -64,20 +64,20 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
64
64
  }
65
65
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
66
66
  }
67
- addColumnMenuItems(column) {
67
+ createColumnMenuItems(column) {
68
68
  if (column && this.isModuleEditable()) {
69
69
  if (!this.api.columnApi.isCalculatedColumn(column.columnId)) {
70
70
  const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
71
71
  const flashingCellForCurrentColumn = flashingCellDefinitions.find((flashingCellDefinition) => {
72
- return this.api.scopeApi.isColumnInScope(column, flashingCellDefinition.Scope);
72
+ return this.api.columnScopeApi.isColumnInScope(column, flashingCellDefinition.Scope);
73
73
  });
74
74
  if (flashingCellForCurrentColumn) {
75
75
  return [
76
- this.createColumnMenuItemReduxAction('Remove Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionDelete(flashingCellForCurrentColumn)),
76
+ this.createMenuItemReduxAction('flashing-cell-delete', 'Delete Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionDelete(flashingCellForCurrentColumn)),
77
77
  ];
78
78
  }
79
79
  return [
80
- this.createColumnMenuItemReduxAction('Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
80
+ this.createMenuItemReduxAction('flashing-cell-add', 'Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
81
81
  Scope: {
82
82
  ColumnIds: [column.columnId],
83
83
  },
@@ -89,7 +89,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
89
89
  }
90
90
  }
91
91
  }
92
- addContextMenuItems(menuContext) {
92
+ createContextMenuItems(menuContext) {
93
93
  const items = [];
94
94
  if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
95
95
  if (menuContext.adaptableColumn && menuContext.rowNode) {
@@ -99,11 +99,11 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
99
99
  if (flashingCellForRow.flashTarget === 'row' ||
100
100
  (Array.isArray(flashingCellForRow === null || flashingCellForRow === void 0 ? void 0 : flashingCellForRow.flashTarget) &&
101
101
  flashingCellForRow.flashTarget.includes('row'))) {
102
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
102
+ items.push(this.createMenuItemReduxAction('flashing-row-clear', 'Clear Flashing Row', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForRow)));
103
103
  }
104
104
  }
105
105
  else if (flashingCellForCell && flashingCellForCell.flashTarget === 'cell') {
106
- items.push(this.createColumnMenuItemReduxAction('Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
106
+ items.push(this.createMenuItemReduxAction('flashing-cell-clear', 'Clear Flashing Cell', this.moduleInfo.Glyph, SystemRedux.SystemFlashingCellDelete(flashingCellForCell)));
107
107
  }
108
108
  }
109
109
  }
@@ -169,7 +169,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
169
169
  const definitions = this.api.flashingCellApi.getActiveFlashingCellDefinitions();
170
170
  const defaultNoPredicateReturn = false;
171
171
  let relatedFlashingCellsDefinitions = definitions
172
- .filter((v) => this.api.scopeApi.isColumnInScope(dataChangedEvent.column, v.Scope))
172
+ .filter((v) => this.api.columnScopeApi.isColumnInScope(dataChangedEvent.column, v.Scope))
173
173
  .filter((flashingCellDefinition) => !(0, AdaptableQuery_1.isReactiveQuery)(flashingCellDefinition.Rule));
174
174
  let triggeredFlashingCells = [];
175
175
  if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(relatedFlashingCellsDefinitions)) {
@@ -13,7 +13,7 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
13
13
  }): AdaptableObject[];
14
14
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
15
15
  getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
16
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
16
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
17
17
  getTeamSharingAction(): TeamSharingImportInfo<FormatColumn>;
18
18
  toView(formatColumn: FormatColumn): AdaptableObjectView;
19
19
  toViewAll(): AdaptableObjectView[];
@@ -14,7 +14,6 @@ const getFormatColumnStyleViewItems_1 = require("./Utilities/FormatColumn/getFor
14
14
  const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
15
15
  const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
16
16
  const MoveFormatColumn_1 = require("../View/FormatColumn/MoveFormatColumn");
17
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
18
17
  class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
19
18
  constructor(api) {
20
19
  super(ModuleConstants.FormatColumnModuleId, ModuleConstants.FormatColumnFriendlyName, 'color-palette', 'FormatColumnPopup', 'Create a column style, display format or cell alignment', api);
@@ -27,8 +26,8 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
27
26
  if (queryExpression) {
28
27
  return this.api.expressionApi.getColumnsFromExpression(queryExpression);
29
28
  }
30
- else if (this.api.scopeApi.scopeHasColumns(formatColumn.Scope)) {
31
- return this.api.scopeApi
29
+ else if (this.api.columnScopeApi.scopeHasColumns(formatColumn.Scope)) {
30
+ return this.api.columnScopeApi
32
31
  .getColumnsForScope(formatColumn.Scope)
33
32
  .map((adaptableColumn) => adaptableColumn.columnId);
34
33
  }
@@ -41,54 +40,37 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
41
40
  }
42
41
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
43
42
  }
44
- addColumnMenuItems(column) {
43
+ createColumnMenuItems(column) {
44
+ if (!column || !this.isModuleEditable() || column.isSparkline) {
45
+ return;
46
+ }
45
47
  let returnColumnMenuItems = [];
46
- if (column && this.isModuleEditable() && !column.isSparkline) {
47
- let createPopupParam = {
48
+ let createPopupParam = {
49
+ column: column,
50
+ action: 'New',
51
+ source: 'ColumnMenu',
52
+ };
53
+ returnColumnMenuItems.push(this.createMenuItemShowPopup('format-column-add', 'Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, createPopupParam));
54
+ const formatColumnsForColumn = this.api.formatColumnApi.getFormatColumnsForColumnId(column.columnId);
55
+ if (formatColumnsForColumn.length === 1) {
56
+ let editPopupParam = {
48
57
  column: column,
49
- action: 'New',
58
+ action: 'Edit',
59
+ value: formatColumnsForColumn[0],
50
60
  source: 'ColumnMenu',
51
61
  };
52
- const createFormatColumnMenuItem = this.createColumnMenuItemShowPopup('Create', this.moduleInfo.Popup, 'plus', createPopupParam);
53
- const formatColumnsForColumn = this.api.formatColumnApi.getFormatColumnsForColumnId(column.columnId);
54
- // .filter((fc) => this.api.scopeApi.isSingleColumnScope(fc.Scope));
55
- // if no formats then just show Create
56
- if (ArrayExtensions_1.default.IsNullOrEmpty(formatColumnsForColumn)) {
57
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup('Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, createPopupParam));
58
- // if 1 format then show a Create and an Edit
59
- }
60
- else if (formatColumnsForColumn.length == 1) {
61
- let editPopupParam = {
62
- column: column,
63
- action: 'Edit',
64
- value: formatColumnsForColumn[0],
65
- source: 'ColumnMenu',
66
- };
67
- const editFormatColumnMenuItem = this.createColumnMenuItemShowPopup('Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
68
- returnColumnMenuItems.push({
69
- label: 'Format Column',
70
- module: this.moduleInfo.ModuleName,
71
- isVisible: true,
72
- icon: { name: this.moduleInfo.Glyph },
73
- subItems: [createFormatColumnMenuItem, editFormatColumnMenuItem],
74
- });
75
- // if more than one then display a Create and a Show
76
- // we should probably do the Show better - perhaps use Column Info in some way?
77
- // or to filter the format columns ?
78
- }
79
- else {
80
- const moduleInfo = this.api.internalApi
81
- .getModuleService()
82
- .getModuleInfoByModule('FormatColumn');
83
- const editFormatColumnMenuItem = this.createColumnMenuItemReduxAction('Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
84
- returnColumnMenuItems.push({
85
- label: 'Format Column',
86
- module: this.moduleInfo.ModuleName,
87
- isVisible: true,
88
- icon: { name: this.moduleInfo.Glyph },
89
- subItems: [createFormatColumnMenuItem, editFormatColumnMenuItem],
90
- });
91
- }
62
+ const editFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-edit', 'Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
63
+ returnColumnMenuItems.push(editFormatColumnMenuItem);
64
+ }
65
+ else if (formatColumnsForColumn.length > 1) {
66
+ // if more than one then display a Create and a Show
67
+ // we should probably do the Show better - perhaps use Column Info in some way?
68
+ // or to filter the format columns ?
69
+ const moduleInfo = this.api.internalApi
70
+ .getModuleService()
71
+ .getModuleInfoByModule('FormatColumn');
72
+ const editFormatColumnMenuItem = this.createMenuItemReduxAction('format-column-edit', 'Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
73
+ returnColumnMenuItems.push(editFormatColumnMenuItem);
92
74
  }
93
75
  return returnColumnMenuItems;
94
76
  }
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { AdaptableModuleBase } from './AdaptableModuleBase';
3
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
- import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
5
4
  import * as FreeTextColumnRedux from '../Redux/ActionsReducers/FreeTextColumnRedux';
6
5
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
7
6
  import { FreeTextColumn } from '../PredefinedConfig/FreeTextColumnState';
@@ -12,7 +11,7 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
12
11
  isModuleAvailable(): boolean;
13
12
  getModuleAdaptableObjects(): FreeTextColumn[];
14
13
  hasNamedQueryReferences(): boolean;
15
- addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
14
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
16
15
  getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
17
16
  toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
18
17
  toViewAll(): AdaptableObjectView[];
@@ -21,7 +21,7 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
21
21
  hasNamedQueryReferences() {
22
22
  return false;
23
23
  }
24
- addColumnMenuItems(column) {
24
+ createColumnMenuItems(column) {
25
25
  if (column && this.isModuleEditable()) {
26
26
  if (this.api.freeTextColumnApi
27
27
  .getFreeTextColumns()
@@ -32,7 +32,7 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
32
32
  source: 'ColumnMenu',
33
33
  };
34
34
  return [
35
- this.createColumnMenuItemShowPopup('Edit Free Text Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
35
+ this.createMenuItemShowPopup('free-text-column-edit', 'Edit Free Text Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
36
36
  ];
37
37
  }
38
38
  }