@adaptabletools/adaptable 22.0.0-canary.0 → 22.0.0-canary.10

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 (395) hide show
  1. package/README.md +4 -6
  2. package/agGrid.d.ts +9 -9
  3. package/agGrid.js +1 -0
  4. package/index.css +1280 -1400
  5. package/index.css.map +1 -1
  6. package/index.d.ts +66 -0
  7. package/index.js +73 -0
  8. package/package.json +3 -3
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -1
  10. package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
  11. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  12. package/src/AdaptableOptions/ColumnOptions.d.ts +2 -2
  13. package/src/AdaptableOptions/ContainerOptions.d.ts +55 -15
  14. package/src/AdaptableOptions/CustomSortOptions.d.ts +4 -0
  15. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
  16. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  17. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  18. package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
  19. package/src/AdaptableState/AdaptableState.d.ts +2 -0
  20. package/src/AdaptableState/AlertState.d.ts +5 -2
  21. package/src/AdaptableState/ChartingState.d.ts +2 -2
  22. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  23. package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
  24. package/src/AdaptableState/Common/AdaptableColumn.d.ts +16 -10
  25. package/src/AdaptableState/Common/AdaptableColumnContext.d.ts +9 -0
  26. package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
  27. package/src/AdaptableState/Common/AdaptableObject.d.ts +20 -2
  28. package/src/AdaptableState/Common/AdaptableRowContext.d.ts +11 -0
  29. package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
  30. package/src/AdaptableState/Common/BaseContext.d.ts +2 -0
  31. package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +18 -0
  32. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +17 -0
  33. package/src/AdaptableState/Common/NamedObject.d.ts +10 -0
  34. package/src/AdaptableState/Common/NamedObject.js +1 -0
  35. package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
  36. package/src/AdaptableState/Common/RowSummary.d.ts +1 -1
  37. package/src/AdaptableState/Common/Schedule.d.ts +8 -5
  38. package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +2 -2
  39. package/src/AdaptableState/Common/TransposeConfig.d.ts +12 -10
  40. package/src/AdaptableState/CustomSortState.d.ts +5 -1
  41. package/src/AdaptableState/DashboardState.d.ts +1 -1
  42. package/src/AdaptableState/ExportState.d.ts +1 -1
  43. package/src/AdaptableState/FlashingCellState.d.ts +6 -2
  44. package/src/AdaptableState/FormatColumnState.d.ts +5 -9
  45. package/src/AdaptableState/InitialState.d.ts +10 -1
  46. package/src/AdaptableState/InternalState.d.ts +2 -0
  47. package/src/AdaptableState/LayoutState.d.ts +7 -3
  48. package/src/AdaptableState/NamedQueryState.d.ts +1 -1
  49. package/src/AdaptableState/PlusMinusState.d.ts +5 -1
  50. package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
  51. package/src/AdaptableState/ShortcutState.d.ts +5 -1
  52. package/src/AdaptableState/StyledColumnState.d.ts +1 -1
  53. package/src/AdaptableState/ThemeState.d.ts +1 -1
  54. package/src/AdaptableState/UserInterfaceState.d.ts +14 -0
  55. package/src/AdaptableState/UserInterfaceState.js +1 -0
  56. package/src/Api/AlertApi.d.ts +6 -0
  57. package/src/Api/CustomSortApi.d.ts +12 -3
  58. package/src/Api/DataSetApi.d.ts +1 -1
  59. package/src/Api/FlashingCellApi.d.ts +6 -0
  60. package/src/Api/FormatColumnApi.d.ts +10 -4
  61. package/src/Api/GridApi.d.ts +29 -4
  62. package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
  63. package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
  64. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -0
  65. package/src/Api/Implementation/AlertApiImpl.js +6 -6
  66. package/src/Api/Implementation/ApiBase.d.ts +1 -1
  67. package/src/Api/Implementation/ApiBase.js +2 -1
  68. package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
  69. package/src/Api/Implementation/ChartingApiImpl.js +6 -2
  70. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
  71. package/src/Api/Implementation/ColumnApiImpl.js +1 -0
  72. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
  73. package/src/Api/Implementation/CommentsApiImpl.js +1 -0
  74. package/src/Api/Implementation/CustomSortApiImpl.d.ts +6 -1
  75. package/src/Api/Implementation/CustomSortApiImpl.js +6 -2
  76. package/src/Api/Implementation/DashboardApiImpl.js +1 -0
  77. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
  78. package/src/Api/Implementation/DataImportApiImpl.js +1 -0
  79. package/src/Api/Implementation/DataSetApiImpl.js +1 -0
  80. package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
  81. package/src/Api/Implementation/EventApiImpl.js +16 -14
  82. package/src/Api/Implementation/ExportApiImpl.js +1 -0
  83. package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
  84. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
  85. package/src/Api/Implementation/FilterApiImpl.js +3 -0
  86. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
  87. package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
  88. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +6 -5
  89. package/src/Api/Implementation/FormatColumnApiImpl.js +7 -5
  90. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
  91. package/src/Api/Implementation/GridApiImpl.d.ts +10 -1
  92. package/src/Api/Implementation/GridApiImpl.js +36 -5
  93. package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
  94. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
  95. package/src/Api/Implementation/LayoutApiImpl.js +5 -1
  96. package/src/Api/Implementation/LayoutHelpers.js +7 -0
  97. package/src/Api/Implementation/NamedQueryApiImpl.js +3 -2
  98. package/src/Api/Implementation/NoteApiImpl.js +1 -0
  99. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +1 -0
  100. package/src/Api/Implementation/PlusMinusApiImpl.js +3 -0
  101. package/src/Api/Implementation/PredicateApiImpl.js +1 -0
  102. package/src/Api/Implementation/RowFormApiImpl.js +1 -0
  103. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
  104. package/src/Api/Implementation/ScheduleApiImpl.js +4 -0
  105. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
  106. package/src/Api/Implementation/ShortcutApiImpl.js +3 -0
  107. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
  108. package/src/Api/Implementation/SystemStatusApiImpl.js +8 -9
  109. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
  110. package/src/Api/Implementation/ThemeApiImpl.js +1 -0
  111. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -0
  112. package/src/Api/Implementation/UserInterfaceApiImpl.js +15 -1
  113. package/src/Api/Internal/CalculatedColumnInternalApi.js +2 -2
  114. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  115. package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
  116. package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
  117. package/src/Api/Internal/FreeTextColumnInternalApi.js +2 -2
  118. package/src/Api/Internal/LayoutInternalApi.js +1 -1
  119. package/src/Api/Internal/NamedQueryInternalApi.js +4 -4
  120. package/src/Api/LayoutApi.d.ts +6 -0
  121. package/src/Api/PlusMinusApi.d.ts +6 -0
  122. package/src/Api/ScheduleApi.d.ts +6 -0
  123. package/src/Api/ShortcutApi.d.ts +6 -0
  124. package/src/Api/UserInterfaceApi.d.ts +17 -0
  125. package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +8 -0
  126. package/src/Redux/ActionsReducers/FormatColumnRedux.js +15 -0
  127. package/src/Redux/ActionsReducers/InternalRedux.d.ts +15 -0
  128. package/src/Redux/ActionsReducers/InternalRedux.js +36 -0
  129. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +1 -1
  130. package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
  131. package/src/Redux/ActionsReducers/UserInterfaceRedux.d.ts +11 -0
  132. package/src/Redux/ActionsReducers/UserInterfaceRedux.js +21 -0
  133. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  134. package/src/Redux/Store/AdaptableStore.js +121 -64
  135. package/src/Strategy/AdaptableModuleBase.js +4 -0
  136. package/src/Strategy/AlertModule.js +5 -0
  137. package/src/Strategy/BulkUpdateModule.js +8 -8
  138. package/src/Strategy/CalculatedColumnModule.js +1 -0
  139. package/src/Strategy/CellSummaryModule.js +1 -1
  140. package/src/Strategy/CustomSortModule.js +4 -0
  141. package/src/Strategy/DataChangeHistoryModule.js +1 -0
  142. package/src/Strategy/FlashingCellModule.js +6 -0
  143. package/src/Strategy/FormatColumnModule.js +4 -0
  144. package/src/Strategy/FreeTextColumnModule.js +1 -0
  145. package/src/Strategy/LayoutModule.js +6 -5
  146. package/src/Strategy/PlusMinusModule.js +7 -1
  147. package/src/Strategy/QuickSearchModule.js +1 -1
  148. package/src/Strategy/ScheduleModule.js +5 -0
  149. package/src/Strategy/SettingsPanelModule.js +11 -7
  150. package/src/Strategy/ShortcutModule.js +6 -0
  151. package/src/Strategy/SmartEditModule.js +10 -10
  152. package/src/Strategy/TeamSharingModule.js +10 -10
  153. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
  154. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +18 -17
  155. package/src/Utilities/Constants/DocumentationLinkConstants.js +18 -17
  156. package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
  157. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
  158. package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
  159. package/src/Utilities/Extensions/StringExtensions.js +16 -0
  160. package/src/Utilities/Helpers/FormatHelper.js +9 -2
  161. package/src/Utilities/Helpers/StyleHelper.js +14 -0
  162. package/src/Utilities/MenuItem.js +18 -0
  163. package/src/Utilities/ObjectFactory.js +16 -3
  164. package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
  165. package/src/Utilities/Services/AlertService.js +6 -4
  166. package/src/Utilities/Services/AnnotationsService.js +4 -1
  167. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
  168. package/src/Utilities/Services/ChartingService.js +1 -0
  169. package/src/Utilities/Services/DataService.js +11 -3
  170. package/src/Utilities/Services/Fdc3Service.js +9 -7
  171. package/src/Utilities/Services/FlashingCellService.js +5 -0
  172. package/src/Utilities/Services/LicenseService/index.js +1 -1
  173. package/src/Utilities/Services/MetamodelService.js +2 -2
  174. package/src/Utilities/Services/ModuleService.js +39 -41
  175. package/src/Utilities/Services/QueryLanguageService.js +6 -5
  176. package/src/Utilities/Services/RowFormService.js +1 -0
  177. package/src/Utilities/Services/RowSummaryService.js +10 -7
  178. package/src/Utilities/Services/TeamSharingService.js +3 -1
  179. package/src/Utilities/Services/ThemeService.js +13 -15
  180. package/src/Utilities/Services/ValidationService.js +2 -1
  181. package/src/Utilities/createAgStatusPanelComponent.js +3 -0
  182. package/src/Utilities/logDeprecation.js +3 -4
  183. package/src/Utilities/resolveContainerElement.d.ts +23 -0
  184. package/src/Utilities/resolveContainerElement.js +44 -0
  185. package/src/View/AdaptablePopover/index.d.ts +1 -0
  186. package/src/View/AdaptablePopover/index.js +1 -1
  187. package/src/View/Alert/ActiveAlertsPanel.js +8 -0
  188. package/src/View/Alert/AlertViewPanel.js +13 -9
  189. package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
  190. package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
  191. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -0
  192. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +5 -2
  193. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +47 -12
  194. package/src/View/Alert/Wizard/AlertWizard.js +14 -10
  195. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  196. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
  197. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +2 -2
  198. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
  199. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  200. package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
  201. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +2 -2
  202. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +2 -2
  203. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  204. package/src/View/Components/Buttons/ButtonApply.js +1 -1
  205. package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
  206. package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
  207. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -2
  208. package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
  209. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -2
  210. package/src/View/Components/CellPopup/index.js +1 -1
  211. package/src/View/Components/ColumnFilter/FloatingFilter.js +41 -3
  212. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
  213. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +54 -2
  214. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
  215. package/src/View/Components/EntityRulesEditor/Utilities.js +5 -5
  216. package/src/View/Components/NewScopeComponent.js +3 -3
  217. package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
  218. package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
  219. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
  220. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
  221. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -1
  222. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -8
  223. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +1 -1
  224. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +36 -1
  225. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +19 -18
  226. package/src/View/Components/StyleComponent.d.ts +1 -0
  227. package/src/View/Components/StyleComponent.js +94 -24
  228. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  229. package/src/View/Components/WizardSummaryPage.js +1 -1
  230. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  231. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +41 -15
  232. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
  233. package/src/View/CustomSort/Wizard/CustomSortWizard.js +4 -4
  234. package/src/View/Dashboard/CustomToolbar.js +1 -1
  235. package/src/View/Dashboard/DashboardPopup.js +4 -5
  236. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -0
  237. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  238. package/src/View/Export/ExportDestinationPicker.js +1 -1
  239. package/src/View/Export/ExportStatusBar.js +4 -2
  240. package/src/View/Export/ExportViewPanel.js +25 -18
  241. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +2 -1
  242. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +34 -14
  243. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +14 -10
  244. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +1 -1
  245. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +46 -51
  246. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  247. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +20 -9
  248. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
  249. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +3 -3
  250. package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -1
  251. package/src/View/GridFilter/GridFilterViewPanel.js +33 -70
  252. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
  253. package/src/View/Layout/LayoutViewPanel.js +1 -1
  254. package/src/View/Layout/TransposedPopup.js +144 -138
  255. package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
  256. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  257. package/src/View/Layout/Wizard/sections/GridFilterSection.js +1 -1
  258. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +3 -3
  259. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -0
  260. package/src/View/Layout/Wizard/sections/RowSummarySection.js +1 -1
  261. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  262. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +35 -12
  263. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +20 -15
  264. package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
  265. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +12 -1
  266. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +12 -1
  267. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +14 -4
  268. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +12 -1
  269. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +2 -1
  270. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +19 -10
  271. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.d.ts +2 -1
  272. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +25 -4
  273. package/src/View/Shortcut/Wizard/ShortcutWizard.js +18 -14
  274. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
  275. package/src/View/StateManagement/handleExportState.js +1 -1
  276. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  277. package/src/View/Theme/ThemePopup.js +13 -16
  278. package/src/View/UIHelper.d.ts +4 -1
  279. package/src/View/UIHelper.js +23 -14
  280. package/src/agGrid/Adaptable.js +15 -11
  281. package/src/agGrid/AdaptableAgGrid.d.ts +16 -3
  282. package/src/agGrid/AdaptableAgGrid.js +306 -103
  283. package/src/agGrid/AdaptableFilterHandler.js +4 -0
  284. package/src/agGrid/AdaptableLogger.d.ts +3 -0
  285. package/src/agGrid/AdaptableLogger.js +10 -0
  286. package/src/agGrid/AgGridAdapter.js +19 -9
  287. package/src/agGrid/AgGridColumnAdapter.d.ts +1 -0
  288. package/src/agGrid/AgGridColumnAdapter.js +20 -22
  289. package/src/agGrid/AgGridExportAdapter.js +15 -14
  290. package/src/agGrid/AgGridFilterAdapter.js +4 -0
  291. package/src/agGrid/AgGridFloatingFilterAdapter.js +4 -1
  292. package/src/agGrid/AgGridMenuAdapter.js +10 -1
  293. package/src/agGrid/AgGridModulesAdapter.js +2 -1
  294. package/src/agGrid/AgGridOptionsService.js +3 -0
  295. package/src/agGrid/AgGridThemeAdapter.js +4 -2
  296. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
  297. package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
  298. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
  299. package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
  300. package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
  301. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
  302. package/src/agGrid/index.d.ts +6 -0
  303. package/src/agGrid/index.js +6 -0
  304. package/src/components/CheckBox/index.js +1 -1
  305. package/src/components/ColorPicker/ColorPicker.js +5 -4
  306. package/src/components/Dashboard/DashboardToolbar.js +1 -1
  307. package/src/components/Datepicker/index.js +1 -1
  308. package/src/components/Dropdown/Arrows.js +1 -1
  309. package/src/components/ExpressionEditor/DataTableEditor.js +3 -3
  310. package/src/components/ExpressionEditor/EditorInput.js +19 -3
  311. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
  312. package/src/components/FormLayout/index.js +1 -1
  313. package/src/components/OverlayTrigger/index.js +1 -1
  314. package/src/components/Select/Select.js +79 -16
  315. package/src/components/Tree/TreeDropdown/index.js +2 -2
  316. package/src/components/overlayBaseZIndex.js +1 -1
  317. package/src/components/utils/useContainerScrollObserver/index.js +17 -14
  318. package/src/devTools/index.js +54 -53
  319. package/src/env.js +2 -2
  320. package/src/layout-manager/src/LMEmitter.js +11 -11
  321. package/src/layout-manager/src/LMLogger.js +7 -0
  322. package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -0
  323. package/src/layout-manager/src/index.js +81 -58
  324. package/src/layout-manager/src/normalizeLayoutModel.js +3 -0
  325. package/src/metamodel/adaptable.metamodel.d.ts +177 -8
  326. package/src/metamodel/adaptable.metamodel.js +1 -1
  327. package/src/migration/AdaptableUpgradeHelper.js +8 -3
  328. package/src/migration/VersionUpgrade.js +1 -0
  329. package/src/migration/VersionUpgrade17.js +5 -6
  330. package/src/migration/VersionUpgrade20.js +4 -4
  331. package/src/migration/VersionUpgrade22.d.ts +21 -0
  332. package/src/migration/VersionUpgrade22.js +187 -0
  333. package/src/parser/src/ExpressionEvaluationError.js +1 -0
  334. package/src/types.d.ts +9 -7
  335. package/themes/dark.css +30 -30
  336. package/themes/light.css +4 -2
  337. package/tsconfig.esm.tsbuildinfo +1 -1
  338. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +0 -632
  339. package/src/View/Alert/AlertEntityRow.d.ts +0 -11
  340. package/src/View/Alert/AlertEntityRow.js +0 -28
  341. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -21
  342. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +0 -58
  343. package/src/View/Components/Buttons/ButtonFunction.d.ts +0 -7
  344. package/src/View/Components/Buttons/ButtonFunction.js +0 -8
  345. package/src/View/Components/Buttons/ButtonGeneral.d.ts +0 -5
  346. package/src/View/Components/Buttons/ButtonGeneral.js +0 -7
  347. package/src/View/Components/Buttons/ButtonPreviewDelete.d.ts +0 -4
  348. package/src/View/Components/Buttons/ButtonPreviewDelete.js +0 -5
  349. package/src/View/Components/Buttons/ButtonShow.d.ts +0 -5
  350. package/src/View/Components/Buttons/ButtonShow.js +0 -7
  351. package/src/View/Components/Buttons/ButtonShowChart.d.ts +0 -5
  352. package/src/View/Components/Buttons/ButtonShowChart.js +0 -7
  353. package/src/View/Components/Buttons/ButtonUndo.d.ts +0 -5
  354. package/src/View/Components/Buttons/ButtonUndo.js +0 -7
  355. package/src/View/Components/ExpressionWizard.d.ts +0 -24
  356. package/src/View/Components/ExpressionWizard.js +0 -77
  357. package/src/View/Components/FilterForm/Waiting.d.ts +0 -10
  358. package/src/View/Components/FilterForm/Waiting.js +0 -14
  359. package/src/View/Components/Panels/PanelFooter.d.ts +0 -10
  360. package/src/View/Components/Panels/PanelFooter.js +0 -9
  361. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +0 -12
  362. package/src/View/Components/Panels/PanelWithTwoButtons.js +0 -15
  363. package/src/View/Components/Panels/ToolPanelSettingsPanel.d.ts +0 -8
  364. package/src/View/Components/Panels/ToolPanelSettingsPanel.js +0 -26
  365. package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +0 -18
  366. package/src/View/Components/Selectors/ColumnSelectorOld.js +0 -45
  367. package/src/View/Components/SharedProps/WizardScopeState.d.ts +0 -4
  368. package/src/View/Components/WizardSummaryRow.d.ts +0 -9
  369. package/src/View/Components/WizardSummaryRow.js +0 -11
  370. package/src/View/CustomSort/CustomSortSummary.d.ts +0 -23
  371. package/src/View/CustomSort/CustomSortSummary.js +0 -105
  372. package/src/View/DataImport/DataImportWizard/sections/ImportSection.d.ts +0 -9
  373. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +0 -19
  374. package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +0 -19
  375. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +0 -68
  376. package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +0 -19
  377. package/src/View/Export/Wizard/ReportRowTypeWizard.js +0 -68
  378. package/src/View/Export/Wizard/ReportSettingsWizard.d.ts +0 -21
  379. package/src/View/Export/Wizard/ReportSettingsWizard.js +0 -56
  380. package/src/View/Export/Wizard/ReportSummaryWizard.d.ts +0 -15
  381. package/src/View/Export/Wizard/ReportSummaryWizard.js +0 -35
  382. package/src/View/Filter/FilterSummary.d.ts +0 -18
  383. package/src/View/Filter/FilterSummary.js +0 -48
  384. package/src/View/FormatColumn/FormatColumnSummary.d.ts +0 -22
  385. package/src/View/FormatColumn/FormatColumnSummary.js +0 -90
  386. package/src/View/FreeTextColumn/FreeTextColumnSummary.d.ts +0 -22
  387. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +0 -88
  388. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.d.ts +0 -7
  389. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +0 -94
  390. package/src/View/PlusMinus/PlusMinusSummary.d.ts +0 -22
  391. package/src/View/PlusMinus/PlusMinusSummary.js +0 -95
  392. package/src/View/Wizard/WizardLegend.d.ts +0 -12
  393. package/src/View/Wizard/WizardLegend.js +0 -23
  394. /package/src/{View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts → AdaptableState/Common/AdaptableRowContext.js} +0 -0
  395. /package/src/{View/Components/SharedProps/WizardScopeState.js → AdaptableState/Common/ColumnHighlightInfo.js} +0 -0
