@adaptabletools/adaptable 12.0.0-canary.1 → 12.0.0-canary.4

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 (435) hide show
  1. package/base.css +41 -14
  2. package/bundle.cjs.js +156 -142
  3. package/index.css +49 -14
  4. package/package.json +3 -3
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +1 -0
  8. package/src/AdaptableOptions/ActionOptions.d.ts +181 -1
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +5 -0
  10. package/src/AdaptableOptions/AlertOptions.d.ts +5 -9
  11. package/src/AdaptableOptions/DashboardOptions.d.ts +1 -5
  12. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +17 -4
  13. package/src/AdaptableOptions/EditOptions.d.ts +2 -62
  14. package/src/AdaptableOptions/FinancePluginOptions.d.ts +3 -3
  15. package/src/AdaptableOptions/GeneralOptions.d.ts +7 -0
  16. package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -5
  17. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -112
  18. package/src/Api/ActionApi.d.ts +24 -0
  19. package/src/Api/{Events/RowFormSubmitted.js → ActionApi.js} +0 -0
  20. package/src/Api/AdaptableApi.d.ts +5 -0
  21. package/src/Api/AlertApi.d.ts +3 -3
  22. package/src/Api/ConfigApi.d.ts +1 -1
  23. package/src/Api/EventApi.d.ts +9 -9
  24. package/src/Api/Events/ActionRowSubmitted.d.ts +34 -0
  25. package/src/Api/Events/ActionRowSubmitted.js +2 -0
  26. package/src/Api/GridApi.d.ts +0 -14
  27. package/src/Api/Implementation/ActionApiImpl.d.ts +8 -0
  28. package/src/Api/Implementation/ActionApiImpl.js +56 -0
  29. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  30. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  31. package/src/Api/Implementation/AlertApiImpl.d.ts +3 -3
  32. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  33. package/src/Api/Implementation/ApiBase.js +3 -0
  34. package/src/Api/Implementation/ColumnApiImpl.js +2 -2
  35. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  36. package/src/Api/Implementation/FormatColumnApiImpl.js +2 -2
  37. package/src/Api/Implementation/GridApiImpl.d.ts +0 -3
  38. package/src/Api/Implementation/GridApiImpl.js +0 -44
  39. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -3
  40. package/src/Api/Implementation/StatusBarApiImpl.d.ts +4 -3
  41. package/src/Api/Implementation/StatusBarApiImpl.js +2 -2
  42. package/src/Api/Implementation/TeamSharingApiImpl.js +2 -1
  43. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -2
  44. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -4
  45. package/src/Api/StatusBarApi.d.ts +10 -3
  46. package/src/Api/UserInterfaceApi.d.ts +1 -5
  47. package/src/PredefinedConfig/AlertState.d.ts +4 -4
  48. package/src/PredefinedConfig/Common/AdaptableAlert.js +4 -2
  49. package/src/PredefinedConfig/Common/AdaptableColumn.js +2 -1
  50. package/src/PredefinedConfig/Common/AdaptableForm.d.ts +1 -1
  51. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +24 -18
  52. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -4
  53. package/src/PredefinedConfig/Common/AdaptablePredicate.js +33 -31
  54. package/src/PredefinedConfig/Common/AdaptableQuery.js +2 -1
  55. package/src/PredefinedConfig/Common/FormContext.d.ts +3 -0
  56. package/src/PredefinedConfig/Common/Menu.d.ts +3 -3
  57. package/src/PredefinedConfig/Common/Types.d.ts +1 -1
  58. package/src/PredefinedConfig/StatusBarState.d.ts +5 -2
  59. package/src/PredefinedConfig/Uuid.js +2 -1
  60. package/src/Redux/ActionsReducers/AlertRedux.js +16 -8
  61. package/src/Redux/ActionsReducers/ApplicationRedux.js +8 -4
  62. package/src/Redux/ActionsReducers/BulkUpdateRedux.js +6 -3
  63. package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +10 -5
  64. package/src/Redux/ActionsReducers/CellSummaryRedux.js +2 -1
  65. package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +14 -7
  66. package/src/Redux/ActionsReducers/CustomSortRedux.js +14 -7
  67. package/src/Redux/ActionsReducers/DashboardRedux.js +24 -12
  68. package/src/Redux/ActionsReducers/ExportRedux.js +16 -8
  69. package/src/Redux/ActionsReducers/FlashingCellRedux.js +16 -8
  70. package/src/Redux/ActionsReducers/FormatColumnRedux.js +14 -7
  71. package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +14 -7
  72. package/src/Redux/ActionsReducers/GridRedux.js +38 -19
  73. package/src/Redux/ActionsReducers/LayoutRedux.js +30 -15
  74. package/src/Redux/ActionsReducers/PluginsRedux.js +4 -2
  75. package/src/Redux/ActionsReducers/PlusMinusRedux.js +16 -8
  76. package/src/Redux/ActionsReducers/PopupRedux.js +37 -19
  77. package/src/Redux/ActionsReducers/QueryRedux.js +12 -6
  78. package/src/Redux/ActionsReducers/QuickSearchRedux.js +8 -4
  79. package/src/Redux/ActionsReducers/ScheduleRedux.js +58 -29
  80. package/src/Redux/ActionsReducers/ShortcutRedux.js +14 -7
  81. package/src/Redux/ActionsReducers/SmartEditRedux.js +6 -3
  82. package/src/Redux/ActionsReducers/StatusBarRedux.js +10 -5
  83. package/src/Redux/ActionsReducers/SystemRedux.js +103 -51
  84. package/src/Redux/ActionsReducers/SystemStatusRedux.js +4 -2
  85. package/src/Redux/ActionsReducers/TeamSharingRedux.js +22 -11
  86. package/src/Redux/ActionsReducers/ThemeRedux.js +10 -5
  87. package/src/Redux/ActionsReducers/ToolPanelRedux.js +16 -8
  88. package/src/Redux/DeadRedux.js +16 -8
  89. package/src/Redux/Store/AdaptableReduxMerger.js +2 -1
  90. package/src/Redux/Store/AdaptableStore.js +10 -2
  91. package/src/Strategy/AlertModule.d.ts +2 -18
  92. package/src/Strategy/AlertModule.js +2 -1
  93. package/src/Strategy/ConditionalStyleModule.d.ts +2 -10
  94. package/src/Strategy/DashboardModule.js +3 -1
  95. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -8
  96. package/src/Strategy/DataSetModule.d.ts +2 -13
  97. package/src/Strategy/ExportModule.d.ts +2 -13
  98. package/src/Strategy/ExportModule.js +1 -1
  99. package/src/Strategy/FilterModule.d.ts +2 -14
  100. package/src/Strategy/FilterModule.js +1 -1
  101. package/src/Strategy/FlashingCellModule.d.ts +2 -9
  102. package/src/Strategy/GridInfoModule.js +6 -2
  103. package/src/Strategy/LayoutModule.d.ts +2 -17
  104. package/src/Strategy/LayoutModule.js +6 -3
  105. package/src/Strategy/PlusMinusModule.d.ts +2 -9
  106. package/src/Strategy/QuickSearchModule.d.ts +2 -7
  107. package/src/Strategy/ScheduleModule.d.ts +2 -13
  108. package/src/Strategy/ShortcutModule.d.ts +2 -9
  109. package/src/Strategy/StatusBarModule.js +2 -2
  110. package/src/Strategy/SystemStatusModule.d.ts +2 -7
  111. package/src/Strategy/ThemeModule.d.ts +2 -8
  112. package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +2 -1
  113. package/src/Strategy/Utilities/getAlertPreviewViewItems.js +2 -1
  114. package/src/Strategy/Utilities/getCustomSortColumnViewItems.js +2 -1
  115. package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.js +2 -1
  116. package/src/Strategy/Utilities/getExportColumnsViewItems.js +2 -1
  117. package/src/Strategy/Utilities/getExportRowsViewItems.js +2 -1
  118. package/src/Strategy/Utilities/getExpressionViewItems.js +2 -1
  119. package/src/Strategy/Utilities/getFlashingCellDurationViewItems.js +2 -1
  120. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.d.ts +2 -6
  121. package/src/Strategy/Utilities/getFlashingCellStyleViewItems.js +2 -1
  122. package/src/Strategy/Utilities/getFlashingTargetViewItems.js +2 -1
  123. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +2 -1
  124. package/src/Strategy/Utilities/getFormatColumnStyleViewItems.js +2 -1
  125. package/src/Strategy/Utilities/getObjectTagsViewItems.js +2 -1
  126. package/src/Strategy/Utilities/getRuleViewItems.js +2 -1
  127. package/src/Strategy/Utilities/getScopeViewItems.js +2 -1
  128. package/src/Strategy/Utilities/getShortcutSettingsViewItems.js +2 -1
  129. package/src/Strategy/Utilities/getStyleViewItems.js +2 -1
  130. package/src/Utilities/Constants/GeneralConstants.js +2 -1
  131. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +13 -13
  132. package/src/Utilities/ExpressionFunctions/dateUtils.js +2 -1
  133. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +20 -10
  134. package/src/Utilities/Helpers/AdaptableHelper.js +4 -3
  135. package/src/Utilities/Helpers/DateHelper.js +10 -5
  136. package/src/Utilities/Helpers/Helper.js +2 -1
  137. package/src/Utilities/Helpers/LoggingHelper.js +2 -1
  138. package/src/Utilities/Helpers/StyleHelper.js +8 -4
  139. package/src/Utilities/MenuItem.d.ts +4 -3
  140. package/src/Utilities/MenuItem.js +9 -3
  141. package/src/Utilities/ObjectFactory.js +1 -0
  142. package/src/Utilities/Services/Interface/IRowEditService.d.ts +3 -3
  143. package/src/Utilities/Services/ModuleService.js +3 -1
  144. package/src/Utilities/Services/RowEditService.d.ts +6 -6
  145. package/src/Utilities/Services/RowEditService.js +24 -25
  146. package/src/Utilities/isAdaptableObject.js +2 -1
  147. package/src/Utilities/isMacLike.js +2 -1
  148. package/src/Utilities/license/decode.js +1 -1
  149. package/src/Utilities/reorder.js +2 -1
  150. package/src/Utilities/runIfNotResolvedIn.js +2 -1
  151. package/src/Utilities/waitForCondition.d.ts +1 -1
  152. package/src/Utilities/waitForCondition.js +2 -1
  153. package/src/View/AdaptableContext.js +2 -1
  154. package/src/View/AdaptableView.js +2 -1
  155. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +8 -3
  156. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +3 -2
  157. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +9 -2
  158. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +30 -0
  159. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +88 -0
  160. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +18 -0
  161. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +17 -0
  162. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +2 -9
  163. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +2 -75
  164. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +3 -1
  165. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +9 -4
  166. package/src/View/AdaptableWizardView/Utils.d.ts +1 -0
  167. package/src/View/AdaptableWizardView/Utils.js +25 -0
  168. package/src/View/AdaptableWizardView/Wizard.d.ts +54 -0
  169. package/src/View/AdaptableWizardView/Wizard.js +100 -0
  170. package/src/View/AdaptableWizardView/helper.js +6 -3
  171. package/src/View/AdaptableWizardView/index.d.ts +1 -22
  172. package/src/View/AdaptableWizardView/index.js +2 -103
  173. package/src/View/Alert/ActiveAlertsPanel.js +2 -1
  174. package/src/View/Alert/AlertEmptyView.js +2 -1
  175. package/src/View/Alert/AlertStatusSubPanel.js +2 -1
  176. package/src/View/Alert/Utilities/getAlertButtonStyle.js +2 -1
  177. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +5 -3
  178. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +3 -3
  179. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
  180. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +8 -5
  181. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -2
  182. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -1
  183. package/src/View/Alert/Wizard/AlertWizard.js +2 -1
  184. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -2
  185. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +6 -4
  186. package/src/View/Alert/Wizard/isValidAlertRules.js +2 -1
  187. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  188. package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.js +2 -1
  189. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +7 -4
  190. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -4
  191. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -1
  192. package/src/View/CellSummary/CellSummaryPopover.js +2 -1
  193. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +2 -1
  194. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
  195. package/src/View/ColorPicker.d.ts +5 -1
  196. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  197. package/src/View/Components/AdaptableDateInput/index.js +10 -10
  198. package/src/View/Components/AdaptableInput/index.d.ts +2 -2
  199. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +4 -2
  200. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -2
  201. package/src/View/Components/Buttons/ButtonClone.js +2 -1
  202. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  203. package/src/View/Components/Buttons/ButtonEdit.js +2 -1
  204. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  205. package/src/View/Components/ColumnSelector/index.js +2 -1
  206. package/src/View/Components/EntityRulesEditor/index.js +6 -3
  207. package/src/View/Components/ExpressionWizard.js +2 -1
  208. package/src/View/Components/ExternalRenderer.js +2 -1
  209. package/src/View/Components/FilterForm/FilterForm.js +2 -1
  210. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  211. package/src/View/Components/FilterForm/ListBoxMenu.js +2 -2
  212. package/src/View/Components/FilterForm/QuickFilterForm.js +5 -3
  213. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  214. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +2 -1
  215. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -2
  216. package/src/View/Components/ListBox/DualListBoxEditor.js +2 -1
  217. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  218. package/src/View/Components/NewScopeComponent.js +6 -3
  219. package/src/View/Components/Panels/PanelFooter.js +2 -1
  220. package/src/View/Components/Panels/PanelWithImage.d.ts +1 -429
  221. package/src/View/Components/Panels/PanelWithImage.js +2 -0
  222. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
  223. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -1
  224. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +2 -1
  225. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -1
  226. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -1
  227. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -5
  228. package/src/View/Components/Popups/AdaptablePopup/PopupContext.js +2 -1
  229. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +2 -1
  230. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -5
  231. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -1
  232. package/src/View/Components/Popups/AdaptablePopupAlert.js +4 -4
  233. package/src/View/Components/Popups/AdaptablePopupPrompt.js +2 -1
  234. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -1
  235. package/src/View/Components/Popups/AdaptableToaster.js +2 -1
  236. package/src/View/Components/Popups/FormPopups/FormPopups.js +4 -2
  237. package/src/View/Components/Popups/Utilities.js +8 -4
  238. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +2 -1
  239. package/src/View/Components/Selectors/ColumnSelector.js +2 -1
  240. package/src/View/Components/TagValueSelector/index.js +4 -2
  241. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  242. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +5 -1
  243. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +2 -1
  244. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  245. package/src/View/Components/ToolPanel/ToolPanelPopup.js +1 -1
  246. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -1
  247. package/src/View/Components/WizardSummaryPage.js +2 -1
  248. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +1 -1
  249. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +3 -2
  250. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +5 -3
  251. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +3 -2
  252. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +2 -1
  253. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -5
  254. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +7 -4
  255. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -1
  256. package/src/View/Dashboard/CustomDashboardButton.js +2 -1
  257. package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
  258. package/src/View/Dashboard/Dashboard.d.ts +1 -1
  259. package/src/View/Dashboard/Dashboard.js +4 -3
  260. package/src/View/Dashboard/DashboardPopup.js +1 -1
  261. package/src/View/Dashboard/ModuleToolbarWrapper.js +2 -1
  262. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +7 -0
  263. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +6 -6
  264. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -1
  265. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +2 -1
  266. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +2 -2
  267. package/src/View/DataChangeHistory/buildActionColumnButton.js +13 -9
  268. package/src/View/DataSet/DataSetSelector.js +2 -1
  269. package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
  270. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  271. package/src/View/Export/ExportSelector.js +2 -1
  272. package/src/View/Export/ExportViewPanel.d.ts +1 -1
  273. package/src/View/Export/ReportExportDropdown.js +2 -1
  274. package/src/View/Export/Wizard/NewReportWizard.js +4 -2
  275. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +7 -4
  276. package/src/View/Export/Wizard/ReportNameWizardSection.js +7 -4
  277. package/src/View/Export/Wizard/ReportRowsWizardSection.js +7 -4
  278. package/src/View/Filter/ActiveFiltersPanel.js +2 -1
  279. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -1
  280. package/src/View/Filter/FilterSummary.d.ts +1 -1
  281. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  282. package/src/View/FlashingCell/FlashingCellStyle.js +2 -1
  283. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +6 -4
  284. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -2
  285. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -6
  286. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +7 -4
  287. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -1
  288. package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +2 -1
  289. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +9 -5
  290. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +5 -3
  291. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +5 -3
  292. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -3
  293. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -4
  294. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +2 -1
  295. package/src/View/GridInfo/AdaptableObjectsSummary.js +2 -1
  296. package/src/View/GridInfo/AdaptableOptionsComponent.js +2 -1
  297. package/src/View/GridInfo/GridInfoPopup.js +5 -5
  298. package/src/View/KeyHint.js +2 -1
  299. package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
  300. package/src/View/Layout/LayoutCloneButton.js +2 -1
  301. package/src/View/Layout/LayoutEditorStandalonePopup.js +2 -1
  302. package/src/View/Layout/LayoutPopup.d.ts +1 -1
  303. package/src/View/Layout/LayoutRadioSelector.js +2 -1
  304. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +2 -1
  305. package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
  306. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
  307. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +2 -1
  308. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +2 -1
  309. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +2 -1
  310. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +2 -1
  311. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -1
  312. package/src/View/Layout/Wizard/LayoutEditor/reducer.js +4 -2
  313. package/src/View/Layout/Wizard/LayoutEditor/utils.js +2 -1
  314. package/src/View/License/LicenseWatermark.js +1 -1
  315. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +2 -2
  316. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +3 -2
  317. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +8 -5
  318. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +2 -1
  319. package/src/View/Query/EditCurrentQueryButton.js +2 -1
  320. package/src/View/Query/ExpandedQueryPopup.js +2 -1
  321. package/src/View/Query/QueryViewPanel.d.ts +1 -1
  322. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +7 -4
  323. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +7 -4
  324. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -1
  325. package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
  326. package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -1
  327. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +3 -2
  328. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -3
  329. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +2 -1
  330. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +2 -1
  331. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -1
  332. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -1
  333. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -1
  334. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +5 -3
  335. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +3 -2
  336. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +2 -1
  337. package/src/View/Schedule/Wizard/ScheduleWizard.js +2 -1
  338. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +3 -2
  339. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +8 -5
  340. package/src/View/Shortcut/Wizard/ShortcutWizard.js +2 -1
  341. package/src/View/SpecialColumnSettingsWizardStep.js +2 -1
  342. package/src/View/StateManagement/StateManagementPopup.js +2 -1
  343. package/src/View/StateManagement/StateManagementViewPanel.js +2 -1
  344. package/src/View/StateManagement/components/ClearButton.js +2 -1
  345. package/src/View/StateManagement/components/ExportDropdown.js +2 -1
  346. package/src/View/StateManagement/components/LoadButton.js +2 -1
  347. package/src/View/StateManagement/handleExportState.js +2 -1
  348. package/src/View/StatusBar/AdaptableStatusBar.js +2 -1
  349. package/src/View/StatusBar/StatusBarPanel.js +2 -1
  350. package/src/View/StatusBar/StatusBarPopup.js +5 -4
  351. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -1
  352. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  353. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +2 -1
  354. package/src/View/Theme/ThemeStatusPanelPopover.js +2 -1
  355. package/src/View/UIHelper.d.ts +2 -0
  356. package/src/View/UIHelper.js +12 -11
  357. package/src/View/Wizard/AdaptableWizard.js +2 -1
  358. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +2 -2
  359. package/src/View/Wizard/ObjectTagsWizardSection.js +5 -3
  360. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +5 -6
  361. package/src/View/Wizard/OnePageAdaptableWizard.js +45 -174
  362. package/src/View/Wizard/OnePageWizards.d.ts +37 -0
  363. package/src/View/Wizard/OnePageWizards.js +191 -0
  364. package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
  365. package/src/View/Wizard/useKeyboardNavigation.js +2 -1
  366. package/src/View/renderWithAdaptableContext.js +2 -1
  367. package/src/agGrid/ActionColumnRenderer.d.ts +1 -1
  368. package/src/agGrid/ActionColumnRenderer.js +1 -1
  369. package/src/agGrid/Adaptable.js +28 -26
  370. package/src/agGrid/CheckboxRenderer.js +2 -1
  371. package/src/agGrid/FilterWrapper.js +2 -1
  372. package/src/agGrid/FloatingFilterWrapper.js +2 -1
  373. package/src/agGrid/PercentBarRenderer.js +2 -1
  374. package/src/agGrid/agGridHelper.js +3 -1
  375. package/src/agGrid/agGridMenuHelper.js +13 -10
  376. package/src/agGrid/createAgStatusPanelComponent.js +2 -1
  377. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +8 -5
  378. package/src/components/AdaptableIconComponent/index.d.ts +10 -0
  379. package/src/components/AdaptableIconComponent/index.js +40 -0
  380. package/src/components/CheckBox/index.js +2 -1
  381. package/src/components/CodeBlock/index.js +2 -1
  382. package/src/components/Dashboard/DashboardManager.js +1 -1
  383. package/src/components/Datepicker/Caption.js +1 -1
  384. package/src/components/Datepicker/DatepickerContext.js +2 -1
  385. package/src/components/Datepicker/index.d.ts +1 -1
  386. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  387. package/src/components/DragAndDropContext/ModuleManager.js +5 -4
  388. package/src/components/DragAndDropContext/UnusedPanel.d.ts +3 -2
  389. package/src/components/DragAndDropContext/UnusedPanel.js +14 -12
  390. package/src/components/EllipsisContainer/index.js +4 -2
  391. package/src/components/ExpressionEditor/EditorContext.js +2 -1
  392. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -1
  393. package/src/components/ExpressionEditor/NamedQueryContext.js +3 -1
  394. package/src/components/FileDroppable/index.js +2 -1
  395. package/src/components/FormLayout/index.js +2 -1
  396. package/src/components/Input/index.d.ts +1 -1
  397. package/src/components/List/ListGroupItem/index.d.ts +2 -4
  398. package/src/components/Loader/Loader.js +4 -2
  399. package/src/components/Logo/index.js +2 -1
  400. package/src/components/Modal/Backdrop.js +2 -1
  401. package/src/components/Modal/index.js +2 -1
  402. package/src/components/OverlayTrigger/Overlay.js +2 -1
  403. package/src/components/OverlayTrigger/index.js +2 -1
  404. package/src/components/OverlayTrigger/utils.js +6 -3
  405. package/src/components/PopupWithFooter.d.ts +1 -1
  406. package/src/components/ProgressIndicator/ProgressIndicator.js +2 -1
  407. package/src/components/Radio/index.js +4 -2
  408. package/src/components/ResizeObserver/getResizeObserverObject.js +2 -1
  409. package/src/components/ResizeObserver/index.js +6 -3
  410. package/src/components/SelectList.js +2 -1
  411. package/src/components/SelectableList/index.js +2 -1
  412. package/src/components/SimpleButton/index.d.ts +2 -1
  413. package/src/components/SimpleButton/index.js +19 -6
  414. package/src/components/StylePreview.js +2 -1
  415. package/src/components/Tabs/index.js +6 -3
  416. package/src/components/Textarea/index.d.ts +5 -1
  417. package/src/components/ToggleButton/index.js +2 -1
  418. package/src/components/WindowModal/WindowModal.js +15 -8
  419. package/src/components/WindowModal/useStacking.js +2 -1
  420. package/src/components/icons/DefaultIcon.js +2 -1
  421. package/src/components/icons/index.d.ts +3 -1
  422. package/src/components/icons/index.js +10 -2
  423. package/src/components/utils/useContainerScrollObserver/index.js +2 -1
  424. package/src/components/utils/useGlobalEvent.js +2 -1
  425. package/src/components/utils/useLatest.js +2 -1
  426. package/src/components/utils/useRerender.js +2 -1
  427. package/src/components/utils/uuid.js +2 -1
  428. package/src/metamodel/adaptable.metamodel.d.ts +208 -90
  429. package/src/metamodel/adaptable.metamodel.js +263 -156
  430. package/src/types.d.ts +7 -5
  431. package/version.d.ts +1 -1
  432. package/version.js +1 -1
  433. package/src/Api/Events/RowFormSubmitted.d.ts +0 -19
  434. package/src/components/ApplicationIcon.d.ts +0 -6
  435. package/src/components/ApplicationIcon.js +0 -13
