@adaptabletools/adaptable-cjs 22.0.0-canary.1 → 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/agGrid.d.ts +9 -9
  2. package/agGrid.js +1 -0
  3. package/index.css +1280 -1400
  4. package/index.css.map +1 -1
  5. package/index.d.ts +66 -0
  6. package/index.js +85 -0
  7. package/package.json +3 -3
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +6 -6
  9. package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
  10. package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +2 -2
  12. package/src/AdaptableOptions/ContainerOptions.d.ts +55 -15
  13. package/src/AdaptableOptions/CustomSortOptions.d.ts +4 -0
  14. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
  15. package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
  16. package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
  17. package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
  18. package/src/AdaptableState/AdaptableState.d.ts +2 -0
  19. package/src/AdaptableState/AlertState.d.ts +5 -2
  20. package/src/AdaptableState/ChartingState.d.ts +2 -2
  21. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  22. package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
  23. package/src/AdaptableState/Common/AdaptableColumn.d.ts +16 -10
  24. package/src/AdaptableState/Common/AdaptableColumnContext.d.ts +9 -0
  25. package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
  26. package/src/AdaptableState/Common/AdaptableObject.d.ts +20 -2
  27. package/src/AdaptableState/Common/AdaptableRowContext.d.ts +11 -0
  28. package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
  29. package/src/AdaptableState/Common/BaseContext.d.ts +2 -0
  30. package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +18 -0
  31. package/src/AdaptableState/Common/ColumnHighlightInfo.js +2 -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 +2 -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 +2 -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 +23 -12
  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 -10
  92. package/src/Api/Implementation/GridApiImpl.js +35 -20
  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 +17 -1
  127. package/src/Redux/ActionsReducers/InternalRedux.d.ts +15 -0
  128. package/src/Redux/ActionsReducers/InternalRedux.js +42 -3
  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 +26 -0
  133. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
  134. package/src/Redux/Store/AdaptableStore.js +113 -57
  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 +3 -3
  155. package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
  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 +17 -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 +5 -6
  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 +47 -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 +48 -12
  194. package/src/View/Alert/Wizard/AlertWizard.js +12 -8
  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 +35 -0
  225. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +18 -17
  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 +40 -14
  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 +36 -15
  243. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +13 -9
  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 +22 -11
  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 +24 -14
  280. package/src/agGrid/Adaptable.js +15 -11
  281. package/src/agGrid/AdaptableAgGrid.d.ts +12 -8
  282. package/src/agGrid/AdaptableAgGrid.js +257 -111
  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 +78 -15
  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 +191 -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.cjs.tsbuildinfo +1 -1
  338. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts +0 -1
  339. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +0 -633
  340. package/src/View/Alert/AlertEntityRow.d.ts +0 -11
  341. package/src/View/Alert/AlertEntityRow.js +0 -33
  342. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -21
  343. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +0 -63
  344. package/src/View/Components/Buttons/ButtonFunction.d.ts +0 -7
  345. package/src/View/Components/Buttons/ButtonFunction.js +0 -13
  346. package/src/View/Components/Buttons/ButtonGeneral.d.ts +0 -5
  347. package/src/View/Components/Buttons/ButtonGeneral.js +0 -12
  348. package/src/View/Components/Buttons/ButtonPreviewDelete.d.ts +0 -4
  349. package/src/View/Components/Buttons/ButtonPreviewDelete.js +0 -8
  350. package/src/View/Components/Buttons/ButtonShow.d.ts +0 -5
  351. package/src/View/Components/Buttons/ButtonShow.js +0 -12
  352. package/src/View/Components/Buttons/ButtonShowChart.d.ts +0 -5
  353. package/src/View/Components/Buttons/ButtonShowChart.js +0 -12
  354. package/src/View/Components/Buttons/ButtonUndo.d.ts +0 -5
  355. package/src/View/Components/Buttons/ButtonUndo.js +0 -12
  356. package/src/View/Components/ExpressionWizard.d.ts +0 -24
  357. package/src/View/Components/ExpressionWizard.js +0 -82
  358. package/src/View/Components/FilterForm/Waiting.d.ts +0 -10
  359. package/src/View/Components/FilterForm/Waiting.js +0 -19
  360. package/src/View/Components/Panels/PanelFooter.d.ts +0 -10
  361. package/src/View/Components/Panels/PanelFooter.js +0 -14
  362. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +0 -12
  363. package/src/View/Components/Panels/PanelWithTwoButtons.js +0 -20
  364. package/src/View/Components/Panels/ToolPanelSettingsPanel.d.ts +0 -8
  365. package/src/View/Components/Panels/ToolPanelSettingsPanel.js +0 -31
  366. package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +0 -18
  367. package/src/View/Components/Selectors/ColumnSelectorOld.js +0 -50
  368. package/src/View/Components/SharedProps/WizardScopeState.d.ts +0 -4
  369. package/src/View/Components/WizardSummaryRow.d.ts +0 -9
  370. package/src/View/Components/WizardSummaryRow.js +0 -16
  371. package/src/View/CustomSort/CustomSortSummary.d.ts +0 -23
  372. package/src/View/CustomSort/CustomSortSummary.js +0 -110
  373. package/src/View/DataImport/DataImportWizard/sections/ImportSection.d.ts +0 -9
  374. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +0 -24
  375. package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +0 -19
  376. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +0 -73
  377. package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +0 -19
  378. package/src/View/Export/Wizard/ReportRowTypeWizard.js +0 -73
  379. package/src/View/Export/Wizard/ReportSettingsWizard.d.ts +0 -21
  380. package/src/View/Export/Wizard/ReportSettingsWizard.js +0 -61
  381. package/src/View/Export/Wizard/ReportSummaryWizard.d.ts +0 -15
  382. package/src/View/Export/Wizard/ReportSummaryWizard.js +0 -40
  383. package/src/View/Filter/FilterSummary.d.ts +0 -18
  384. package/src/View/Filter/FilterSummary.js +0 -53
  385. package/src/View/FormatColumn/FormatColumnSummary.d.ts +0 -22
  386. package/src/View/FormatColumn/FormatColumnSummary.js +0 -95
  387. package/src/View/FreeTextColumn/FreeTextColumnSummary.d.ts +0 -22
  388. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +0 -93
  389. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.d.ts +0 -7
  390. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +0 -99
  391. package/src/View/PlusMinus/PlusMinusSummary.d.ts +0 -22
  392. package/src/View/PlusMinus/PlusMinusSummary.js +0 -100
  393. package/src/View/Wizard/WizardLegend.d.ts +0 -12
  394. package/src/View/Wizard/WizardLegend.js +0 -28
  395. /package/src/{View/Components/SharedProps/WizardScopeState.js → AdaptableState/Common/AdaptableRowContext.js} +0 -0