@@ -38,6 +38,7 @@ import * as InternalRedux from '../ActionsReducers/InternalRedux';
38
38
  import * as TeamSharingRedux from '../ActionsReducers/TeamSharingRedux';
39
39
  import * as ThemeRedux from '../ActionsReducers/ThemeRedux';
40
40
  import * as ToolPanelRedux from '../ActionsReducers/ToolPanelRedux';
41
+ import * as UserInterfaceRedux from '../ActionsReducers/UserInterfaceRedux';
41
42
  import { areAdaptableProfileTracksEnabled, getMarker } from '../../devTools';
42
43
  import { isAdaptableSharedEntity, isCustomSharedEntity, } from '../../AdaptableState/TeamSharingState';
43
44
  import { buildAdaptableStateFunctionConfig } from './buildAdaptableStateFunctionConfig';
@@ -66,6 +67,23 @@ export const LoadState = (State) => ({
66
67
  State,
67
68
  });
68
69
  export class AdaptableStore {
70
+ TheStore;
71
+ Load;
72
+ emitter;
73
+ storageEngine;
74
+ currentStorageState;
75
+ previousStorageState;
76
+ loadStorageInProgress = false;
77
+ loadStateOnStartup = true; // set to false if you want no state
78
+ on = (eventName, callback) => {
79
+ return this.emitter.on(eventName, callback);
80
+ };
81
+ onAny = (callback) => {
82
+ return this.emitter.onAny(callback);
83
+ };
84
+ emit = (eventName, data) => {
85
+ return this.emitter.emit(eventName, data);
86
+ };
69
87
  /**
70
88
  *
71
89
  * @param adaptable The Adaptable instance
@@ -75,49 +93,6 @@ export class AdaptableStore {
75
93
  /*
76
94
  This is the main store for Adaptable State
77
95
  */
78
- this.loadStorageInProgress = false;
79
- this.loadStateOnStartup = true; // set to false if you want no state
80
- this.on = (eventName, callback) => {
81
- return this.emitter.on(eventName, callback);
82
- };
83
- this.onAny = (callback) => {
84
- return this.emitter.onAny(callback);
85
- };
86
- this.emit = (eventName, data) => {
87
- return this.emitter.emit(eventName, data);
88
- };
89
- this.loadStore = (config) => {
90
- const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
91
- const postProcessState = postLoadHook ?? ((state) => state);
92
- this.storageEngine.setStateKey(adaptableStateKey);
93
- // START STATE LOAD
94
- this.loadStorageInProgress = true;
95
- return (this.Load = this.storageEngine
96
- .load(adaptable, initialState)
97
- .then((storedState) => {
98
- if (storedState && this.loadStateOnStartup) {
99
- this.TheStore.dispatch(LoadState(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, buildAdaptableStateFunctionConfig(adaptable)))));
100
- }
101
- })
102
- .then(() => {
103
- this.TheStore.dispatch(InitState());
104
- // END STATE LOAD
105
- this.loadStorageInProgress = false;
106
- }, (e) => {
107
- adaptable.api.consoleError('Failed to load previous Adaptable State : ', e);
108
- //for now i'm still initializing Adaptable even if loading state has failed....
109
- //we may revisit that later
110
- this.TheStore.dispatch(InitState());
111
- // END STATE LOAD
112
- this.loadStorageInProgress = false;
113
- this.TheStore.dispatch(PopupRedux.PopupShowAlert({
114
- alertType: 'generic',
115
- header: 'Configuration',
116
- message: 'Error loading your configuration:' + e,
117
- alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
118
- }));
119
- }));
120
- };
121
96
  let rootReducerObject = {
122
97
  // Reducers for Non-Persisted State
123
98
  Popup: PopupRedux.PopupReducer,
@@ -147,6 +122,7 @@ export class AdaptableStore {
147
122
  TeamSharing: TeamSharingRedux.TeamSharingReducer,
148
123
  Theme: ThemeRedux.ThemeReducer,
149
124
  ToolPanel: ToolPanelRedux.ToolPanelReducer,
125
+ UserInterface: UserInterfaceRedux.UserInterfaceReducer,
150
126
  };
151
127
  // allow plugins to participate in the root reducer
152
128
  adaptable.forPlugins((plugin) => {
@@ -262,6 +238,38 @@ export class AdaptableStore {
262
238
  }
263
239
  return Promise.resolve(true);
264
240
  }
241
+ loadStore = (config) => {
242
+ const { adaptable, adaptableStateKey, initialState, postLoadHook } = config;
243
+ const postProcessState = postLoadHook ?? ((state) => state);
244
+ this.storageEngine.setStateKey(adaptableStateKey);
245
+ // START STATE LOAD
246
+ this.loadStorageInProgress = true;
247
+ return (this.Load = this.storageEngine
248
+ .load(adaptable, initialState)
249
+ .then((storedState) => {
250
+ if (storedState && this.loadStateOnStartup) {
251
+ this.TheStore.dispatch(LoadState(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState, buildAdaptableStateFunctionConfig(adaptable)))));
252
+ }
253
+ })
254
+ .then(() => {
255
+ this.TheStore.dispatch(InitState());
256
+ // END STATE LOAD
257
+ this.loadStorageInProgress = false;
258
+ }, (e) => {
259
+ adaptable.api.consoleError('Failed to load saved Adaptable state.', e);
260
+ //for now i'm still initializing Adaptable even if loading state has failed....
261
+ //we may revisit that later
262
+ this.TheStore.dispatch(InitState());
263
+ // END STATE LOAD
264
+ this.loadStorageInProgress = false;
265
+ this.TheStore.dispatch(PopupRedux.PopupShowAlert({
266
+ alertType: 'generic',
267
+ header: 'Configuration',
268
+ message: 'Failed to load your configuration: ' + e,
269
+ alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
270
+ }));
271
+ }));
272
+ };
265
273
  }