@@ -6,30 +6,29 @@ class RowEditService {
6
6
  this.adaptableApi = adaptableApi;
7
7
  this.adaptableInstance = this.adaptableApi.internalApi.getAdaptableInstance();
8
8
  this.rowEditFormOptions =
9
- this.adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.editOptions.rowFormOptions;
10
- if (this.adaptableInstance.adaptableOptions.userInterfaceOptions.actionOptions
11
- .autoHandleActionRowButtons) {
12
- this.adaptableInstance.api.eventApi.on('RowFormSubmitted', (eventInfo) => this.autoHandleActionRowButtons(eventInfo));
9
+ this.adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.actionOptions.actionRowFormOptions;
10
+ if (this.adaptableInstance.adaptableOptions.actionOptions.autoHandleActionRowButtons) {
11
+ this.adaptableInstance.api.eventApi.on('ActionRowSubmitted', (eventInfo) => this.autoHandleActionRowButtons(eventInfo));
13
12
  }
14
13
  }
15
14
  buildRowEditForm(rowNode) {
16
- return this.buildRowForm('rowEdited', rowNode);
15
+ return this.buildActionRow('rowEdited', rowNode);
17
16
  }
18
17
  buildRowCreateForm(clonedRowNode) {
19
- return this.buildRowForm('rowCreated', clonedRowNode);
18
+ return this.buildActionRow('rowCreated', clonedRowNode);
20
19
  }
21
- buildRowForm(type, rowNode) {
22
- const formFields = this.buildRowFormFields(type, rowNode);
23
- const formButtons = this.buildRowFormButtons(type, rowNode);
20
+ buildActionRow(type, rowNode) {
21
+ const formFields = this.buildActionRowFields(type, rowNode);
22
+ const formButtons = this.buidActionRowButtons(type, rowNode);
24
23
  const formTitle = this.getFormTitle(type, rowNode);
25
24
  const formDescription = this.getFormDescription(type, rowNode);
26
- const rowForm = {
25
+ const actionRowForm = {
27
26
  title: formTitle,
28
27
  description: formDescription,
29
28
  fields: formFields,
30
29
  buttons: formButtons,
31
30
  };
32
- return rowForm;
31
+ return actionRowForm;
33
32
  }
34
33
  getFormTitle(type, rowNode) {
35
34
  if (this.rowEditFormOptions.formTitle == undefined) {
@@ -51,7 +50,7 @@ class RowEditService {
51
50
  type: type,
52
51
  };
53
52
  }
54
- buildRowFormFields(type, rowNode) {
53
+ buildActionRowFields(type, rowNode) {
55
54
  const relevantColumns = this.adaptableApi.columnApi
56
55
  .getColumns()
57
56
  .filter((column) => {
@@ -61,7 +60,7 @@ class RowEditService {
61
60
  .filter((column) => !this.adaptableApi.columnApi.isActionRowButtonColumn(column.columnId));
62
61
  return relevantColumns.map((column) => this.buildFormField(type, column, rowNode));
63
62
  }
64
- buildRowFormButtons(type, rowNode) {
63
+ buidActionRowButtons(type, rowNode) {
65
64
  // 1. check if there are custom user provided buttons
66
65
  if (Array.isArray(this.rowEditFormOptions.formButtons)) {
67
66
  return this.rowEditFormOptions.formButtons;
@@ -95,8 +94,8 @@ class RowEditService {
95
94
  rowNode: rowNode,
96
95
  adaptableApi: context.adaptableApi,
97
96
  };
98
- this.adaptableApi.eventApi.emit('RowFormSubmitted', eventInfo);
99
- (_b = (_a = this.adaptableInstance.adaptableOptions.editOptions.rowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
97
+ this.adaptableApi.eventApi.emit('ActionRowSubmitted', eventInfo);
98
+ (_b = (_a = this.adaptableInstance.adaptableOptions.actionOptions.actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
100
99
  },
101
100
  };
102
101
  return [cancelButton, saveButton];
@@ -168,22 +167,22 @@ class RowEditService {
168
167
  label: value,
169
168
  }));
170
169
  }
171
- autoHandleActionRowButtons(rowEditedFormInfo) {
172
- const { adaptableApi } = rowEditedFormInfo;
173
- if (rowEditedFormInfo.type === 'rowEdited') {
174
- const { rowNode, formData } = rowEditedFormInfo;
170
+ autoHandleActionRowButtons(actionRowSubmittedInfo) {
171
+ const { adaptableApi } = actionRowSubmittedInfo;
172
+ if (actionRowSubmittedInfo.type === 'rowEdited') {
173
+ const { rowNode, formData } = actionRowSubmittedInfo;
175
174
  const newRowData = Object.assign(Object.assign({}, rowNode.data), formData);
176
175
  adaptableApi.gridApi.updateGridData([newRowData]);
177
176
  }
178
- if (rowEditedFormInfo.type === 'rowDeleted') {
179
- const { rowNode } = rowEditedFormInfo;
177
+ if (actionRowSubmittedInfo.type === 'rowDeleted') {
178
+ const { rowNode } = actionRowSubmittedInfo;
180
179
  const deletedRowData = rowNode.data;
181
180
  adaptableApi.gridApi.deleteGridData([deletedRowData]);
182
181
  }
183
- if (rowEditedFormInfo.type === 'rowCreated') {
184
- const { formData } = rowEditedFormInfo;
185
- const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.userInterfaceOptions
186
- .actionOptions.setPrimaryKeyValue;
182
+ if (actionRowSubmittedInfo.type === 'rowCreated') {
183
+ const { formData } = actionRowSubmittedInfo;
184
+ const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.actionOptions
185
+ .setPrimaryKeyValue;
187
186
  const newRowData = typeof setPrimaryKeyValueFunction === 'function'
188
187
  ? setPrimaryKeyValueFunction({
189
188
  rowData: formData,
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isAdaptableObject = void 0;
4
4
  // pretty primitive type guard for AdaptableObject, but currently there is no better/safer way
5
- exports.isAdaptableObject = (object) => {
5
+ const isAdaptableObject = (object) => {
6
6
  return object != undefined && typeof object['Uuid'] === 'string';
7
7
  };
8
+ exports.isAdaptableObject = isAdaptableObject;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isMacLike = void 0;
4
- exports.isMacLike = () => {
4
+ const isMacLike = () => {
5
5
  const globalObject = typeof globalThis !== 'undefined' ? globalThis : window;
6
6
  return /(Mac|iPhone|iPod|iPad)/i.test(globalObject.navigator.platform);
7
7
  };
8
+ exports.isMacLike = isMacLike;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License");exports.fieldsToLicenseDetails=e=>{var r;const o=e.reduce(((e,t)=>(e.set(t.name,t.value),e)),new Map),s={count:o.get("DeveloperCount")?Number(o.get("DeveloperCount")):0,start:new Date(o.get("StartDate")),end:new Date(o.get("EndDate")),owner:o.get("Owner"),timestamp:o.get("TS")?Number(o.get("TS")):0,trial:"true"===o.get("Trial"),ref:null!==(r=o.get("Ref"))&&void 0!==r?r:""};if(!(s.start&&s.end&&s.owner&&"boolean"==typeof s.trial&&s.ref))throw t();return s},exports.decode=r=>{let o="",s=r.split("|").map((e=>{let[t,r]=e.split("=");return"C"===t&&(o=r),{name:t,value:r}}));if(!o)throw t();const n=o.split(",").reverse(),a=n.pop();n.forEach(((r,o)=>{const n=s[o];if(e.compute_string(n.value)!==r)throw t()}));const i=[...s];i.pop();const l=i.map((e=>`${e.name}=${e.value}`)).join("|");if(e.compute_string(l)!==a)throw t();return s=s.map((e=>Object.assign(Object.assign({},e),{value:decodeURI(e.value)}))),exports.fieldsToLicenseDetails(s)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License"),r=e=>{var r;const o=e.reduce(((e,t)=>(e.set(t.name,t.value),e)),new Map),s={count:o.get("DeveloperCount")?Number(o.get("DeveloperCount")):0,start:new Date(o.get("StartDate")),end:new Date(o.get("EndDate")),owner:o.get("Owner"),timestamp:o.get("TS")?Number(o.get("TS")):0,trial:"true"===o.get("Trial"),ref:null!==(r=o.get("Ref"))&&void 0!==r?r:""};if(!(s.start&&s.end&&s.owner&&"boolean"==typeof s.trial&&s.ref))throw t();return s};exports.fieldsToLicenseDetails=r;const o=r=>{let o="",s=r.split("|").map((e=>{let[t,r]=e.split("=");return"C"===t&&(o=r),{name:t,value:r}}));if(!o)throw t();const n=o.split(",").reverse(),a=n.pop();n.forEach(((r,o)=>{const n=s[o];if(e.compute_string(n.value)!==r)throw t()}));const i=[...s];i.pop();const l=i.map((e=>`${e.name}=${e.value}`)).join("|");if(e.compute_string(l)!==a)throw t();return s=s.map((e=>Object.assign(Object.assign({},e),{value:decodeURI(e.value)}))),exports.fieldsToLicenseDetails(s)};exports.decode=o;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.reorder = void 0;
4
- exports.reorder = (list, startIndex, endIndex) => {
4
+ const reorder = (list, startIndex, endIndex) => {
5
5
  const result = [...list];
6
6
  if (startIndex > list.length - 1) {
7
7
  // not much that we can do if the dragged item is out of bounds...
@@ -14,3 +14,4 @@ exports.reorder = (list, startIndex, endIndex) => {
14
14
  result.splice(endIndex, 0, removed);
15
15
  return result;
16
16
  };
17
+ exports.reorder = reorder;
@@ -8,7 +8,7 @@ exports.runIfNotResolvedIn = void 0;
8
8
  * @param callback Called if promise does not resolve in the time defined by 'delay'
9
9
  * @param delay Time after which if the promise was not resolved the callback (fn) is called.
10
10
  */
11
- exports.runIfNotResolvedIn = async (promise, callback, delay = 100) => {
11
+ const runIfNotResolvedIn = async (promise, callback, delay = 100) => {
12
12
  let isFulfilled = false;
13
13
  promise === null || promise === void 0 ? void 0 : promise.then(() => {
14
14
  isFulfilled = true;
@@ -21,3 +21,4 @@ exports.runIfNotResolvedIn = async (promise, callback, delay = 100) => {
21
21
  })();
22
22
  return promise;
23
23
  };
24
+ exports.runIfNotResolvedIn = runIfNotResolvedIn;
@@ -1 +1 @@
1
- export declare const waitForCondition: (isReady: () => boolean, timeout?: number) => Promise<any>;
1
+ export declare const waitForCondition: (isReady: () => boolean, timeout?: number) => Promise<void>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForCondition = void 0;
4
- exports.waitForCondition = (isReady, timeout = 5000) => {
4
+ const waitForCondition = (isReady, timeout = 5000) => {
5
5
  const startTime = Date.now();
6
6
  const ready = isReady();
7
7
  if (ready) {
@@ -26,3 +26,4 @@ exports.waitForCondition = (isReady, timeout = 5000) => {
26
26
  wait(resolve);
27
27
  });
28
28
  };
29
+ exports.waitForCondition = waitForCondition;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const AdaptableContext = React.createContext(null);
7
7
  exports.default = AdaptableContext;
8
- exports.useAdaptable = () => {
8
+ const useAdaptable = () => {
9
9
  return React.useContext(AdaptableContext);
10
10
  };
11
+ exports.useAdaptable = useAdaptable;
@@ -60,4 +60,5 @@ function mapDispatchToProps(dispatch) {
60
60
  };
61
61
  }
62
62
  let AdaptableWrapper = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(AdaptableView);
63
- exports.AdaptableApp = ({ Adaptable }) => renderWithAdaptableContext_1.renderWithAdaptableContext(React.createElement(AdaptableWrapper, { Adaptable: Adaptable }), Adaptable);
63
+ const AdaptableApp = ({ Adaptable }) => renderWithAdaptableContext_1.renderWithAdaptableContext(React.createElement(AdaptableWrapper, { Adaptable: Adaptable }), Adaptable);
64
+ exports.AdaptableApp = AdaptableApp;
@@ -1,13 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { ColDef } from '@ag-grid-community/all-modules';
3
- interface Column extends Partial<ColDef> {
3
+ export interface NocodeColumn extends Partial<ColDef> {
4
4
  field?: string;
5
5
  type?: string | string[];
6
6
  caption?: string;
7
7
  }
8
- declare const _default: React.MemoExoticComponent<({ columns: cols, handle, onValidityChange, }: {
8
+ declare const _default: React.MemoExoticComponent<({ columns: cols, handle, onValidityChange, onChange, onSelectionChange, selectedColumns, }: {
9
9
  onValidityChange: (valid: boolean) => any;
10
10
  handle: React.MutableRefObject<any>;
11
- columns: Column[];
11
+ columns: NocodeColumn[];
12
+ onChange?: (columns: NocodeColumn[]) => void;
13
+ onSelectionChange?: (column: any, flag: boolean) => void;
14
+ selectedColumns?: {
15
+ [key: string]: boolean;
16
+ };
12
17
  }) => JSX.Element>;
13
18
  export default _default;
@@ -37,11 +37,12 @@ const useForceRender = () => {
37
37
  setNow(Date.now());
38
38
  };
39
39
  };
40
- const ColumnsList = ({ columns: cols, handle, onValidityChange, }) => {
40
+ const ColumnsList = ({ columns: cols, handle, onValidityChange, onChange, onSelectionChange, selectedColumns, }) => {
41
41
  const rerender = useForceRender();
42
42
  const columnsRef = react_1.useRef(cols);
43
43
  const silentSetColumns = (columns) => {
44
44
  columnsRef.current = columns;
45
+ onChange === null || onChange === void 0 ? void 0 : onChange(columns);
45
46
  };
46
47
  const setColumns = (columns) => {
47
48
  silentSetColumns(columns);
@@ -83,7 +84,7 @@ const ColumnsList = ({ columns: cols, handle, onValidityChange, }) => {
83
84
  setColumns(cols);
84
85
  };
85
86
  const [primaryKeyField, setPrimaryKeyField] = React.useState(columns[0].field);
86
- const { selected: includedColumnsMap, isSelected: isIncludedColumn, isAllSelected: isAllIncludedColumns, isNoneSelected: isNoneIncludedColumns, selectColumn: includeColumn, deselectColumn: excludeColumn, selectAll: includeAllColumns, deselectAll: excludeAllColumns, } = useSelection_1.default(columns, true, null);
87
+ const { selected: includedColumnsMap, isSelected: isIncludedColumn, isAllSelected: isAllIncludedColumns, isNoneSelected: isNoneIncludedColumns, selectColumn: includeColumn, deselectColumn: excludeColumn, selectAll: includeAllColumns, deselectAll: excludeAllColumns, } = useSelection_1.default(columns, selectedColumns !== null && selectedColumns !== void 0 ? selectedColumns : true, null, { onChange: onSelectionChange });
87
88
  handle.current = {
88
89
  getColumns: () => getColumns().filter((col) => isIncludedColumn(col.field)),
89
90
  getPrimaryKey: () => primaryKeyField,
@@ -9,7 +9,7 @@ const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
9
9
  const rebass_1 = require("rebass");
10
10
  const DefaultAdaptableOptions_1 = require("../../../Utilities/Defaults/DefaultAdaptableOptions");
11
11
  const ConfigurationForm = (props) => {
12
- var _a;
12
+ var _a, _b, _c;
13
13
  let abOptions = props.adaptableOptions;
14
14
  const layoutOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.layoutOptions), abOptions.layoutOptions);
15
15
  const generalOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.generalOptions), abOptions.generalOptions);
@@ -20,6 +20,13 @@ const ConfigurationForm = (props) => {
20
20
  // we are 'hard-coding' this to use AG Grid but so does helper so ok for now and we can refactor when Adaptable Grid is ready
21
21
  const gridOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.gridOptions), abOptions.gridOptions);
22
22
  return (React.createElement(React.Fragment, null,
23
+ React.createElement(HelpBlock_1.default, null, "Base Options"),
24
+ React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'label', style: { textAlign: 'start' } }, { name: 'children' }] },
25
+ React.createElement(FormLayout_1.FormRow, { label: "Adaptable ID" },
26
+ React.createElement(Input_1.default, { value: (_b = (_a = props === null || props === void 0 ? void 0 : props.adaptableOptions) === null || _a === void 0 ? void 0 : _a.adaptableId) !== null && _b !== void 0 ? _b : null, onChange: (event) => {
27
+ var _a;
28
+ props.onChangeadaptableOptions(Object.assign(Object.assign({}, abOptions), { adaptableId: (_a = event.target.value) !== null && _a !== void 0 ? _a : '' }));
29
+ }, style: { minWidth: '20rem' } }))),
23
30
  React.createElement(HelpBlock_1.default, null, "General Options"),
24
31
  React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'children' }, { name: 'label', style: { textAlign: 'start' } }] },
25
32
  React.createElement(FormLayout_1.FormRow, { label: "Show Missing Primary Key Warning" },
@@ -39,7 +46,7 @@ const ConfigurationForm = (props) => {
39
46
  props.onChangeadaptableOptions(abOptions);
40
47
  } })),
41
48
  React.createElement(FormLayout_1.FormRow, { label: "Show Quick Filter" },
42
- React.createElement(CheckBox_1.CheckBox, { checked: (_a = gridOptions.defaultColDef) === null || _a === void 0 ? void 0 : _a.floatingFilter, onChange: (floatingFilter) => {
49
+ React.createElement(CheckBox_1.CheckBox, { checked: (_c = gridOptions.defaultColDef) === null || _c === void 0 ? void 0 : _c.floatingFilter, onChange: (floatingFilter) => {
43
50
  abOptions = Object.assign({}, abOptions);
44
51
  abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
45
52
  abOptions.gridOptions.defaultColDef = {
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { AdaptableOptions } from '../../../types';
3
+ import { OnePageWizardSection } from '../../Wizard/OnePageWizards';
4
+ import { AdaptableFrameworkComponent } from '../../../../types';
5
+ export interface CustomSection<T> {
6
+ title: OnePageWizardSection<T>['title'];
7
+ details?: AdaptableFrameworkComponent;
8
+ isValid?: OnePageWizardSection<T>['isValid'];
9
+ isVisible?: OnePageWizardSection<T>['isVisible'];
10
+ render: (
11
+ /**
12
+ * Internal state of adaptableOptions.
13
+ */
14
+ adaptableOptions: AdaptableOptions,
15
+ /**
16
+ * With this callback adaptableOptions can be changed.
17
+ */
18
+ onChange: (newAdaptableOptions: AdaptableOptions) => void,
19
+ /**
20
+ * Set the selected columns.
21
+ */
22
+ setSelectedColumns: (selectedColumn: Record<string, boolean>) => void) => React.ReactNode;
23
+ }
24
+ export interface ConfigurationWizardProps {
25
+ adaptableOptions: AdaptableOptions;
26
+ onFinish: (adaptableOptions: AdaptableOptions) => void;
27
+ onCancel: () => void;
28
+ startSections?: CustomSection<AdaptableOptions>[];
29
+ }
30
+ export declare const ConfigurationWizard: React.FunctionComponent<ConfigurationWizardProps>;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigurationWizard = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const react_1 = require("react");
7
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
8
+ const OnePageWizards_1 = require("../../Wizard/OnePageWizards");
9
+ const ConfigurationWizardColumnsStep_1 = require("./ConfigurationWizardColumnsStep");
10
+ const ConfigurationForm_1 = tslib_1.__importDefault(require("./ConfigurationForm"));
11
+ const ConfigurationWizard = (props) => {
12
+ const [isPrimaryKeySelected, setIsValid] = React.useState(true);
13
+ const [adaptableOptions, setAdaptableOptions] = react_1.useState(props.adaptableOptions);
14
+ const [selectedColumns, setSelectedColumns] = react_1.useState(() => {
15
+ return props.adaptableOptions.gridOptions.columnDefs.reduce((acc, col) => {
16
+ acc[col.field] = true;
17
+ return acc;
18
+ }, {});
19
+ });
20
+ const columnsHandle = React.useRef();
21
+ const handleFinish = () => {
22
+ const newAdaptableOptions = Object.assign({}, adaptableOptions);
23
+ newAdaptableOptions.gridOptions = Object.assign({}, adaptableOptions.gridOptions);
24
+ newAdaptableOptions.gridOptions.columnDefs = columnsHandle
25
+ .current.getColumns()
26
+ .map((column) => {
27
+ const newColumn = Object.assign(Object.assign({}, column), { headerName: column.caption || StringExtensions_1.default.Humanize(column.field) });
28
+ delete newColumn.caption;
29
+ return newColumn;
30
+ });
31
+ newAdaptableOptions.primaryKey = columnsHandle.current.getPrimaryKey();
32
+ setAdaptableOptions(newAdaptableOptions);
33
+ props.onFinish(newAdaptableOptions);
34
+ };
35
+ const handlePrimaryKeyColumnIsNotSelected = React.useCallback((newIsValid) => {
36
+ setIsValid(newIsValid);
37
+ }, []);
38
+ const handleColumnsChange = React.useCallback((columns) => {
39
+ setAdaptableOptions((adaptableOptions) => (Object.assign(Object.assign({}, adaptableOptions), { gridOptions: Object.assign(Object.assign({}, adaptableOptions.gridOptions), { columnDefs: columns }) })));
40
+ }, []);
41
+ const handleColumnSelectionChange = React.useCallback((col, flag) => {
42
+ setSelectedColumns((selectedColumns) => {
43
+ const newSelectedColumns = selectedColumns !== null && selectedColumns !== void 0 ? selectedColumns : {};
44
+ newSelectedColumns[col.field] = flag;
45
+ return newSelectedColumns;
46
+ });
47
+ }, []);
48
+ let sections = [
49
+ {
50
+ title: 'Columns',
51
+ details: 'Configure Adaptable',
52
+ isValid: () => {
53
+ if (!isPrimaryKeySelected) {
54
+ return 'Primary key column must be included';
55
+ }
56
+ return true;
57
+ },
58
+ render: () => (React.createElement(ConfigurationWizardColumnsStep_1.ConfigurationWizardColumnsStep, { adaptableOptions: adaptableOptions, setPrimaryKeyIsNotSelected: handlePrimaryKeyColumnIsNotSelected, onChange: (newAdaptableOptions) => {
59
+ setAdaptableOptions(newAdaptableOptions);
60
+ }, selectedColumns: selectedColumns, onSelectionChange: handleColumnSelectionChange, onColumnChange: handleColumnsChange, columnsHandle: columnsHandle })),
61
+ },
62
+ {
63
+ title: 'Adaptable Options',
64
+ details: 'Configure Adaptable Options',
65
+ isValid: () => (adaptableOptions.adaptableId ? true : 'Adaptable ID is required'),
66
+ render: () => (React.createElement(ConfigurationForm_1.default, { adaptableOptions: adaptableOptions, onChangeadaptableOptions: (abOptions) => {
67
+ setAdaptableOptions(abOptions);
68
+ } })),
69
+ },
70
+ ];
71
+ if (props.startSections) {
72
+ sections = [
73
+ ...props.startSections.map((section) => {
74
+ return {
75
+ title: section.title,
76
+ isValid: section.isValid,
77
+ isVisible: section.isVisible,
78
+ render: () => {
79
+ return section.render(adaptableOptions, setAdaptableOptions, setSelectedColumns);
80
+ },
81
+ };
82
+ }),
83
+ ...sections,
84
+ ];
85
+ }
86
+ return (React.createElement(OnePageWizards_1.OnePageWizard, { data: adaptableOptions, name: "Configure", defaultCurrentSectionName: 'default section name', onHide: () => null, onFinish: handleFinish, sections: sections }));
87
+ };
88
+ exports.ConfigurationWizard = ConfigurationWizard;
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { NocodeColumn } from './ColumnsList';
3
+ import { AdaptableOptions } from '../../../types';
4
+ export interface ConfigurationWizardColumnsStepProps {
5
+ adaptableOptions: AdaptableOptions;
6
+ onChange: (newOptions: AdaptableOptions) => void;
7
+ columnsHandle: React.MutableRefObject<{
8
+ getColumns: () => any[];
9
+ getPrimaryKey: () => string;
10
+ }>;
11
+ setPrimaryKeyIsNotSelected: (enabled: boolean) => void;
12
+ onColumnChange: (columns: NocodeColumn[]) => void;
13
+ onSelectionChange: (column: any, flag: boolean) => void;
14
+ selectedColumns: {
15
+ [key: string]: boolean;
16
+ };
17
+ }
18
+ export declare const ConfigurationWizardColumnsStep: React.FunctionComponent<ConfigurationWizardColumnsStepProps>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigurationWizardColumnsStep = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
7
+ const ColumnsList_1 = tslib_1.__importDefault(require("./ColumnsList"));
8
+ const ConfigurationWizardColumnsStep = (props) => {
9
+ var _a, _b;
10
+ return (React.createElement(Panel_1.default, { header: '', border: "none", bodyScroll: false, bodyProps: {
11
+ style: { overflow: 'auto', display: 'flex', flexFlow: 'column' },
12
+ }, borderRadius: "none", style: { fontSize: 16, flex: 1 } },
13
+ React.createElement(ColumnsList_1.default, { handle: props.columnsHandle, onValidityChange: (valid) => {
14
+ props.setPrimaryKeyIsNotSelected(valid);
15
+ }, selectedColumns: props.selectedColumns, onChange: props.onColumnChange, onSelectionChange: props.onSelectionChange, columns: (_b = (_a = props.adaptableOptions) === null || _a === void 0 ? void 0 : _a.gridOptions) === null || _b === void 0 ? void 0 : _b.columnDefs })));
16
+ };
17
+ exports.ConfigurationWizardColumnsStep = ConfigurationWizardColumnsStep;
@@ -1,9 +1,2 @@
1
- import * as React from 'react';
2
- import { AdaptableOptions } from '../../../types';
3
- interface ConfigurationDialogProps extends React.HTMLProps<HTMLElement> {
4
- adaptableOptions: AdaptableOptions;
5
- onFinish: (adaptableOptions: AdaptableOptions) => void;
6
- onCancel: () => void;
7
- }
8
- declare const ConfigurationDialog: (props: ConfigurationDialogProps) => JSX.Element;
9
- export default ConfigurationDialog;
1
+ import { ConfigurationWizard } from './ConfigurationWizard';
2
+ export default ConfigurationWizard;
@@ -1,77 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const React = tslib_1.__importStar(require("react"));
5
- const rebass_1 = require("rebass");
6
- const react_1 = require("react");
7
- const Dialog_1 = tslib_1.__importDefault(require("../../../components/Dialog"));
8
- const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
9
- const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
10
- const ColumnsList_1 = tslib_1.__importDefault(require("./ColumnsList"));
11
- const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
12
- const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
13
- const ConfigurationForm_1 = tslib_1.__importDefault(require("./ConfigurationForm"));
14
- const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
15
- const ConfigurationDialog = (props) => {
16
- const [abOptions, setABOptions] = react_1.useState(props.adaptableOptions);
17
- const [finishEnabled, setFinishEnabled] = react_1.useState(true);
18
- const [currentStep, setCurrentStep] = react_1.useState(0);
19
- let canFinish = finishEnabled;
20
- if (!abOptions.adaptableId) {
21
- canFinish = false;
22
- }
23
- let canNext = canFinish && currentStep === 0;
24
- const columnsHandle = React.useRef();
25
- const onadaptableIdChange = (event) => {
26
- const newABOptions = Object.assign({}, abOptions);
27
- newABOptions.adaptableId = event.target.value;
28
- setABOptions(newABOptions);
29
- };
30
- const onFinish = () => {
31
- const newABOptions = Object.assign({}, abOptions);
32
- newABOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
33
- newABOptions.gridOptions.columnDefs = columnsHandle.current.getColumns().map((c) => {
34
- const col = Object.assign(Object.assign({}, c), { headerName: c.caption || StringExtensions_1.default.Humanize(c.field) });
35
- delete col.caption;
36
- return col;
37
- });
38
- newABOptions.primaryKey = columnsHandle.current.getPrimaryKey();
39
- setABOptions(newABOptions);
40
- props.onFinish(newABOptions);
41
- };
42
- const onNext = () => {
43
- setCurrentStep(1);
44
- };
45
- const stepOne = (React.createElement(React.Fragment, null,
46
- React.createElement(Panel_1.default, { header: 'Configure AdapTable', border: "none", bodyScroll: false, bodyProps: {
47
- padding: 0,
48
- style: { overflow: 'auto', display: 'flex', flexFlow: 'column' },
49
- }, borderRadius: "none", style: { fontSize: 16, flex: 1 } },
50
- React.createElement(Panel_1.default, { style: { minHeight: 50 }, border: "none" },
51
- React.createElement(FormLayout_1.default, null,
52
- React.createElement(FormLayout_1.FormRow, { label: "AdaptableId" },
53
- React.createElement(Input_1.default, { value: abOptions.adaptableId, onChange: onadaptableIdChange, style: { minWidth: '20rem' } })))),
54
- React.createElement(ColumnsList_1.default, { handle: columnsHandle, onValidityChange: (valid) => {
55
- setFinishEnabled(valid);
56
- }, columns: abOptions.gridOptions.columnDefs }))));
57
- const stepTwo = (React.createElement(React.Fragment, null,
58
- React.createElement(Panel_1.default, { header: 'Configure AdapTable', border: "none", style: { flex: 1, overflow: 'auto' } },
59
- React.createElement(ConfigurationForm_1.default, { adaptableOptions: abOptions, onChangeadaptableOptions: (abOptions) => {
60
- setABOptions(abOptions);
61
- } }))));
62
- return (React.createElement(Dialog_1.default, { modal: true, isOpen: true, showCloseButton: false },
63
- React.createElement(rebass_1.Flex, { flexDirection: "column", style: {
64
- height: '100%',
65
- width: '90vw',
66
- maxWidth: 1000,
67
- maxHeight: '90vh',
68
- } },
69
- currentStep === 0 ? stepOne : stepTwo,
70
- React.createElement(rebass_1.Flex, { flexDirection: "row", padding: 2, backgroundColor: "primary", alignItems: "center" },
71
- React.createElement(SimpleButton_1.default, { tone: "neutral", variant: "text", tooltip: "Cancel configuration ", onClick: props.onCancel }, "Cancel"),
72
- React.createElement("div", { style: { flex: 1 } }),
73
- React.createElement(SimpleButton_1.default, { variant: "outlined", onClick: () => setCurrentStep(0), disabled: currentStep === 0, marginRight: 2, tone: "neutral" }, "Back"),
74
- React.createElement(SimpleButton_1.default, { variant: "outlined", onClick: onNext, disabled: !canNext, marginRight: 2, tone: "neutral" }, "Next"),
75
- React.createElement(SimpleButton_1.default, { tone: "accent", variant: "raised", icon: 'check', onClick: onFinish, disabled: !canFinish }, "Finish")))));
76
- };
77
- exports.default = ConfigurationDialog;
3
+ const ConfigurationWizard_1 = require("./ConfigurationWizard");
4
+ exports.default = ConfigurationWizard_1.ConfigurationWizard;
@@ -1,6 +1,8 @@
1
1
  declare const useSelection: (columns: {
2
2
  [key: string]: any;
3
- }[], defaultValue: boolean, fieldName: string | null, changeListeners?: {
3
+ }[], defaultValue: boolean | {
4
+ [key: string]: boolean;
5
+ }, fieldName: string | null, changeListeners?: {
4
6
  onChange?: (column: any, flag: boolean) => void;
5
7
  onBatchChange?: (flag: boolean) => void;
6
8
  }) => {
@@ -5,10 +5,15 @@ const useSelection = (columns, defaultValue, fieldName, changeListeners) => {
5
5
  changeListeners = changeListeners || {};
6
6
  const onChange = changeListeners.onChange || ((column, flag) => { });
7
7
  const onBatchChange = changeListeners.onBatchChange || ((flag) => { });
8
- const [selected, setSelected] = react_1.useState(columns.reduce((acc, col) => {
9
- acc[col.field] = fieldName ? col[fieldName] : defaultValue;
10
- return acc;
11
- }, {}));
8
+ const [selected, setSelected] = react_1.useState(typeof defaultValue === 'object'
9
+ ? defaultValue
10
+ : columns.reduce((acc, col) => {
11
+ const flag = fieldName ? col[fieldName] : defaultValue;
12
+ if (flag) {
13
+ acc[col.field] = flag;
14
+ }
15
+ return acc;
16
+ }, {}));
12
17
  const getColumn = (field) => columns.filter((c) => c.field === field)[0];
13
18
  const result = {
14
19
  selected,
@@ -0,0 +1 @@
1
+ export declare const validDataSource: (dataSourceInfo: any) => boolean;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validDataSource = void 0;
4
+ const validDataSource = (dataSourceInfo) => {
5
+ if (!dataSourceInfo || !Array.isArray(dataSourceInfo.columns)) {
6
+ throw `We can't find any columns in your configuration`;
7
+ }
8
+ if (!dataSourceInfo.columns.length) {
9
+ throw 'You should have at least one column';
10
+ }
11
+ const allStringColumns = dataSourceInfo.columns.reduce((acc, col) => {
12
+ if (!col || typeof col !== 'string') {
13
+ return false;
14
+ }
15
+ return acc;
16
+ }, true);
17
+ if (!allStringColumns) {
18
+ throw `Some of your columns are not strings`;
19
+ }
20
+ if (!Array.isArray(dataSourceInfo.data)) {
21
+ throw `We can't find the data array in your configuration`;
22
+ }
23
+ return true;
24
+ };
25
+ exports.validDataSource = validDataSource;