@@ -5,11 +5,18 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const Tabs_1 = require("../../../../components/Tabs");
7
7
  const FormLayout_1 = tslib_1.__importStar(require("../../../../components/FormLayout"));
8
+ const Input_1 = tslib_1.__importDefault(require("../../../../components/Input"));
8
9
  const Radio_1 = tslib_1.__importDefault(require("../../../../components/Radio"));
9
10
  const DropdownButton_1 = tslib_1.__importDefault(require("../../../../components/DropdownButton"));
10
11
  const OnePageAdaptableWizard_1 = require("../../../Wizard/OnePageAdaptableWizard");
11
12
  const Flex_1 = require("../../../../components/Flex");
12
13
  const ScheduleSettingsIPushPull = (props) => {
14
+ const handleNameChange = (event) => {
15
+ props.onChange({
16
+ ...props.iPushPull,
17
+ Name: event.target.value,
18
+ });
19
+ };
13
20
  const reportOptions = props.allReports.map((report) => ({
14
21
  label: report.Name,
15
22
  value: report.Name,
@@ -49,9 +56,13 @@ const ScheduleSettingsIPushPull = (props) => {
49
56
  });
50
57
  return (React.createElement(Flex_1.Box, { "data-name": "schedule-settings-ipushpull" },
51
58
  React.createElement(Tabs_1.Tabs, { autoFocus: false },
52
- React.createElement(Tabs_1.Tabs.Tab, null, "Ipushpull Schedule Settings"),
59
+ React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
53
60
  React.createElement(Tabs_1.Tabs.Content, null,
54
61
  React.createElement(FormLayout_1.default, null,
62
+ React.createElement(FormLayout_1.FormRow, { label: "Name" },
63
+ React.createElement(Input_1.default, { "data-name": "schedule-name", className: "twa:w-[300px]", onChange: handleNameChange, placeholder: "Enter Schedule Name", type: "string", value: props.iPushPull?.Name ?? '' })),
64
+ React.createElement(FormLayout_1.FormRow, { label: "" },
65
+ React.createElement(Flex_1.Box, { className: "twa:h-2" })),
55
66
  React.createElement(FormLayout_1.FormRow, { label: "Select Report" },
56
67
  React.createElement(DropdownButton_1.default, { "data-name": "report-name", disabled: props.allReports.length == 0, items: reportOptions, className: "twa:w-[300px]" }, props?.iPushPull?.IPushPullReport?.ReportName || 'Select Report')),
57
68
  React.createElement(FormLayout_1.FormRow, { label: "Select Folder" },
@@ -5,9 +5,16 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const Tabs_1 = require("../../../../components/Tabs");
7
7
  const FormLayout_1 = tslib_1.__importStar(require("../../../../components/FormLayout"));
8
+ const Input_1 = tslib_1.__importDefault(require("../../../../components/Input"));
8
9
  const DropdownButton_1 = tslib_1.__importDefault(require("../../../../components/DropdownButton"));
9
10
  const Flex_1 = require("../../../../components/Flex");
10
11
  const ScheduleSettingsOpenFin = (props) => {
12
+ const handleNameChange = (event) => {
13
+ props.onChange({
14
+ ...props.openFin,
15
+ Name: event.target.value,
16
+ });
17
+ };
11
18
  const reportOptions = props.allReports.map((report) => ({
12
19
  label: report.Name,
13
20
  value: report.Name,
@@ -21,9 +28,13 @@ const ScheduleSettingsOpenFin = (props) => {
21
28
  }));
22
29
  return (React.createElement(Flex_1.Box, { "data-name": "schedule-settings-openfin" },
23
30
  React.createElement(Tabs_1.Tabs, { autoFocus: false },
24
- React.createElement(Tabs_1.Tabs.Tab, null, "OpenFin Schedule Settings"),
31
+ React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
25
32
  React.createElement(Tabs_1.Tabs.Content, null,
26
33
  React.createElement(FormLayout_1.default, null,
34
+ React.createElement(FormLayout_1.FormRow, { label: "Name" },
35
+ React.createElement(Input_1.default, { "data-name": "schedule-name", className: "twa:w-[300px]", onChange: handleNameChange, placeholder: "Enter Schedule Name", type: "string", value: props.openFin?.Name ?? '' })),
36
+ React.createElement(FormLayout_1.FormRow, { label: "" },
37
+ React.createElement(Flex_1.Box, { className: "twa:h-2" })),
27
38
  React.createElement(FormLayout_1.FormRow, { label: "Select Report" },
28
39
  React.createElement(DropdownButton_1.default, { "data-name": "select-report", columns: ['label'], className: "twa:w-[300px]", disabled: props.allReports.length == 0, items: reportOptions }, props?.openFin?.OpenFinReport?.ReportName || 'Select Report')))))));
29
40
  };
@@ -21,16 +21,22 @@ const ScheduleSettingsReminder = (props) => {
21
21
  });
22
22
  },
23
23
  }));
24
+ const handleNameChange = (event) => {
25
+ props.onChange({
26
+ ...props.reminderSchedule,
27
+ Name: event.target.value,
28
+ });
29
+ };
24
30
  const handleHeaderChange = (event) => {
25
31
  props.onChange({
26
32
  ...props.reminderSchedule,
27
- Header: event.target?.value,
33
+ Header: event.target.value,
28
34
  });
29
35
  };
30
36
  const handleMessageChange = (event) => {
31
37
  props.onChange({
32
38
  ...props.reminderSchedule,
33
- Message: event.target?.value,
39
+ Message: event.target.value,
34
40
  });
35
41
  };
36
42
  const handleDisplayNotificationChange = (checked) => {
@@ -45,11 +51,15 @@ const ScheduleSettingsReminder = (props) => {
45
51
  DisplaySystemStatusMessage: checked,
46
52
  });
47
53
  };
48
- return (React.createElement(Flex_1.Box, { "data-name": "schedule-settings-remainder" },
54
+ return (React.createElement(Flex_1.Box, { "data-name": "schedule-settings-reminder" },
49
55
  React.createElement(Tabs_1.Tabs, { autoFocus: false },
50
- React.createElement(Tabs_1.Tabs.Tab, null, "Reminder Schedule Settings"),
56
+ React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
51
57
  React.createElement(Tabs_1.Tabs.Content, null,
52
58
  React.createElement(FormLayout_1.default, null,
59
+ React.createElement(FormLayout_1.FormRow, { label: "Name" },
60
+ React.createElement(Input_1.default, { "data-name": "schedule-name", className: "twa:w-[300px]", onChange: handleNameChange, placeholder: "Enter Reminder Name", type: "string", value: props.reminderSchedule?.Name ?? '' })),
61
+ React.createElement(FormLayout_1.FormRow, { label: "" },
62
+ React.createElement(Flex_1.Box, { className: "twa:h-2" })),
53
63
  React.createElement(FormLayout_1.FormRow, { label: "Header" },
54
64
  React.createElement(Input_1.default, { "data-name": "header", className: "twa:w-[300px]", onChange: handleHeaderChange, placeholder: "Enter Reminder Header", type: "string", value: props.reminderSchedule?.Header })),
55
65
  React.createElement(FormLayout_1.FormRow, { label: "Message" },
@@ -4,10 +4,17 @@ exports.ScheduleSettingsReport = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const FormLayout_1 = tslib_1.__importStar(require("../../../../components/FormLayout"));
7
+ const Input_1 = tslib_1.__importDefault(require("../../../../components/Input"));
7
8
  const Select_1 = require("../../../../components/Select");
8
9
  const Tabs_1 = require("../../../../components/Tabs");
9
10
  const Flex_1 = require("../../../../components/Flex");
10
11
  const ScheduleSettingsReport = (props) => {
12
+ const handleNameChange = (event) => {
13
+ props.onChange({
14
+ ...props.report,
15
+ Name: event.target.value,
16
+ });
17
+ };
11
18
  const reportOptions = props.allReports.map((report) => ({
12
19
  label: report.Name,
13
20
  value: report.Name,
@@ -34,9 +41,13 @@ const ScheduleSettingsReport = (props) => {
34
41
  }));
35
42
  return (React.createElement(Flex_1.Box, { "data-name": "schedule-settings-report" },
36
43
  React.createElement(Tabs_1.Tabs, { autoFocus: false, className: "twa:mb-3" },
37
- React.createElement(Tabs_1.Tabs.Tab, null, "Report Settings"),
44
+ React.createElement(Tabs_1.Tabs.Tab, null, "Settings"),
38
45
  React.createElement(Tabs_1.Tabs.Content, null,
39
46
  React.createElement(FormLayout_1.default, null,
47
+ React.createElement(FormLayout_1.FormRow, { label: "Name" },
48
+ React.createElement(Input_1.default, { "data-name": "schedule-name", className: "twa:w-[300px]", onChange: handleNameChange, placeholder: "Enter Schedule Name", type: "string", value: props.report?.Name ?? '' })),
49
+ React.createElement(FormLayout_1.FormRow, { label: "" },
50
+ React.createElement(Flex_1.Box, { className: "twa:h-2" })),
40
51
  React.createElement(FormLayout_1.FormRow, { label: "Export" },
41
52
  React.createElement(Flex_1.Box, { className: "twa:max-w-[300px]" },
42
53
  React.createElement(Select_1.Select, { "data-name": "select-report", options: reportOptions, value: props?.report?.ReportName, placeholder: "Select Export", onChange: (value) => props.onChange({
@@ -1,2 +1,3 @@
1
+ import { AdaptableApi } from '../../../../Api/AdaptableApi';
1
2
  import { BaseSchedule } from '../../../../AdaptableState/Common/Schedule';
2
- export declare const isSettingsValid: (schedule: BaseSchedule) => true | "Message type not selected" | "Reminder header not specified" | "Reminder message not specified" | "Report source not specified" | "Report format not selected" | "Report not selected" | "Report folder not selected" | "Report page not selected";
3
+ export declare const isSettingsValid: (schedule: BaseSchedule, api: AdaptableApi) => true | "A name is required." | "A Schedule with this name already exists." | "Please select a message type." | "A reminder header is required." | "A reminder message is required." | "Please select a report." | "Please select a report format." | "Please select a report folder." | "Please select a report page.";
@@ -4,44 +4,53 @@ exports.isSettingsValid = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Enums_1 = require("../../../../AdaptableState/Common/Enums");
6
6
  const StringExtensions_1 = tslib_1.__importDefault(require("../../../../Utilities/Extensions/StringExtensions"));
7
- const isSettingsValid = (schedule) => {
7
+ const isSettingsValid = (schedule, api) => {
8
+ // Validate Name - mandatory and unique
9
+ if (!schedule.Name?.trim()) {
10
+ return 'A name is required.';
11
+ }
12
+ const allSchedules = api.scheduleApi.getSchedules();
13
+ const isDuplicateName = allSchedules.some((s) => s.Name === schedule.Name && s.Uuid !== schedule.Uuid);
14
+ if (isDuplicateName) {
15
+ return 'A Schedule with this name already exists.';
16
+ }
8
17
  if (schedule.ScheduleType === Enums_1.ScheduleType.Reminder) {
9
18
  const reminder = schedule;
10
19
  if (!reminder.MessageType) {
11
- return 'Message type not selected';
20
+ return 'Please select a message type.';
12
21
  }
13
22
  if (StringExtensions_1.default.IsNullOrEmpty(reminder?.Header)) {
14
- return 'Reminder header not specified';
23
+ return 'A reminder header is required.';
15
24
  }
16
25
  if (StringExtensions_1.default.IsNullOrEmpty(reminder?.Message)) {
17
- return 'Reminder message not specified';
26
+ return 'A reminder message is required.';
18
27
  }
19
28
  }
20
29
  if (schedule.ScheduleType === Enums_1.ScheduleType.Report) {
21
30
  const report = schedule;
22
31
  if (StringExtensions_1.default.IsNullOrEmpty(report?.ReportName)) {
23
- return 'Report source not specified';
32
+ return 'Please select a report.';
24
33
  }
25
34
  if (StringExtensions_1.default.IsNullOrEmpty(report?.ReportFormat)) {
26
- return 'Report format not selected';
35
+ return 'Please select a report format.';
27
36
  }
28
37
  }
29
38
  if (schedule.ScheduleType === Enums_1.ScheduleType.ipushpull) {
30
39
  const ipushpull = schedule;
31
40
  if (StringExtensions_1.default.IsNullOrEmpty(ipushpull?.IPushPullReport?.ReportName)) {
32
- return 'Report not selected';
41
+ return 'Please select a report.';
33
42
  }
34
43
  if (StringExtensions_1.default.IsNullOrEmpty(ipushpull?.IPushPullReport?.Folder)) {
35
- return 'Report folder not selected';
44
+ return 'Please select a report folder.';
36
45
  }
37
46
  if (StringExtensions_1.default.IsNullOrEmpty(ipushpull?.IPushPullReport?.Page)) {
38
- return 'Report page not selected';
47
+ return 'Please select a report page.';
39
48
  }
40
49
  }
41
50
  if (schedule.ScheduleType === Enums_1.ScheduleType.OpenFin) {
42
51
  const openfin = schedule;
43
52
  if (StringExtensions_1.default.IsNullOrEmpty(openfin?.OpenFinReport?.ReportName)) {
44
- return 'Report not selected';
53
+ return 'Please select a report.';
45
54
  }
46
55
  }
47
56
  return true;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Shortcut } from '../../../AdaptableState/ShortcutState';
3
- export declare const isSettingsValid: (data: Shortcut) => string | true;
3
+ import { AdaptableApi } from '../../../types';
4
+ export declare const isSettingsValid: (data: Shortcut, api: AdaptableApi) => string | true;
4
5
  export declare const ShortcutSettingsSummary: React.FunctionComponent;
5
6
  interface ShortcutSettingsWizardProps {
6
7
  availableKeys: Array<string>;
@@ -13,7 +13,15 @@ const Tag_1 = require("../../../components/Tag");
13
13
  const HelpBlock_1 = tslib_1.__importDefault(require("../../../components/HelpBlock"));
14
14
  const Select_1 = require("../../../components/Select");
15
15
  const Flex_1 = require("../../../components/Flex");
16
- const isSettingsValid = (data) => {
16
+ const isSettingsValid = (data, api) => {
17
+ if (!data.Name?.trim()) {
18
+ return 'Name is required';
19
+ }
20
+ const allShortcuts = api.shortcutApi.getShortcuts();
21
+ const isDuplicateName = allShortcuts.some((s) => s.Name === data.Name && s.Uuid !== data.Uuid);
22
+ if (isDuplicateName) {
23
+ return 'A Shortcut already exists with that name';
24
+ }
17
25
  const shortcutKey = data.ShortcutKey && typeof data.ShortcutKey === 'string' ? '' : 'Shortcut key is not selected';
18
26
  const shortcutValue = typeof data.ShortcutValue === 'number' ? '' : 'Shortcut value is not specified';
19
27
  const shortcutOperation = data.ShortcutOperation && typeof data.ShortcutOperation === 'string'
@@ -26,6 +34,9 @@ exports.isSettingsValid = isSettingsValid;
26
34
  const ShortcutSettingsSummary = () => {
27
35
  const { data: shortcut } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
28
36
  return (React.createElement(React.Fragment, null,
37
+ React.createElement(OnePageAdaptableWizard_2.SummaryText, null,
38
+ "Name ",
39
+ React.createElement(Tag_1.Tag, null, shortcut.Name || 'Not specified')),
29
40
  React.createElement(OnePageAdaptableWizard_2.SummaryText, null,
30
41
  "Shortcut Key ",
31
42
  React.createElement(Tag_1.Tag, null, shortcut.ShortcutKey || 'Not selected')),
@@ -39,6 +50,12 @@ const ShortcutSettingsSummary = () => {
39
50
  exports.ShortcutSettingsSummary = ShortcutSettingsSummary;
40
51
  const ShortcutSettingsWizard = (props) => {
41
52
  const { data: shortcut } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
53
+ const handleNameChange = (event) => {
54
+ props.onChange({
55
+ ...shortcut,
56
+ Name: event.target.value,
57
+ });
58
+ };
42
59
  const handleKeyChange = React.useCallback((ShortcutKey) => {
43
60
  props.onChange({
44
61
  ...shortcut,
@@ -69,17 +86,21 @@ const ShortcutSettingsWizard = (props) => {
69
86
  React.createElement(Tabs_1.Tabs.Tab, null, "Shortcut Settings"),
70
87
  React.createElement(Tabs_1.Tabs.Content, null,
71
88
  React.createElement(FormLayout_1.default, null,
72
- React.createElement(FormLayout_1.FormRow, null,
89
+ React.createElement(FormLayout_1.FormRow, { label: "Name" },
90
+ React.createElement(Input_1.default, { "data-name": "shortcut-name", className: "twa:flex-1 twa:max-w-[200px] twa:mr-3", onChange: handleNameChange, placeholder: "Enter Name", value: shortcut.Name ?? '' })),
91
+ React.createElement(FormLayout_1.FormRow, { label: "" },
92
+ React.createElement(Flex_1.Box, { className: "twa:h-2" })),
93
+ React.createElement(FormLayout_1.FormRow, { label: "" },
73
94
  React.createElement(HelpBlock_1.default, { className: "twa:text-2 twa:mb-0" }, "Keyboard key that, when pressed, triggers the Shortcut")),
74
95
  React.createElement(FormLayout_1.FormRow, { label: "Key" },
75
96
  React.createElement(Flex_1.Flex, { flexDirection: "row" },
76
97
  React.createElement(Select_1.Select, { "data-name": "shortcut-key", placeholder: "Select Key", options: optionKeys, onChange: (key) => handleKeyChange(key), value: shortcut.ShortcutKey || 'Select Key' }))),
77
- React.createElement(FormLayout_1.FormRow, null,
98
+ React.createElement(FormLayout_1.FormRow, { label: "" },
78
99
  React.createElement(HelpBlock_1.default, { className: "twa:text-2 twa:mb-0" }, "Mathematical operation performed on Cell's current value (using the Shortcut's 'value') - used to calculate the Cell's new total")),
79
100
  React.createElement(FormLayout_1.FormRow, { label: "Operation" },
80
101
  React.createElement(Flex_1.Flex, { flexDirection: "row" },
81
102
  React.createElement(Select_1.Select, { "data-name": "shortcut-operation", placeholder: "Select Operation", options: optionActions, onChange: (operation) => handleOperationChange(operation), value: shortcut.ShortcutOperation }))),
82
- React.createElement(FormLayout_1.FormRow, null,
103
+ React.createElement(FormLayout_1.FormRow, { label: "" },
83
104
  React.createElement(HelpBlock_1.default, { className: "twa:text-2 twa:mb-0" }, "Number that is used - together with the 'Operation' and the current cell value - to calculate the new total for the cell")),
84
105
  React.createElement(FormLayout_1.FormRow, { label: "Value" },
85
106
  React.createElement(Flex_1.Flex, { flexDirection: "row" },
@@ -15,8 +15,9 @@ const shortcutKeys_1 = require("../shortcutKeys");
15
15
  const AdaptableContext_1 = require("../../AdaptableContext");
16
16
  const ObjectTagsWizardSection_1 = require("../../Wizard/ObjectTagsWizardSection");
17
17
  const Flex_1 = require("../../../components/Flex");
18
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
18
19
  const ShortcutWizard = (props) => {
19
- const [shortcut, setShortcut] = React.useState(() => {
20
+ const [shortcut, doSetShortcut] = React.useState(() => {
20
21
  const shortcut = props.data ? (0, Helper_1.cloneObject)(props.data) : ObjectFactory_1.default.CreateEmptyShortcut();
21
22
  shortcut.Scope = shortcut.Scope ?? { All: true };
22
23
  if (props.popupParams?.column && props.popupParams?.action === 'New') {
@@ -26,10 +27,13 @@ const ShortcutWizard = (props) => {
26
27
  }
27
28
  return shortcut;
28
29
  });
30
+ const setShortcut = React.useCallback((data) => {
31
+ doSetShortcut(data);
32
+ }, []);
29
33
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
30
34
  const availableKeys = React.useMemo(() => {
31
35
  const availableKeys = shortcutKeys_1.shortcutKeys.filter((key) => adaptable.api.shortcutApi.getShortcuts().every((shortcut) => shortcut.ShortcutKey !== key));
32
- if (shortcut) {
36
+ if (shortcut && StringExtensions_1.default.IsNotNullOrEmptyOrWhiteSpace(shortcut.ShortcutKey)) {
33
37
  availableKeys.push(shortcut.ShortcutKey);
34
38
  }
35
39
  availableKeys.sort();
@@ -46,18 +50,6 @@ const ShortcutWizard = (props) => {
46
50
  props.onFinishWizard(shortcut);
47
51
  };
48
52
  return (React.createElement(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: props.defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: shortcut, onHide: props.onCloseWizard, onFinish: handleFinish, sections: [
49
- {
50
- title: 'Target',
51
- isValid: NewScopeComponent_1.isScopeValid,
52
- details: 'Specify where Shortcut should be applied',
53
- renderSummary: () => (0, NewScopeComponent_1.renderScopeSummary)(shortcut.Scope, {
54
- scopeWholeRow: 'Shortcut is triggered for all numeric cells',
55
- scopeColumns: 'Shortcut is triggered for cells in selected columns',
56
- scopeDataTypes: 'Shortcut is triggered for all numeric cells',
57
- }),
58
- render: () => (React.createElement(Flex_1.Box, { className: "twa:p-2" },
59
- React.createElement(ShortcutScopeWizardSection_1.ShortcutScopeWizardSection, { onChange: setShortcut }))),
60
- },
61
53
  {
62
54
  title: 'Settings',
63
55
  isValid: ShortcutSettingsWizard_1.isSettingsValid,
@@ -73,6 +65,18 @@ const ShortcutWizard = (props) => {
73
65
  render: () => (React.createElement(Flex_1.Box, { className: "twa:p-2" },
74
66
  React.createElement(ShortcutSettingsWizard_1.ShortcutSettingsWizard, { availableKeys: props.availableKeys ?? availableKeys, onChange: setShortcut }))),
75
67
  },
68
+ {
69
+ title: 'Target',
70
+ isValid: NewScopeComponent_1.isScopeValid,
71
+ details: 'Specify where Shortcut should be applied',
72
+ renderSummary: () => (0, NewScopeComponent_1.renderScopeSummary)(shortcut.Scope, {
73
+ scopeWholeRow: 'Shortcut is triggered for all numeric cells',
74
+ scopeColumns: 'Shortcut is triggered for cells in selected columns',
75
+ scopeDataTypes: 'Shortcut is triggered for all numeric cells',
76
+ }),
77
+ render: () => (React.createElement(Flex_1.Box, { className: "twa:p-2" },
78
+ React.createElement(ShortcutScopeWizardSection_1.ShortcutScopeWizardSection, { onChange: setShortcut }))),
79
+ },
76
80
  {
77
81
  details: 'Select Shortcut Tags',
78
82
  title: 'Tags',
@@ -17,6 +17,7 @@ const react_redux_1 = require("react-redux");
17
17
  const Select_1 = require("../../components/Select");
18
18
  const Flex_1 = require("../../components/Flex");
19
19
  class SmartEditViewPanelComponent extends React.Component {
20
+ cleanupEvent;
20
21
  constructor(props) {
21
22
  super(props);
22
23
  this.state = {
@@ -10,7 +10,7 @@ const handleExportState = (type, name, state, api) => {
10
10
  Helper_1.default.copyToClipboard(stringifiedState);
11
11
  break;
12
12
  case 'Console':
13
- api.consoleLog('Adaptable State: ', state);
13
+ api.consoleLog('Adaptable state:', state);
14
14
  break;
15
15
  case 'JSON':
16
16
  const jsonFileName = name + '.json';
@@ -20,7 +20,7 @@ const renderStyledColumnColumnSummary = (data) => {
20
20
  exports.renderStyledColumnColumnSummary = renderStyledColumnColumnSummary;
21
21
  const isValidStyledColumnColumn = (data) => {
22
22
  if (!data.ColumnId) {
23
- return 'You have to select a Column for Styled Column';
23
+ return 'Please select a column for the Styled Column.';
24
24
  }
25
25
  return true;
26
26
  };
@@ -15,22 +15,6 @@ const icons_1 = require("../../components/icons");
15
15
  const ThemeSelector_1 = require("./ThemeSelector");
16
16
  const Flex_1 = require("../../components/Flex");
17
17
  class ThemePopupComponent extends React.Component {
18
- constructor() {
19
- super(...arguments);
20
- this.handleCreateNewTheme = (variant) => {
21
- let nthItem = this.props.UserThemes.length + 1;
22
- let name = 'Custom-Theme-' + nthItem;
23
- // make sure it is unique
24
- while (this.props.UserThemes.some((theme) => theme.Name === name)) {
25
- nthItem++;
26
- name = 'Custom-Theme-' + nthItem;
27
- }
28
- const newTheme = ObjectFactory_1.default.CreateEmptyTheme(name);
29
- newTheme.Variant = variant;
30
- this.props.api.themeApi.addUserTheme(newTheme);
31
- this.props.api.themeApi.loadTheme(newTheme.Name);
32
- };
33
- }
34
18
  render() {
35
19
  const isCustomTheme = this.props.api.themeApi
36
20
  .getUserThemes()
@@ -63,6 +47,19 @@ class ThemePopupComponent extends React.Component {
63
47
  onChangeTheme(value) {
64
48
  this.props.SelectTheme(value);
65
49
  }
50
+ handleCreateNewTheme = (variant) => {
51
+ let nthItem = this.props.UserThemes.length + 1;
52
+ let name = 'Custom-Theme-' + nthItem;
53
+ // make sure it is unique
54
+ while (this.props.UserThemes.some((theme) => theme.Name === name)) {
55
+ nthItem++;
56
+ name = 'Custom-Theme-' + nthItem;
57
+ }
58
+ const newTheme = ObjectFactory_1.default.CreateEmptyTheme(name);
59
+ newTheme.Variant = variant;
60
+ this.props.api.themeApi.addUserTheme(newTheme);
61
+ this.props.api.themeApi.loadTheme(newTheme.Name);
62
+ };
66
63
  }
67
64
  function mapStateToProps(state, ownProps) {
68
65
  return {
@@ -6,6 +6,7 @@ import { Schedule, Weekday } from '../AdaptableState/Common/Schedule';
6
6
  import { AdaptableColumnDataType, AdaptableSystemIconName, AdaptableOptions } from '../types';
7
7
  import { AdaptableAlert } from '../AdaptableState/Common/AdaptableAlert';
8
8
  import { AdaptableMessageType } from '../AdaptableState/Common/AdaptableMessageType';
9
+ import type { ContainerContext } from '../AdaptableOptions/ContainerOptions';
9
10
  export declare const BLACK: string;
10
11
  export declare const WHITE: string;
11
12
  export declare const LIGHT_GRAY: string;
@@ -31,13 +32,14 @@ export declare function getDefaultColors(): string[];
31
32
  export declare function getEmptyConfigState(): EditableConfigEntityState;
32
33
  export declare function getDescriptionForDataType(dataType: AdaptableColumnDataType): "text" | "number" | "date";
33
34
  export declare function getPlaceholderForDataType(dataType: AdaptableColumnDataType): "Enter Value" | "Enter Number" | "Enter Date";
34
- export declare function getModalContainer(adaptableOptions: AdaptableOptions, document: Document): HTMLElement;
35
+ export declare function getModalContainer(adaptableOptions: AdaptableOptions, document: Document, context?: ContainerContext): HTMLElement;
35
36
  export declare function IsEmptyStyle(style: AdaptableStyle): boolean;
36
37
  export declare function IsNotEmptyStyle(style: AdaptableStyle): boolean;
37
38
  export declare function getMessageTypeByStatusColour(statusColour: StatusColour): AdaptableMessageType;
38
39
  export declare function getButtonToneByMessageType(messageType: AdaptableMessageType): 'success' | 'error' | 'neutral' | 'none' | 'warning' | 'info' | 'accent';
39
40
  export declare function getGlyphByMessageType(messageType: AdaptableMessageType): AdaptableSystemIconName;
40
41
  export declare function getColorByMessageType(messageType: AdaptableMessageType): string;
42
+ export declare function getCSSColorByMessageType(messageType: AdaptableMessageType): string;
41
43
  export declare function getStyleForStatusColour(statusColour: StatusColour): CSSProperties;
42
44
  export declare function getStyleForMessageType(messageType: AdaptableMessageType): CSSProperties;
43
45
  export declare function getGlyphForStatusColour(statusColour: StatusColour): string;
@@ -75,6 +77,7 @@ export declare const UIHelper: {
75
77
  getGlyphForMessageType: typeof getGlyphForMessageType;
76
78
  getStyleForMessageType: typeof getStyleForMessageType;
77
79
  getMessageTypeFromAdaptableAlerts: typeof getMessageTypeFromAdaptableAlerts;
80
+ getCSSColorByMessageType: typeof getCSSColorByMessageType;
78
81
  getButtonColourForAdaptableAlerts: typeof getButtonColourForAdaptableAlerts;
79
82
  getButtonTextColourForArrayandMessageType: typeof getButtonTextColourForArrayandMessageType;
80
83
  getButtonTextColourForMessageType: typeof getButtonTextColourForMessageType;
@@ -13,6 +13,7 @@ exports.getMessageTypeByStatusColour = getMessageTypeByStatusColour;
13
13
  exports.getButtonToneByMessageType = getButtonToneByMessageType;
14
14
  exports.getGlyphByMessageType = getGlyphByMessageType;
15
15
  exports.getColorByMessageType = getColorByMessageType;
16
+ exports.getCSSColorByMessageType = getCSSColorByMessageType;
16
17
  exports.getStyleForStatusColour = getStyleForStatusColour;
17
18
  exports.getStyleForMessageType = getStyleForMessageType;
18
19
  exports.getGlyphForStatusColour = getGlyphForStatusColour;
@@ -34,6 +35,7 @@ const EditableConfigEntityState_1 = require("./Components/SharedProps/EditableCo
34
35
  const Enums_1 = require("../AdaptableState/Common/Enums");
35
36
  const StringExtensions_1 = require("../Utilities/Extensions/StringExtensions");
36
37
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
38
+ const resolveContainerElement_1 = require("../Utilities/resolveContainerElement");
37
39
  exports.BLACK = 'Black';
38
40
  exports.WHITE = 'White';
39
41
  exports.LIGHT_GRAY = 'LightGray';
@@ -152,19 +154,12 @@ function getPlaceholderForDataType(dataType) {
152
154
  return 'Enter Date';
153
155
  }
154
156
  }
155
- function getModalContainer(adaptableOptions, document) {
156
- let modalContainer;
157
- if (adaptableOptions.containerOptions.modalContainer) {
158
- // this has been set, so we use the property
159
- modalContainer =
160
- typeof adaptableOptions.containerOptions.modalContainer === 'string'
161
- ? document.getElementById(adaptableOptions.containerOptions.modalContainer)
162
- : adaptableOptions.containerOptions.modalContainer;
163
- if (modalContainer) {
164
- const modalContainerClassName = ' modal-container';
165
- if (!modalContainer.className.includes(modalContainerClassName)) {
166
- modalContainer.className += modalContainerClassName;
167
- }
157
+ function getModalContainer(adaptableOptions, document, context) {
158
+ let modalContainer = (0, resolveContainerElement_1.resolveContainerElement)(adaptableOptions.containerOptions.modalContainer, context, document);
159
+ if (modalContainer) {
160
+ const modalContainerClassName = ' modal-container';
161
+ if (!modalContainer.className.includes(modalContainerClassName)) {
162
+ modalContainer.className += modalContainerClassName;
168
163
  }
169
164
  }
170
165
  if (!modalContainer) {
@@ -234,6 +229,20 @@ function getColorByMessageType(messageType) {
234
229
  return 'var(--ab-color-info)';
235
230
  }
236
231
  }
232
+ function getCSSColorByMessageType(messageType) {
233
+ switch (messageType) {
234
+ case 'Error':
235
+ return 'error';
236
+ case 'Warning':
237
+ return 'warn';
238
+ case 'Success':
239
+ return 'success';
240
+ case 'Info':
241
+ return 'info';
242
+ default:
243
+ return '';
244
+ }
245
+ }
237
246
  function getStyleForStatusColour(statusColour) {
238
247
  let result;
239
248
  switch (statusColour) {
@@ -441,7 +450,7 @@ function getAdaptableToolPanelWidth() {
441
450
  return getNumericCSSVariableValue(getCSSVariableValue('--ab-cmp-toolpanel__width'), 200);
442
451
  }
443
452
  function getSimpleButtonPaddingWidth() {
444
- return getNumericCSSVariableValue(getCSSVariableValue('--ab-space-1'), 4);
453
+ return getNumericCSSVariableValue(getCSSVariableValue('--ab-base-space'), 4);
445
454
  }
446
455
  function getCSSVariableValue(cssVariable) {
447
456
  if (!isBrowserDocumentAvailable()) {
@@ -481,6 +490,7 @@ exports.UIHelper = {
481
490
  getGlyphForMessageType,
482
491
  getStyleForMessageType,
483
492
  getMessageTypeFromAdaptableAlerts,
493
+ getCSSColorByMessageType,
484
494
  getButtonColourForAdaptableAlerts,
485
495
  getButtonTextColourForArrayandMessageType,
486
496
  getButtonTextColourForMessageType,
@@ -9,6 +9,7 @@ const AdaptableAgGrid_1 = require("./AdaptableAgGrid");
9
9
  const DefaultAdaptableOptions_1 = require("../AdaptableOptions/DefaultAdaptableOptions");
10
10
  const renderReactRoot_1 = require("../renderReactRoot");
11
11
  const AdaptableWizardView_1 = tslib_1.__importDefault(require("../View/AdaptableWizardView"));
12
+ const resolveContainerElement_1 = require("../Utilities/resolveContainerElement");
12
13
  class Adaptable {
13
14
  /**
14
15
  * Initializer for Adaptable
@@ -26,6 +27,10 @@ class Adaptable {
26
27
  }
27
28
  exports.Adaptable = Adaptable;
28
29
  class AdaptableNoCodeWizard {
30
+ init;
31
+ adaptableOptions;
32
+ extraOptions;
33
+ agGridModules;
29
34
  /**
30
35
  * @param adaptableOptions
31
36
  */
@@ -40,19 +45,18 @@ class AdaptableNoCodeWizard {
40
45
  this.render();
41
46
  }
42
47
  render(container) {
43
- let id = (0, DefaultAdaptableOptions_1.getDefaultAdaptableOptions)().containerOptions.adaptableContainer || 'adaptable';
44
48
  if (!container) {
45
- let containerOptionsContainer = this.adaptableOptions.containerOptions?.adaptableContainer;
46
- if (containerOptionsContainer) {
47
- if (typeof containerOptionsContainer === 'string') {
48
- id = containerOptionsContainer ?? id;
49
- }
50
- else {
51
- container = containerOptionsContainer;
52
- }
53
- }
49
+ const initContext = {
50
+ adaptableId: this.adaptableOptions?.adaptableId ?? '',
51
+ adaptableStateKey: this.adaptableOptions?.adaptableStateKey ?? '',
52
+ adaptableContext: this.adaptableOptions?.adaptableContext,
53
+ };
54
+ container = (0, resolveContainerElement_1.resolveContainerElement)(this.adaptableOptions.containerOptions?.adaptableContainer, initContext);
55
+ }
56
+ if (!container) {
57
+ const defaultId = (0, DefaultAdaptableOptions_1.getDefaultAdaptableOptions)().containerOptions.adaptableContainer || 'adaptable';
58
+ container = document.getElementById(defaultId);
54
59
  }
55
- container = container || document.getElementById(id);
56
60
  if (!container) {
57
61
  throw new Error('Cannot find container in which to render Adaptable No Code Wizard');
58
62
  }