266
274
  function createDevToolsActionMarkerMiddleware(adaptable) {
267
275
  const adaptableId = adaptable?.adaptableOptions?.adaptableId;
@@ -575,6 +583,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
575
583
  * Action: We set up all columns again
576
584
  */
577
585
  case QuickSearchRedux.QUICK_SEARCH_SET_CELL_MATCHING_STYLE:
586
+ case FormatColumnRedux.FORMAT_COLUMN_ADD_BATCH:
578
587
  case FormatColumnRedux.FORMAT_COLUMN_ADD:
579
588
  case FormatColumnRedux.FORMAT_COLUMN_EDIT:
580
589
  case FormatColumnRedux.FORMAT_COLUMN_DELETE:
@@ -739,6 +748,27 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
739
748
  });
740
749
  return ret;
741
750
  }
751
+ case InternalRedux.HIGHLIGHT_COLUMN_ADD: {
752
+ const actionTyped = action;
753
+ const ret = next(action);
754
+ const columnHighlightInfo = actionTyped.columnHighlightInfo;
755
+ adaptable.api.gridApi.refreshColumn(columnHighlightInfo.columnId);
756
+ return ret;
757
+ }
758
+ case InternalRedux.HIGHLIGHT_COLUMN_DELETE: {
759
+ const actionTyped = action;
760
+ const ret = next(action);
761
+ adaptable.api.gridApi.refreshColumn(actionTyped.columnId);
762
+ return ret;
763
+ }
764
+ case InternalRedux.HIGHLIGHT_COLUMN_DELETE_ALL: {
765
+ const columnHighlightInfos = middlewareAPI.getState().Internal.ColumnHighlightInfo;
766
+ const ret = next(action);
767
+ columnHighlightInfos.forEach((columnHighlightInfo) => {
768
+ adaptable.api.gridApi.refreshColumn(columnHighlightInfo.columnId);
769
+ });
770
+ return ret;
771
+ }
742
772
  case InternalRedux.HIGHLIGHT_ROW_ADD: {
743
773
  const actionTyped = action;
744
774
  const ret = next(action);
@@ -964,6 +994,31 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
964
994
  module.setUpScheduleJobs();
965
995
  return returnAction;
966
996
  }
997
+ /*******************
998
+ * USER INTERFACE ACTIONS
999
+ *******************/
1000
+ case UserInterfaceRedux.USER_INTERFACE_SET_HIDE_ADAPTABLE_UI: {
1001
+ const returnAction = next(action);
1002
+ const { hideAdaptableUI } = action;
1003
+ // Hide or show Dashboard
1004
+ middlewareAPI.dispatch(DashboardRedux.DashboardSetIsHidden(hideAdaptableUI));
1005
+ // Hide or show Adaptable ToolPanel in the AG Grid sidebar
1006
+ if (hideAdaptableUI) {
1007
+ adaptable.hideAdaptableToolPanel();
1008
+ }
1009
+ else {
1010
+ adaptable.showAdaptableToolPanel();
1011
+ }
1012
+ // Hide or show Adaptable StatusBar panels
1013
+ if (hideAdaptableUI) {
1014
+ adaptable.hideAdaptableStatusBar();
1015
+ }
1016
+ else {
1017
+ adaptable.showAdaptableStatusBar();
1018
+ }
1019
+ // Column and Context Menus are handled in the AgGridMenuAdapter
1020
+ return returnAction;
1021
+ }
967
1022
  /*******************
968
1023
  * DASHBOARD ACTIONS
969
1024
  *******************/
@@ -1000,6 +1055,14 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1000
1055
  const newLayout = (newLayoutState.Layouts || []).find((l) => l.Name == newLayoutState.CurrentLayout) ||
1001
1056
  newLayoutState.Layouts[0] ||
1002
1057
  ERROR_LAYOUT;
1058
+ if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
1059
+ returnAction.type == LayoutRedux.LAYOUT_DELETE) {
1060
+ // tell AdapTable the Layout has been selected
1061
+ if (newLayout) {
1062
+ adaptable.updateLayoutInManagerAfterStoreHasChanged(newLayout);
1063
+ }
1064
+ }
1065
+ // !!! filter refresh has to be AFTER the layout has been set in the store
1003
1066
  let refreshColumnFilters = false;
1004
1067
  if (adaptable.api.filterApi.columnFilterApi.internalApi.areColumnFiltersDifferent(oldLayout.ColumnFilters, newLayout.ColumnFilters)) {
1005
1068
  refreshColumnFilters = true;
@@ -1011,13 +1074,6 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1011
1074
  if (refreshColumnFilters || refreshGridFilter) {
1012
1075
  adaptable.applyFiltering({ updateColumnFilterModel: refreshColumnFilters });
1013
1076
  }
1014
- if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
1015
- returnAction.type == LayoutRedux.LAYOUT_DELETE) {
1016
- // tell AdapTable the Layout has been selected
1017
- if (newLayout) {
1018
- adaptable.updateLayoutInManagerAfterStoreHasChanged(newLayout);
1019
- }
1020
- }
1021
1077
  // when changing current layout via the api, the layout should update
1022
1078
  if (returnAction.type == LayoutRedux.LAYOUT_SAVE) {
1023
1079
  const savingLayout = returnAction.layout;
@@ -1285,7 +1341,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1285
1341
  const alert = {
1286
1342
  alertType: 'generic',
1287
1343
  header: 'Team Sharing',
1288
- message: "Couldn't get shared items: " + error.message,
1344
+ message: 'Failed to retrieve shared items: ' + error.message,
1289
1345
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1290
1346
  };
1291
1347
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1355,7 +1411,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1355
1411
  const alert = {
1356
1412
  alertType: 'generic',
1357
1413
  header: 'Team Sharing',
1358
- message: `Couldn't share ${adaptable.ModuleService.getModuleFriendlyName(Module)}, there is already an existing active share for it: ${existingActiveSharedEntity.Description}`,
1414
+ message: `Cannot share ${adaptable.ModuleService.getModuleFriendlyName(Module)} an active share already exists: ${existingActiveSharedEntity.Description}.`,
1359
1415
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1360
1416
  };
1361
1417
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1379,7 +1435,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1379
1435
  const alert = {
1380
1436
  alertType: 'generic',
1381
1437
  header: 'Team Sharing',
1382
- message: `${adaptable.ModuleService.getModuleFriendlyName(Module)} Shared Successfully`,
1438
+ message: `${adaptable.ModuleService.getModuleFriendlyName(Module)} shared successfully.`,
1383
1439
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Success'),
1384
1440
  };
1385
1441
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1390,7 +1446,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1390
1446
  const alert = {
1391
1447
  alertType: 'generic',
1392
1448
  header: 'Team Sharing',
1393
- message: "Couldn't share item: " + error.message,
1449
+ message: 'Failed to share item: ' + error.message,
1394
1450
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1395
1451
  };
1396
1452
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1415,10 +1471,11 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1415
1471
  if (sharedEntityDependants.length) {
1416
1472
  const alert = {
1417
1473
  alertType: 'generic',
1418
- header: `Cannot remove the shared item as it is referenced in:`,
1419
- message: sharedEntityDependants
1420
- .map((sharedEntity) => `${adaptable.ModuleService.getModuleFriendlyName(sharedEntity.Module)} ${sharedEntity.Description}`)
1421
- .join('\n'),
1474
+ header: 'Team Sharing',
1475
+ message: 'Cannot remove this shared item. It is referenced by: ' +
1476
+ sharedEntityDependants
1477
+ .map((sharedEntity) => `${adaptable.ModuleService.getModuleFriendlyName(sharedEntity.Module)} ${sharedEntity.Description}`)
1478
+ .join(', '),
1422
1479
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Warning'),
1423
1480
  };
1424
1481
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1435,7 +1492,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1435
1492
  const alert = {
1436
1493
  alertType: 'generic',
1437
1494
  header: 'Team Sharing',
1438
- message: "Couldn't remove item: " + error.message,
1495
+ message: 'Failed to remove shared item: ' + error.message,
1439
1496
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1440
1497
  };
1441
1498
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1457,8 +1514,8 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1457
1514
  !adaptable.api.optionsApi.getTeamSharingOptions().suppressOverrideConfigWarning) {
1458
1515
  let confirmation = {
1459
1516
  CancelButtonText: 'Cancel Import',
1460
- Header: 'Overwriting Existing Object',
1461
- Msg: 'This import will overwrite an existing object in your State. Do you wish to continue?',
1517
+ Header: 'Overwrite Existing Item',
1518
+ Msg: 'This import will overwrite an existing item in your configuration. Do you wish to continue?',
1462
1519
  ConfirmButtonText: 'Import',
1463
1520
  CancelAction: null,
1464
1521
  ConfirmAction: processImportAction,
@@ -1504,7 +1561,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1504
1561
  const alert = {
1505
1562
  alertType: 'generic',
1506
1563
  header: 'Team Sharing',
1507
- message: `Item Successfully Imported`,
1564
+ message: 'Item imported successfully.',
1508
1565
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Success'),
1509
1566
  };
1510
1567
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1544,7 +1601,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1544
1601
  const alert = {
1545
1602
  alertType: 'generic',
1546
1603
  header: 'Team Sharing',
1547
- message: "Couldn't update active item: " + error.message,
1604
+ message: 'Failed to update shared item: ' + error.message,
1548
1605
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1549
1606
  };
1550
1607
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -1565,7 +1622,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1565
1622
  const alert = {
1566
1623
  alertType: 'generic',
1567
1624
  header: 'Team Sharing',
1568
- message: "Couldn't check for updates: " + error.message,
1625
+ message: 'Failed to check for updates: ' + error.message,
1569
1626
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
1570
1627
  };
1571
1628
  adaptable.api.alertApi.displayAdaptableAlertNotification(alert);
@@ -4,6 +4,10 @@ import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
4
4
  * Base class for all strategies and does most of the work of creating menus
5
5
  */
6
6
  export class AdaptableModuleBase {
7
+ api;
8
+ moduleInfo;
9
+ AccessLevel;
10
+ agGridModuleDepsInfo;
7
11
  constructor(module, friendlyName, glyph, popup, description, api) {
8
12
  this.api = api;
9
13
  this.moduleInfo = {
@@ -16,6 +16,7 @@ import { getAlertBehaviourViewItems } from './Utilities/Alert/getAlertBehaviourV
16
16
  import { getAlertPreviewViewItems } from './Utilities/Alert/getAlertPreviewViewItems';
17
17
  import { getAlertTypeViewItems } from './Utilities/Alert/getAlertTypeViewItems';
18
18
  export class AlertModule extends AdaptableModuleBase {
19
+ isListeningToCellDataChanges;
19
20
  constructor(api) {
20
21
  super(ModuleConstants.AlertModuleId, ModuleConstants.AlertModuleFriendlyName, 'alert', 'AlertPopup', 'Get notified when things happen in Adaptable that you need to know about', api);
21
22
  this.isListeningToCellDataChanges = false;
@@ -182,6 +183,10 @@ export class AlertModule extends AdaptableModuleBase {
182
183
  const alertType = getAlertType(alert);
183
184
  return {
184
185
  items: [
186
+ {
187
+ name: 'Name',
188
+ values: [alert.Name],
189
+ },
185
190
  getAlertTypeViewItems(alert),
186
191
  alertType === 'DataChange' && {
187
192
  ...getScopeViewItems(alert.Scope, this.api),
@@ -39,8 +39,8 @@ export class BulkUpdateModule extends AdaptableModuleBase {
39
39
  IsValid: false,
40
40
  Alert: {
41
41
  alertType: 'generic',
42
- header: 'Bulk Update Error',
43
- message: 'Cannot edit while Grid is in Pivot Mode.',
42
+ header: 'Bulk Update',
43
+ message: 'Editing is not available in Pivot Mode.',
44
44
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
45
45
  },
46
46
  };
@@ -50,8 +50,8 @@ export class BulkUpdateModule extends AdaptableModuleBase {
50
50
  IsValid: false,
51
51
  Alert: {
52
52
  alertType: 'generic',
53
- header: 'Bulk Update Error',
54
- message: 'No cells are selected.\nPlease select some cells.',
53
+ header: 'Bulk Update',
54
+ message: 'No cells selected. Please select one or more cells to continue.',
55
55
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
56
56
  },
57
57
  };
@@ -61,8 +61,8 @@ export class BulkUpdateModule extends AdaptableModuleBase {
61
61
  IsValid: false,
62
62
  Alert: {
63
63
  alertType: 'generic',
64
- header: 'Bulk Update Error',
65
- message: 'Bulk Update only supports single column edit.\nPlease adjust cell selection.',
64
+ header: 'Bulk Update',
65
+ message: 'Bulk Update supports editing a single column at a time. Please adjust your selection.',
66
66
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
67
67
  },
68
68
  };
@@ -74,8 +74,8 @@ export class BulkUpdateModule extends AdaptableModuleBase {
74
74
  IsValid: false,
75
75
  Alert: {
76
76
  alertType: 'generic',
77
- header: 'Bulk Update Error',
78
- message: 'Bulk Update is not permitted on readonly cells.\nPlease adjust the cell selection.',
77
+ header: 'Bulk Update',
78
+ message: 'Bulk Update is not available for read-only cells. Please adjust your selection.',
79
79
  alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'),
80
80
  },
81
81
  };
@@ -7,6 +7,7 @@ import { getCalculatedColumnSettingsTags } from '../View/CalculatedColumn/Utilit
7
7
  import { getExpressionViewItems } from '../Utilities/getExpressionViewItems';
8
8
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
9
9
  export class CalculatedColumnModule extends AdaptableModuleBase {
10
+ isListeningToCellDataChanges;
10
11
  constructor(api) {
11
12
  super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'calculated-column', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
12
13
  this.isListeningToCellDataChanges = false;
@@ -8,9 +8,9 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
8
8
  * Module that provides Cell Summaries on numeric columns
9
9
  */
10
10
  export class CellSummaryModule extends AdaptableModuleBase {
11
+ cachedCellSummary = new WeakMap();
11
12
  constructor(api) {
12
13
  super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of numeric cells using multiple summary operations', api);
13
- this.cachedCellSummary = new WeakMap();
14
14
  }
15
15
  getViewAccessLevel() {
16
16
  return 'Full';
@@ -47,6 +47,10 @@ export class CustomSortModule extends AdaptableModuleBase {
47
47
  toView(customSort) {
48
48
  return {
49
49
  items: [
50
+ {
51
+ name: 'Name',
52
+ values: [customSort.Name],
53
+ },
50
54
  getCustomSortColumnViewItems(customSort, this.api),
51
55
  getCustomSortSortOrderViewItems(customSort),
52
56
  getObjectTagsViewItems(customSort, this.api),
@@ -2,6 +2,7 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
3
3
  import { DataChangeHistoryStatusBarContent } from '../View/DataChangeHistory/DataChangeHistoryStatusBarContent';
4
4
  export class DataChangeHistoryModule extends AdaptableModuleBase {
5
+ isListeningToCellDataChanges;
5
6
  constructor(api) {
6
7
  super(ModuleConstants.DataChangeHistoryModuleId, ModuleConstants.DataChangeHistoryFriendlyName, 'target', 'DataChangeHistoryPopup', 'Provides an overview of all previous changes, giving the possibility to undo specific changes', api);
7
8
  this.isListeningToCellDataChanges = false;
@@ -12,6 +12,7 @@ import { FlashingCellWizard } from '../View/FlashingCell/Wizard/FlashingCellWiza
12
12
  import { getFlashingCellDurationViewItems } from './Utilities/FlashingCell/getFlashingCellDurationViewItems';
13
13
  import { errorOnce } from '../agGrid/AdaptableLogger';
14
14
  export class FlashingCellModule extends AdaptableModuleBase {
15
+ isListeningToCellDataChanges;
15
16
  constructor(api) {
16
17
  super(ModuleConstants.FlashingCellModuleId, ModuleConstants.FlashingCellFriendlyName, 'lightning', 'FlashingAlert', 'Flash cells when they change', api);
17
18
  this.isListeningToCellDataChanges = false;
@@ -181,6 +182,7 @@ export class FlashingCellModule extends AdaptableModuleBase {
181
182
  }
182
183
  return [
183
184
  this.createMenuItemReduxAction('flashing-cell-add', 'Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
185
+ Name: `Any Change [${column.columnId}]`,
184
186
  Scope: {
185
187
  ColumnIds: [column.columnId],
186
188
  },
@@ -246,6 +248,10 @@ export class FlashingCellModule extends AdaptableModuleBase {
246
248
  toView(flashingCell) {
247
249
  return {
248
250
  items: [
251
+ {
252
+ name: 'Name',
253
+ values: [flashingCell.Name],
254
+ },
249
255
  { ...getScopeViewItems(flashingCell.Scope, this.api), label: 'Trigger' },
250
256
  {
251
257
  ...getRuleViewItems(flashingCell.Rule, this.api),
@@ -82,6 +82,10 @@ export class FormatColumnModule extends AdaptableModuleBase {
82
82
  return {
83
83
  abObject: formatColumn,
84
84
  items: [
85
+ {
86
+ name: 'Name',
87
+ values: [formatColumn.Name],
88
+ },
85
89
  getScopeViewItems(formatColumn.Scope, this.api),
86
90
  getFormatColumnSettingsTargetItems(formatColumn),
87
91
  formatColumn.Rule && getRuleViewItems(formatColumn.Rule, this.api),
@@ -5,6 +5,7 @@ import { FreeTextColumnWizard } from '../View/FreeTextColumn/Wizard/FreeTextColu
5
5
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
6
6
  import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
7
7
  export class FreeTextColumnModule extends AdaptableModuleBase {
8
+ isListeningToCellDataChanges;
8
9
  constructor(api) {
9
10
  super(ModuleConstants.FreeTextColumnModuleId, ModuleConstants.FreeTextColumnFriendlyName, 'horizontal-lines', 'FreeTextColumnPopup', 'Dynamic column showing custom content (stored in state and not with grid data)', api);
10
11
  this.isListeningToCellDataChanges = false;
@@ -17,9 +17,10 @@ import { getGridFilterViewItems } from '../View/Layout/Wizard/getGridFilterPrevi
17
17
  import { RowSummaryService } from '../Utilities/Services/RowSummaryService';
18
18
  import { isPivotLayout } from '../Api/Implementation/LayoutHelpers';
19
19
  export class LayoutModule extends AdaptableModuleBase {
20
+ LayoutState;
21
+ rowSummaryService = new RowSummaryService(this.api);
20
22
  constructor(api) {
21
23
  super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'grid', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
22
- this.rowSummaryService = new RowSummaryService(this.api);
23
24
  }
24
25
  onAdaptableReady() {
25
26
  this.rowSummaryService.onAdaptableReady();
@@ -298,14 +299,14 @@ export class LayoutModule extends AdaptableModuleBase {
298
299
  }
299
300
  return {
300
301
  items: [
301
- {
302
- name: 'Grid Type',
303
- values: [isPivotLayout(layout) ? 'Pivot' : 'Table'],
304
- },
305
302
  {
306
303
  name: 'Name',
307
304
  values: [layout.Name],
308
305
  },
306
+ {
307
+ name: 'Grid Type',
308
+ values: [isPivotLayout(layout) ? 'Pivot' : 'Table'],
309
+ },
309
310
  /**
310
311
  * Hide pivot columns.
311
312
  *
@@ -11,6 +11,8 @@ import { MovePlusMinus } from '../View/PlusMinus/MovePlusMinus';
11
11
  import { PlusMinusWizard } from '../View/PlusMinus/Wizard/PlusMinusWizard';
12
12
  import { errorOnce } from '../agGrid/AdaptableLogger';
13
13
  export class PlusMinusModule extends AdaptableModuleBase {
14
+ shouldHandleKeyDown;
15
+ adaptable;
14
16
  constructor(api) {
15
17
  super(ModuleConstants.PlusMinusModuleId, ModuleConstants.PlusMinusFriendlyName, 'add-circle', 'PlusMinusPopup', 'Configure how a cell value will edit when the + or - keys are pressed', api);
16
18
  this.shouldHandleKeyDown = false;
@@ -184,7 +186,7 @@ export class PlusMinusModule extends AdaptableModuleBase {
184
186
  failedMessages.push(failedMessage);
185
187
  }
186
188
  });
187
- this.api.alertApi.showAlertError('Nudge(s) failed rule', failedMessages.toString());
189
+ this.api.alertApi.showAlertError('Plus/Minus', 'One or more nudge values were rejected by validation rules: ' + failedMessages.toString());
188
190
  }
189
191
  }
190
192
  getTeamSharingAction() {
@@ -198,6 +200,10 @@ export class PlusMinusModule extends AdaptableModuleBase {
198
200
  return {
199
201
  abObject: plusMinus,
200
202
  items: [
203
+ {
204
+ name: 'Name',
205
+ values: [plusMinus.Name],
206
+ },
201
207
  {
202
208
  name: 'Target',
203
209
  ...getScopeViewItems(plusMinus.Scope, this.api),
@@ -24,7 +24,7 @@ export class QuickSearchModule extends AdaptableModuleBase {
24
24
  // Check for AG Grid QuickFilterModule if running Filter After Quick Search
25
25
  if (api.optionsApi.getQuickSearchOptions().filterGridAfterQuickSearch) {
26
26
  if (!api.internalApi.getAgGridModulesAdapter().isAgGridModuleRegistered('QuickFilterModule')) {
27
- api.consoleError('The AG Grid "GridFilter" Module is required if running Quick Search as Filter; Quick Search will run but no Filters will be applied');
27
+ api.consoleError('Quick Search with filterGridAfterQuickSearch requires the AG Grid "QuickFilterModule". Quick Search will run but grid filters will not be applied.');
28
28
  }
29
29
  }
30
30
  const isServerSideRowModel = agGridApi.getGridOption('rowModelType') === 'serverSide';
@@ -31,6 +31,7 @@ const NodeSchedule = {
31
31
  },
32
32
  };
33
33
  export class ScheduleModule extends AdaptableModuleBase {
34
+ scheduleJobs;
34
35
  constructor(api) {
35
36
  super(ModuleConstants.ScheduleModuleId, ModuleConstants.ScheduleFriendlyName, 'schedule', 'SchedulePopup', 'Schedule AdapTable functionality to run at times of your choosing (e.g. run reports)', api);
36
37
  this.scheduleJobs = [];
@@ -131,6 +132,10 @@ export class ScheduleModule extends AdaptableModuleBase {
131
132
  return {
132
133
  abObject: schedule,
133
134
  items: [
135
+ {
136
+ name: 'Name',
137
+ values: [schedule.Name],
138
+ },
134
139
  {
135
140
  name: 'Settings',
136
141
  values: getScheduleSettingsValues(schedule).map((description) => `${description.label}: ${description.value}`),
@@ -7,15 +7,19 @@ export class SettingsPanelModule extends AdaptableModuleBase {
7
7
  super(ModuleConstants.SettingsPanelModuleId, friendlyName, 'settings', null, 'Manage all Adaptable Settings', api);
8
8
  }
9
9
  createColumnMenuItems(column) {
10
- return [
11
- // To do : get the icon and name from settings in case they have changed?
12
- this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
13
- ];
10
+ if (this.isModuleVisible()) {
11
+ return [
12
+ // To do : get the icon and name from settings in case they have changed?
13
+ this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
14
+ ];
15
+ }
14
16
  }
15
17
  createContextMenuItems(menuContext) {
16
- return [
17
- this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
18
- ];
18
+ if (this.isModuleVisible()) {
19
+ return [
20
+ this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen()),
21
+ ];
22
+ }
19
23
  }
20
24
  createModuleMenuItem(source) {
21
25
  if (this.isModuleVisible()) {
@@ -9,6 +9,8 @@ import { getShortcutSettingsViewItems } from './Utilities/Shortcut/getShortcutSe
9
9
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
10
10
  import { getScopeViewItems } from '../Utilities/getScopeViewItems';
11
11
  export class ShortcutModule extends AdaptableModuleBase {
12
+ shouldHandleKeyDown;
13
+ adaptable;
12
14
  constructor(api) {
13
15
  super(ModuleConstants.ShortcutModuleId, ModuleConstants.ShortcutFriendlyName, 'link', 'ShortcutPopup', 'Set up rules so cells update mathematically when keys are pressed in numeric cells', api);
14
16
  this.shouldHandleKeyDown = false;
@@ -80,6 +82,10 @@ export class ShortcutModule extends AdaptableModuleBase {
80
82
  return {
81
83
  abObject: shortcut,
82
84
  items: [
85
+ {
86
+ name: 'Name',
87
+ values: [shortcut.Name],
88
+ },
83
89
  getScopeViewItems(shortcut.Scope, this.api),
84
90
  getShortcutSettingsViewItems(shortcut),
85
91
  getObjectTagsViewItems(shortcut, this.api),