@adaptabletools/adaptable 11.3.0 → 12.0.0-canary.2

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 (311) hide show
  1. package/base.css +568 -273
  2. package/bundle.cjs.js +114 -114
  3. package/index.css +642 -270
  4. package/package.json +2 -2
  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/AdaptableInterfaces/IAdaptable.d.ts +4 -1
  9. package/src/AdaptableOptions/ActionOptions.d.ts +1 -0
  10. package/src/AdaptableOptions/{FormatColumnOptions.js → ActionOptions.js} +0 -0
  11. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +5 -0
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +3 -10
  13. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +5 -0
  14. package/src/AdaptableOptions/AlertOptions.d.ts +14 -1
  15. package/src/AdaptableOptions/ColumnOptions.d.ts +49 -0
  16. package/src/AdaptableOptions/{MasterDetailAgGridPluginOptions.js → ColumnOptions.js} +0 -0
  17. package/src/AdaptableOptions/DashboardOptions.d.ts +2 -7
  18. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +19 -0
  19. package/src/AdaptableOptions/EditOptions.d.ts +6 -7
  20. package/src/AdaptableOptions/EntitlementOptions.d.ts +7 -1
  21. package/src/AdaptableOptions/ExportOptions.d.ts +9 -8
  22. package/src/AdaptableOptions/FilterOptions.d.ts +6 -1
  23. package/src/AdaptableOptions/GeneralOptions.d.ts +25 -23
  24. package/src/AdaptableOptions/{MasterDetailAgGridPluginOptions.d.ts → MasterDetailPluginOptions.d.ts} +2 -4
  25. package/src/{Api/DataSourceApi.js → AdaptableOptions/MasterDetailPluginOptions.js} +0 -0
  26. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +3 -6
  27. package/src/AdaptableOptions/ToolPanelOptions.d.ts +2 -49
  28. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +88 -57
  29. package/src/Api/AdaptableApi.d.ts +6 -3
  30. package/src/Api/ColumnApi.d.ts +9 -4
  31. package/src/Api/ConditionalStyleApi.d.ts +10 -0
  32. package/src/Api/ConfigApi.d.ts +0 -12
  33. package/src/Api/DashboardApi.d.ts +6 -19
  34. package/src/Api/DataSetApi.d.ts +40 -0
  35. package/src/{PredefinedConfig/DataSourceState.js → Api/DataSetApi.js} +0 -0
  36. package/src/Api/EventApi.d.ts +26 -1
  37. package/src/Api/Events/DataSetChanged.d.ts +5 -0
  38. package/src/{PredefinedConfig/FilterState.js → Api/Events/DataSetChanged.js} +0 -0
  39. package/src/Api/Events/SearchChanged.d.ts +4 -5
  40. package/src/Api/ExportApi.d.ts +2 -2
  41. package/src/Api/FilterApi.d.ts +28 -36
  42. package/src/Api/GridApi.d.ts +1 -1
  43. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  44. package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
  45. package/src/Api/Implementation/AlertApiImpl.js +5 -1
  46. package/src/Api/Implementation/ApiBase.d.ts +3 -0
  47. package/src/Api/Implementation/ApiBase.js +6 -0
  48. package/src/Api/Implementation/ColumnApiImpl.d.ts +4 -4
  49. package/src/Api/Implementation/ColumnApiImpl.js +17 -16
  50. package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +2 -0
  51. package/src/Api/Implementation/ConditionalStyleApiImpl.js +8 -0
  52. package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -4
  53. package/src/Api/Implementation/ConfigApiImpl.js +2 -24
  54. package/src/Api/Implementation/DashboardApiImpl.d.ts +3 -6
  55. package/src/Api/Implementation/DashboardApiImpl.js +5 -29
  56. package/src/Api/Implementation/DataSetApiImpl.d.ts +12 -0
  57. package/src/Api/Implementation/DataSetApiImpl.js +42 -0
  58. package/src/Api/Implementation/EventApiImpl.js +1 -0
  59. package/src/Api/Implementation/ExportApiImpl.d.ts +2 -2
  60. package/src/Api/Implementation/FilterApiImpl.d.ts +11 -11
  61. package/src/Api/Implementation/FilterApiImpl.js +59 -72
  62. package/src/Api/Implementation/FormatColumnApiImpl.js +2 -2
  63. package/src/Api/Implementation/GridApiImpl.d.ts +1 -1
  64. package/src/Api/Implementation/GridApiImpl.js +7 -3
  65. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -2
  66. package/src/Api/Implementation/InternalApiImpl.js +14 -3
  67. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  68. package/src/Api/Implementation/LayoutApiImpl.js +20 -0
  69. package/src/Api/Implementation/PredicateApiImpl.d.ts +2 -0
  70. package/src/Api/Implementation/PredicateApiImpl.js +19 -1
  71. package/src/Api/Implementation/SmartEditApiImpl.d.ts +3 -1
  72. package/src/Api/Implementation/SmartEditApiImpl.js +6 -0
  73. package/src/Api/Implementation/TeamSharingApiImpl.d.ts +5 -3
  74. package/src/Api/Implementation/TeamSharingApiImpl.js +28 -10
  75. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -1
  76. package/src/Api/Implementation/UserInterfaceApiImpl.js +4 -4
  77. package/src/Api/InternalApi.d.ts +3 -2
  78. package/src/Api/LayoutApi.d.ts +16 -0
  79. package/src/Api/PredicateApi.d.ts +7 -0
  80. package/src/Api/SmartEditApi.d.ts +8 -2
  81. package/src/Api/TeamSharingApi.d.ts +18 -5
  82. package/src/Api/UserInterfaceApi.d.ts +4 -4
  83. package/src/PredefinedConfig/AdaptableState.d.ts +0 -4
  84. package/src/PredefinedConfig/Common/AdaptableButton.d.ts +3 -3
  85. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +5 -1
  86. package/src/PredefinedConfig/Common/AdaptablePredicate.js +18 -1
  87. package/src/PredefinedConfig/{FilterState.d.ts → Common/ColumnFilter.d.ts} +2 -33
  88. package/src/PredefinedConfig/Common/ColumnFilter.js +2 -0
  89. package/src/PredefinedConfig/Common/Enums.d.ts +2 -2
  90. package/src/PredefinedConfig/Common/Enums.js +1 -1
  91. package/src/PredefinedConfig/Common/FormContext.d.ts +8 -0
  92. package/src/PredefinedConfig/Common/FormContext.js +2 -0
  93. package/src/PredefinedConfig/Common/Types.d.ts +6 -5
  94. package/src/PredefinedConfig/Common/Types.js +2 -3
  95. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  96. package/src/PredefinedConfig/PredefinedConfig.d.ts +0 -10
  97. package/src/PredefinedConfig/StatusBarState.d.ts +1 -2
  98. package/src/PredefinedConfig/SystemState.d.ts +3 -0
  99. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +47 -0
  100. package/src/Redux/ActionsReducers/LayoutRedux.js +134 -1
  101. package/src/Redux/ActionsReducers/PopupRedux.d.ts +3 -2
  102. package/src/Redux/ActionsReducers/SystemRedux.d.ts +22 -0
  103. package/src/Redux/ActionsReducers/SystemRedux.js +39 -1
  104. package/src/Redux/Store/AdaptableStore.js +37 -39
  105. package/src/Strategy/AdaptableModuleBase.js +1 -2
  106. package/src/Strategy/AlertModule.d.ts +11 -0
  107. package/src/Strategy/AlertModule.js +14 -0
  108. package/src/Strategy/BulkUpdateModule.js +3 -4
  109. package/src/Strategy/CellSummaryModule.d.ts +3 -0
  110. package/src/Strategy/CellSummaryModule.js +29 -16
  111. package/src/Strategy/DataSetModule.d.ts +25 -0
  112. package/src/Strategy/DataSetModule.js +65 -0
  113. package/src/Strategy/ExportModule.js +6 -1
  114. package/src/Strategy/FilterModule.d.ts +7 -11
  115. package/src/Strategy/FilterModule.js +26 -20
  116. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  117. package/src/Strategy/FlashingCellModule.js +2 -2
  118. package/src/Strategy/Interface/IModule.d.ts +3 -1
  119. package/src/Strategy/LayoutModule.js +25 -2
  120. package/src/Strategy/PlusMinusModule.js +1 -4
  121. package/src/Strategy/SmartEditModule.js +3 -3
  122. package/src/Strategy/StatusBarModule.js +1 -3
  123. package/src/Strategy/TeamSharingModule.js +1 -1
  124. package/src/Strategy/ToolPanelModule.js +1 -4
  125. package/src/Utilities/Constants/GeneralConstants.d.ts +8 -2
  126. package/src/Utilities/Constants/GeneralConstants.js +8 -2
  127. package/src/Utilities/Constants/ModuleConstants.d.ts +1 -1
  128. package/src/Utilities/Constants/ModuleConstants.js +2 -2
  129. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +17 -15
  130. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  131. package/src/Utilities/Helpers/AdaptableHelper.js +3 -1
  132. package/src/Utilities/ObjectFactory.d.ts +3 -6
  133. package/src/Utilities/ObjectFactory.js +3 -7
  134. package/src/Utilities/Services/CalculatedColumnExpressionService.js +6 -7
  135. package/src/Utilities/Services/EntitlementService.js +7 -1
  136. package/src/Utilities/Services/ModuleService.js +1 -1
  137. package/src/Utilities/Services/ReportService.js +2 -3
  138. package/src/Utilities/Services/RowEditService.d.ts +1 -0
  139. package/src/Utilities/Services/RowEditService.js +34 -2
  140. package/src/Utilities/Services/TeamSharingService.js +4 -4
  141. package/src/View/AdaptablePopover/index.d.ts +1 -0
  142. package/src/View/AdaptablePopover/index.js +5 -6
  143. package/src/View/AdaptableView.js +1 -1
  144. package/src/View/AdaptableViewFactory.js +2 -2
  145. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +8 -3
  146. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +3 -2
  147. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +9 -2
  148. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +18 -0
  149. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +87 -0
  150. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +18 -0
  151. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +16 -0
  152. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +2 -9
  153. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +2 -75
  154. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +3 -1
  155. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +9 -4
  156. package/src/View/AdaptableWizardView/Utils.d.ts +1 -0
  157. package/src/View/AdaptableWizardView/Utils.js +24 -0
  158. package/src/View/AdaptableWizardView/Wizard.d.ts +54 -0
  159. package/src/View/AdaptableWizardView/Wizard.js +98 -0
  160. package/src/View/AdaptableWizardView/index.d.ts +1 -22
  161. package/src/View/AdaptableWizardView/index.js +2 -103
  162. package/src/View/Alert/ActiveAlertsPanel.d.ts +2 -0
  163. package/src/View/Alert/ActiveAlertsPanel.js +15 -0
  164. package/src/View/Alert/AlertStatusSubPanel.js +3 -8
  165. package/src/View/Alert/AlertViewPanel.js +2 -2
  166. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -1
  167. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +3 -3
  168. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +1 -1
  169. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +2 -2
  170. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -3
  171. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +1 -1
  172. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +3 -4
  173. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +5 -6
  174. package/src/View/CellSummary/CellSummaryDetails.js +4 -4
  175. package/src/View/CellSummary/CellSummaryPopover.d.ts +2 -4
  176. package/src/View/CellSummary/CellSummaryPopover.js +3 -6
  177. package/src/View/CellSummary/CellSummaryPopup.js +8 -0
  178. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -1
  179. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -2
  180. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
  181. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +18 -8
  182. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -2
  183. package/src/View/Components/ExternalRenderer.d.ts +3 -6
  184. package/src/View/Components/ExternalRenderer.js +5 -5
  185. package/src/View/Components/FilterForm/FilterForm.d.ts +1 -1
  186. package/src/View/Components/FilterForm/FilterForm.js +10 -8
  187. package/src/View/Components/FilterForm/QuickFilterForm.d.ts +1 -1
  188. package/src/View/Components/FilterForm/QuickFilterForm.js +5 -4
  189. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  190. package/src/View/Components/Popups/AdaptablePopupAlert.d.ts +0 -2
  191. package/src/View/Components/Popups/AdaptablePopupAlert.js +13 -11
  192. package/src/View/Components/Popups/AdaptableToaster.js +29 -9
  193. package/src/View/Components/PreviewResultsPanel.js +3 -3
  194. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +3 -2
  195. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +11 -9
  196. package/src/View/Components/WizardSummaryPage.js +2 -2
  197. package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +1 -1
  198. package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +1 -1
  199. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +1 -1
  200. package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +1 -1
  201. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
  202. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
  203. package/src/View/Dashboard/CustomDashboardButton.d.ts +11 -0
  204. package/src/View/Dashboard/CustomDashboardButton.js +47 -0
  205. package/src/View/Dashboard/CustomToolbarWrapper.d.ts +1 -0
  206. package/src/View/Dashboard/CustomToolbarWrapper.js +30 -11
  207. package/src/View/Dashboard/Dashboard.d.ts +1 -0
  208. package/src/View/Dashboard/Dashboard.js +8 -34
  209. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +19 -36
  210. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +3 -0
  211. package/src/View/DataChangeHistory/buildActionColumnButton.js +70 -0
  212. package/src/View/DataSet/DataSetSelector.d.ts +7 -0
  213. package/src/View/DataSet/DataSetSelector.js +18 -0
  214. package/src/View/DataSet/DataSetStatusPanelPopover.d.ts +2 -0
  215. package/src/View/DataSet/DataSetStatusPanelPopover.js +19 -0
  216. package/src/View/DataSet/DataSetViewPanel.d.ts +19 -0
  217. package/src/View/DataSet/DataSetViewPanel.js +58 -0
  218. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +1 -1
  219. package/src/View/Export/Wizard/ReportNameWizardSection.js +1 -1
  220. package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
  221. package/src/View/Filter/ActiveFiltersPanel.js +1 -1
  222. package/src/View/Filter/FilterSummary.d.ts +5 -5
  223. package/src/View/Filter/FilterSummary.js +5 -4
  224. package/src/View/Filter/FilterViewPanel.d.ts +4 -4
  225. package/src/View/Filter/FilterViewPanel.js +10 -13
  226. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +2 -2
  227. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +1 -1
  228. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +1 -1
  229. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +1 -1
  230. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +2 -2
  231. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  232. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  233. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  234. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +5 -6
  235. package/src/View/GridInfo/ColumnInfoComponent.js +1 -1
  236. package/src/View/GridInfo/GridInfoPopup.js +1 -1
  237. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +6 -24
  238. package/src/View/Layout/Wizard/LayoutEditor/index.js +1 -1
  239. package/src/View/Layout/Wizard/LayoutEditorWizard.d.ts +1 -0
  240. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +2 -2
  241. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +1 -1
  242. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +2 -2
  243. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  244. package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
  245. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +1 -1
  246. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  247. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +1 -1
  248. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +1 -1
  249. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +1 -1
  250. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +2 -2
  251. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  252. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  253. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  254. package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
  255. package/src/View/StatusBar/StatusBarPanel.d.ts +1 -0
  256. package/src/View/StatusBar/StatusBarPanel.js +5 -4
  257. package/src/View/Theme/ThemeStatusPanelPopover.js +5 -25
  258. package/src/View/UIHelper.d.ts +4 -4
  259. package/src/View/UIHelper.js +10 -10
  260. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +2 -2
  261. package/src/View/Wizard/ObjectTagsWizardSection.js +1 -1
  262. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +5 -6
  263. package/src/View/Wizard/OnePageAdaptableWizard.js +35 -169
  264. package/src/View/Wizard/OnePageWizards.d.ts +37 -0
  265. package/src/View/Wizard/OnePageWizards.js +187 -0
  266. package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
  267. package/src/agGrid/ActionColumnRenderer.js +3 -2
  268. package/src/agGrid/Adaptable.d.ts +4 -2
  269. package/src/agGrid/Adaptable.js +99 -58
  270. package/src/agGrid/FilterWrapper.js +1 -1
  271. package/src/agGrid/agGridHelper.d.ts +7 -8
  272. package/src/agGrid/agGridHelper.js +68 -86
  273. package/src/agGrid/agGridMenuHelper.js +4 -1
  274. package/src/agGrid/rowEditIcons.d.ts +1 -0
  275. package/src/agGrid/rowEditIcons.js +2 -1
  276. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +3 -2
  277. package/src/components/Dashboard/DashboardToolbar.js +2 -2
  278. package/src/components/InfiniteTable/index.js +1 -0
  279. package/src/components/List/GridList/index.js +1 -1
  280. package/src/components/SelectList.d.ts +10 -0
  281. package/src/components/SelectList.js +9 -0
  282. package/src/components/WindowModal/WindowModal.js +13 -7
  283. package/src/components/icons/{data-source.d.ts → add-row.d.ts} +0 -0
  284. package/src/components/icons/add-row.js +7 -0
  285. package/src/components/icons/data-set.d.ts +3 -0
  286. package/src/components/icons/{data-source.js → data-set.js} +0 -0
  287. package/src/components/icons/index.js +4 -2
  288. package/src/metamodel/adaptable.metamodel.d.ts +163 -78
  289. package/src/metamodel/adaptable.metamodel.js +402 -322
  290. package/src/types.d.ts +16 -12
  291. package/version.d.ts +1 -1
  292. package/version.js +1 -1
  293. package/src/AdaptableOptions/FormatColumnOptions.d.ts +0 -10
  294. package/src/Api/DataSourceApi.d.ts +0 -58
  295. package/src/Api/Implementation/DataSourceApiImpl.d.ts +0 -15
  296. package/src/Api/Implementation/DataSourceApiImpl.js +0 -51
  297. package/src/PredefinedConfig/DataSourceState.d.ts +0 -34
  298. package/src/Redux/ActionsReducers/DataSourceRedux.d.ts +0 -42
  299. package/src/Redux/ActionsReducers/DataSourceRedux.js +0 -76
  300. package/src/Redux/ActionsReducers/FilterRedux.d.ts +0 -70
  301. package/src/Redux/ActionsReducers/FilterRedux.js +0 -126
  302. package/src/Strategy/DataSourceModule.d.ts +0 -20
  303. package/src/Strategy/DataSourceModule.js +0 -56
  304. package/src/View/DataSource/DataSourceViewPanel.d.ts +0 -19
  305. package/src/View/DataSource/DataSourceViewPanel.js +0 -69
  306. package/src/View/DataSource/Wizard/DataSourceSettingsSummary.d.ts +0 -2
  307. package/src/View/DataSource/Wizard/DataSourceSettingsSummary.js +0 -17
  308. package/src/View/DataSource/Wizard/DataSourceSettingsWizard.d.ts +0 -8
  309. package/src/View/DataSource/Wizard/DataSourceSettingsWizard.js +0 -42
  310. package/src/View/DataSource/Wizard/DataSourceWizard.d.ts +0 -8
  311. package/src/View/DataSource/Wizard/DataSourceWizard.js +0 -53
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectFactory = exports.CreateToastOptions = exports.CreateColumnFilter = exports.CreateEmptyCellSummmary = exports.CreateSystemStatusMessageInfo = exports.CreateEmptyStyle = exports.CreateEmptyLayout = exports.CreateEmptyFreeTextColumn = exports.CreateEmptyFormatColumn = exports.CreateEmptyConditionalStyle = exports.CreateEmptyShortcut = exports.CreateEmptySchedule = exports.CreateReportSchedule = exports.CreateGlue42Schedule = exports.CreateIPushPullSchedule = exports.CreateEmptyOpenFinSchedule = exports.CreateEmptyGlue42Schedule = exports.CreateEmptyIPushPullSchedule = exports.CreateEmptyOpenFinReport = exports.CreateEmptyGlue42Report = exports.CreateEmptyIPushPullReport = exports.CreateEmptyReportSchedule = exports.CreateEmptyReminderSchedule = exports.CreateEmptyBaseSchedule = exports.CreateEmptyReport = exports.CreateInternalAlertDefinitionForMessages = exports.CreateEmptyFlashingCellDefinition = exports.CreateEmptyAlertDefinition = exports.CreateRowChangedAlert = exports.CreateCellChangedAlert = exports.CreateGenericAlert = exports.CreateEmptyPlusMinusNudge = exports.CreateEmptyNamedQuery = exports.CreateEmptyCalculatedColumn = exports.CreateEmptyDataSource = exports.CreateEmptyCustomSort = void 0;
3
+ exports.ObjectFactory = exports.CreateToastOptions = exports.CreateColumnFilter = exports.CreateEmptyCellSummmary = exports.CreateSystemStatusMessageInfo = exports.CreateEmptyStyle = exports.CreateEmptyLayout = exports.CreateEmptyFreeTextColumn = exports.CreateEmptyFormatColumn = exports.CreateEmptyConditionalStyle = exports.CreateEmptyShortcut = exports.CreateEmptySchedule = exports.CreateReportSchedule = exports.CreateGlue42Schedule = exports.CreateIPushPullSchedule = exports.CreateEmptyOpenFinSchedule = exports.CreateEmptyGlue42Schedule = exports.CreateEmptyIPushPullSchedule = exports.CreateEmptyOpenFinReport = exports.CreateEmptyGlue42Report = exports.CreateEmptyIPushPullReport = exports.CreateEmptyReportSchedule = exports.CreateEmptyReminderSchedule = exports.CreateEmptyBaseSchedule = exports.CreateEmptyReport = exports.CreateInternalAlertDefinitionForMessages = exports.CreateEmptyFlashingCellDefinition = exports.CreateEmptyAlertDefinition = exports.CreateRowChangedAlert = exports.CreateCellChangedAlert = exports.CreateGenericAlert = exports.CreateEmptyPlusMinusNudge = exports.CreateEmptyNamedQuery = exports.CreateEmptyCalculatedColumn = exports.CreateEmptyCustomSort = void 0;
4
4
  const Enums_1 = require("../PredefinedConfig/Common/Enums");
5
5
  const GeneralConstants_1 = require("./Constants/GeneralConstants");
6
6
  const Uuid_1 = require("../PredefinedConfig/Uuid");
@@ -9,10 +9,6 @@ function CreateEmptyCustomSort() {
9
9
  return { Uuid: Uuid_1.createUuid(), ColumnId: GeneralConstants_1.EMPTY_STRING, SortedValues: [] };
10
10
  }
11
11
  exports.CreateEmptyCustomSort = CreateEmptyCustomSort;
12
- function CreateEmptyDataSource() {
13
- return { Uuid: Uuid_1.createUuid(), Name: GeneralConstants_1.EMPTY_STRING, Description: GeneralConstants_1.EMPTY_STRING };
14
- }
15
- exports.CreateEmptyDataSource = CreateEmptyDataSource;
16
12
  function CreateEmptyCalculatedColumn(isFilterable) {
17
13
  return {
18
14
  Uuid: Uuid_1.createUuid(),
@@ -359,7 +355,7 @@ function CreateColumnFilter(ColumnId, PredicateId, Inputs) {
359
355
  };
360
356
  }
361
357
  exports.CreateColumnFilter = CreateColumnFilter;
362
- function CreateToastOptions(notificationsOptions, { onClose } = {}) {
358
+ function CreateToastOptions(notificationsOptions, { onClose, containerId }) {
363
359
  const adaptableToastPosition = notificationsOptions.position;
364
360
  const position = getToastPosition(adaptableToastPosition);
365
361
  const duration = notificationsOptions.duration;
@@ -369,6 +365,7 @@ function CreateToastOptions(notificationsOptions, { onClose } = {}) {
369
365
  const isDraggable = notificationsOptions.isDraggable;
370
366
  const transition = getToastTransition(notificationsOptions.transition);
371
367
  const toastProps = {
368
+ containerId,
372
369
  position,
373
370
  autoClose: duration == 'always' ? false : duration,
374
371
  hideProgressBar: !showProgressBar,
@@ -412,7 +409,6 @@ function getToastTransition(transition) {
412
409
  }
413
410
  exports.ObjectFactory = {
414
411
  CreateEmptyCustomSort,
415
- CreateEmptyDataSource,
416
412
  CreateEmptyCalculatedColumn,
417
413
  CreateEmptyNamedQuery,
418
414
  CreateEmptyPlusMinusNudge,
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CalculatedColumnExpressionService = void 0;
4
- const Enums_1 = require("../../PredefinedConfig/Common/Enums");
5
4
  const LoggingHelper_1 = require("../Helpers/LoggingHelper");
6
5
  const ModuleConstants_1 = require("../Constants/ModuleConstants");
7
6
  const scalarAggregationHelper_1 = require("../ExpressionFunctions/scalarAggregationHelper");
@@ -42,28 +41,28 @@ class CalculatedColumnExpressionService {
42
41
  // currently AggregatedScalarExpression support only numerical values
43
42
  // TODO AFL try to derive the type from the aggregatedColumn?
44
43
  // we definitely don't want to aggregate everything only to get the data type
45
- return Enums_1.DataType.Number;
44
+ return 'Number';
46
45
  }
47
46
  let firstRowNode = this.adaptableApi.gridApi.getFirstRowNode();
48
47
  let firstRowValue = this.adaptableApi.internalApi
49
48
  .getQueryLanguageService()
50
49
  .evaluateScalarExpression(calculatedColumnQuery.ScalarExpression, ModuleConstants_1.CalculatedColumnModuleId, firstRowNode);
51
50
  if (firstRowValue instanceof Date) {
52
- return Enums_1.DataType.Date;
51
+ return 'Date';
53
52
  }
54
53
  if (typeof firstRowValue === 'boolean') {
55
- return Enums_1.DataType.Boolean;
54
+ return 'Boolean';
56
55
  }
57
56
  if (typeof firstRowValue === 'string') {
58
- return Enums_1.DataType.String;
57
+ return 'String';
59
58
  }
60
59
  if (typeof firstRowValue === 'number') {
61
- return Enums_1.DataType.Number;
60
+ return 'Number';
62
61
  }
63
62
  }
64
63
  catch (e) {
65
64
  LoggingHelper_1.LogAdaptableWarning(`Invalid CalculatedColumn expression ${this.adaptableApi.queryLanguageApi.getAdaptableQueryExpression(calculatedColumnQuery)} :: ${e}`);
66
- return Enums_1.DataType.Number;
65
+ return 'Number';
67
66
  }
68
67
  }
69
68
  isCalculatedColumnQueryValid(calculatedColumnQuery) {
@@ -33,7 +33,13 @@ class EntitlementService {
33
33
  const moduleEntitlements = entitlementOptions.moduleEntitlements;
34
34
  if (moduleEntitlements) {
35
35
  if (typeof moduleEntitlements === 'function') {
36
- const dynamicModuleEntitlement = moduleEntitlements(adaptableModule, adaptableOptions.userName, adaptableOptions.adaptableId, defaultAccessLevel);
36
+ const entitlementContext = {
37
+ adaptableModule,
38
+ userName: adaptableOptions.userName,
39
+ adaptableId: adaptableOptions.adaptableId,
40
+ defaultAccessLevel,
41
+ };
42
+ const dynamicModuleEntitlement = moduleEntitlements(entitlementContext);
37
43
  return dynamicModuleEntitlement !== null && dynamicModuleEntitlement !== void 0 ? dynamicModuleEntitlement : defaultAccessLevel;
38
44
  }
39
45
  else {
@@ -93,7 +93,7 @@ class ModuleService {
93
93
  return learnUrl + 'handbook-sorting';
94
94
  case 'Dashboard':
95
95
  return learnUrl + 'ui-dashboard';
96
- case 'DataSource':
96
+ case 'DataSet':
97
97
  return learnUrl + 'handbook-data-sources';
98
98
  case 'DataChangeHistory':
99
99
  return learnUrl + 'handbook-monitoring#data-change-history';
@@ -341,18 +341,17 @@ class ReportService {
341
341
  : // type === formattedValue
342
342
  this.adaptableApi.gridApi.getFormattedValueFromRawValue(columnId, cellRawValue);
343
343
  }
344
- computeCellExportValueFormat(columnType) {
344
+ computeCellExportValueFormat(columnDataType) {
345
345
  const exportOptions = this.adaptableApi.internalApi.getAdaptableOptions().exportOptions;
346
346
  if (exportOptions.exportFormatType === 'rawValue' ||
347
347
  exportOptions.exportFormatType === 'formattedValue') {
348
348
  return exportOptions.exportFormatType;
349
349
  }
350
350
  // format is customized based on column data type
351
- switch (columnType) {
351
+ switch (columnDataType) {
352
352
  case 'String':
353
353
  return exportOptions.exportFormatType.string;
354
354
  case 'Number':
355
- case 'NumberArray':
356
355
  return exportOptions.exportFormatType.number;
357
356
  case 'Date':
358
357
  return exportOptions.exportFormatType.date;
@@ -22,4 +22,5 @@ export declare class RowEditService implements IRowEditService {
22
22
  private buildFormFieldLabelContext;
23
23
  private getFieldTypeFromColumnType;
24
24
  private getFieldValueOptions;
25
+ private autoHandleActionRowButtons;
25
26
  }
@@ -7,6 +7,10 @@ class RowEditService {
7
7
  this.adaptableInstance = this.adaptableApi.internalApi.getAdaptableInstance();
8
8
  this.rowEditFormOptions =
9
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));
13
+ }
10
14
  }
11
15
  buildRowEditForm(rowNode) {
12
16
  return this.buildRowForm('rowEdited', rowNode);
@@ -48,10 +52,13 @@ class RowEditService {
48
52
  };
49
53
  }
50
54
  buildRowFormFields(type, rowNode) {
51
- const relevantColumns = this.adaptableApi.columnApi.getColumns().filter((column) => {
55
+ const relevantColumns = this.adaptableApi.columnApi
56
+ .getColumns()
57
+ .filter((column) => {
52
58
  // if there is NO rowNode, do NOT display the non-editable fields as they will be empty
53
59
  return !!rowNode || this.isColumnEditable(column, rowNode);
54
- });
60
+ })
61
+ .filter((column) => !this.adaptableApi.columnApi.isActionRowButtonColumn(column.columnId));
55
62
  return relevantColumns.map((column) => this.buildFormField(type, column, rowNode));
56
63
  }
57
64
  buildRowFormButtons(type, rowNode) {
@@ -161,5 +168,30 @@ class RowEditService {
161
168
  label: value,
162
169
  }));
163
170
  }
171
+ autoHandleActionRowButtons(rowEditedFormInfo) {
172
+ const { adaptableApi } = rowEditedFormInfo;
173
+ if (rowEditedFormInfo.type === 'rowEdited') {
174
+ const { rowNode, formData } = rowEditedFormInfo;
175
+ const newRowData = Object.assign(Object.assign({}, rowNode.data), formData);
176
+ adaptableApi.gridApi.updateGridData([newRowData]);
177
+ }
178
+ if (rowEditedFormInfo.type === 'rowDeleted') {
179
+ const { rowNode } = rowEditedFormInfo;
180
+ const deletedRowData = rowNode.data;
181
+ adaptableApi.gridApi.deleteGridData([deletedRowData]);
182
+ }
183
+ if (rowEditedFormInfo.type === 'rowCreated') {
184
+ const { formData } = rowEditedFormInfo;
185
+ const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.userInterfaceOptions
186
+ .actionOptions.setPrimaryKeyValue;
187
+ const newRowData = typeof setPrimaryKeyValueFunction === 'function'
188
+ ? setPrimaryKeyValueFunction({
189
+ rowData: formData,
190
+ adaptableApi,
191
+ })
192
+ : Object.assign({}, formData);
193
+ adaptableApi.gridApi.addGridData([newRowData], { addIndex: 0 });
194
+ }
195
+ }
164
196
  }
165
197
  exports.RowEditService = RowEditService;
@@ -74,7 +74,7 @@ class TeamSharingService {
74
74
  return importInfo === null || importInfo === void 0 ? void 0 : importInfo.AddAction(Entity);
75
75
  }
76
76
  };
77
- const existingSharedEntities = this.adaptableApi.teamSharingApi.getSharedEntities();
77
+ const existingSharedEntities = this.adaptableApi.internalApi.getLocalTeamSharingEntities();
78
78
  const sharedEntityDependencyTree = this.getSharedEntityDependencyTree(importedSharedEntity, existingSharedEntities);
79
79
  const importSteps = sharedEntityDependencyTree.map((sharedEntity) => ({
80
80
  sharedEntity,
@@ -84,13 +84,13 @@ class TeamSharingService {
84
84
  }
85
85
  getSharedEntityLocalAndRemoteRevisions(changedAdaptableObjectId, remoteSharedEntities) {
86
86
  var _a, _b, _c, _d;
87
- const localRevision = (_b = (_a = this.adaptableApi.teamSharingApi.getTeamSharingState().ActiveSharedEntityMap[changedAdaptableObjectId]) === null || _a === void 0 ? void 0 : _a.Revision) !== null && _b !== void 0 ? _b : -1;
87
+ const localRevision = (_b = (_a = this.adaptableApi.internalApi.getState().TeamSharing.ActiveSharedEntityMap[changedAdaptableObjectId]) === null || _a === void 0 ? void 0 : _a.Revision) !== null && _b !== void 0 ? _b : -1;
88
88
  const remoteRevision = (_d = (_c = remoteSharedEntities.find((sharedEntity) => sharedEntity.Entity.Uuid === changedAdaptableObjectId)) === null || _c === void 0 ? void 0 : _c.Revision) !== null && _d !== void 0 ? _d : -1;
89
89
  return [localRevision, remoteRevision];
90
90
  }
91
91
  getStaleActiveSharedEntities() {
92
- const sharedEntities = this.adaptableApi.teamSharingApi.getSharedEntities();
93
- const activeEntities = this.adaptableApi.teamSharingApi.getTeamSharingState().ActiveSharedEntityMap;
92
+ const sharedEntities = this.adaptableApi.internalApi.getLocalTeamSharingEntities();
93
+ const activeEntities = this.adaptableApi.internalApi.getState().TeamSharing.ActiveSharedEntityMap;
94
94
  const result = {};
95
95
  sharedEntities
96
96
  .filter((sharedEntity) => sharedEntity.Type === 'Active')
@@ -12,6 +12,7 @@ export interface AdaptablePopoverProps extends React.ClassAttributes<AdaptablePo
12
12
  useButton?: boolean;
13
13
  tooltipText?: string;
14
14
  popoverMinWidth?: number;
15
+ popoverMaxWidth?: number;
15
16
  popupPadding?: number;
16
17
  }
17
18
  export declare class AdaptablePopover extends React.Component<AdaptablePopoverProps, {}> {
@@ -11,7 +11,7 @@ const OverlayTrigger_1 = tslib_1.__importDefault(require("../../components/Overl
11
11
  const rebass_1 = require("rebass");
12
12
  class AdaptablePopover extends React.Component {
13
13
  render() {
14
- var _a, _b;
14
+ var _a, _b, _c;
15
15
  let messageType = this.props.MessageType != null ? this.props.MessageType : 'Info';
16
16
  const showIcon = (_a = this.props.showIcon) !== null && _a !== void 0 ? _a : true;
17
17
  let useButton = this.props.useButton != null ? this.props.useButton : false;
@@ -23,11 +23,10 @@ class AdaptablePopover extends React.Component {
23
23
  margin: '0px',
24
24
  padding: '0px',
25
25
  minWidth: popoverMinWidth,
26
- maxWidth: 300,
26
+ maxWidth: (_b = this.props.popoverMaxWidth) !== null && _b !== void 0 ? _b : 300,
27
27
  } },
28
- title ? (React.createElement(rebass_1.Text, { fontSize: 2, padding: 2 },
29
- React.createElement("b", null, title))) : null,
30
- React.createElement(rebass_1.Box, { className: "ab-Popover__body", padding: (_b = this.props.popupPadding) !== null && _b !== void 0 ? _b : 2 }, this.props.bodyText.map((textOrHTML, index) => (React.createElement("span", { key: index }, textOrHTML))))));
28
+ title ? (React.createElement(rebass_1.Text, { fontSize: 4, padding: 2 }, title)) : null,
29
+ React.createElement(rebass_1.Box, { className: "ab-Popover__body", padding: (_c = this.props.popupPadding) !== null && _c !== void 0 ? _c : 2 }, this.props.bodyText.map((textOrHTML, index) => (React.createElement("span", { key: index }, textOrHTML))))));
31
30
  const icon = 'info'; // - think this is wrong - UIHelper.getGlyphByMessageType(messageType);
32
31
  const color = UIHelper_1.UIHelper.getColorByMessageType(messageType);
33
32
  const iconStyle = {
@@ -37,7 +36,7 @@ class AdaptablePopover extends React.Component {
37
36
  return (React.createElement(rebass_1.Flex, { alignItems: "center", className: this.props.className },
38
37
  React.createElement(OverlayTrigger_1.default, { showTriangle: true, render: () => popoverClickRootClose, showEvent: (this.props.showEvent || 'mouseenter'), hideEvent: (this.props.hideEvent || 'mouseleave'), style: {
39
38
  overflow: 'visible',
40
- }, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
39
+ }, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { title: this.props.tooltipText, tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
41
40
  this.props.children,
42
41
  showIcon && React.createElement(icons_1.Icon, { name: icon }))))));
43
42
  }
@@ -33,7 +33,7 @@ class AdaptableView extends React.Component {
33
33
  , {
34
34
  // we NEEEEED!!!! this containerId, otherwise, toastify will have memory leaks when the adaptable
35
35
  // instance is destroyed and re-created many times
36
- containerId: adaptableOptions.adaptableId, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }),
36
+ containerId: adaptableOptions.adaptableId, enableMultiContainer: true, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }),
37
37
  (watermark === null || watermark === void 0 ? void 0 : watermark.show) && React.createElement(License_1.LicenseWatermark, null, watermark === null || watermark === void 0 ? void 0 : watermark.text),
38
38
  React.createElement(WindowPopups_1.WindowPopups, null),
39
39
  React.createElement(FormPopups_1.FormPopups, null),
@@ -26,7 +26,7 @@ const QuickSearchViewPanel_1 = require("./QuickSearch/QuickSearchViewPanel");
26
26
  const SmartEditViewPanel_1 = require("./SmartEdit/SmartEditViewPanel");
27
27
  const SystemStatusViewPanel_1 = require("./SystemStatus/SystemStatusViewPanel");
28
28
  const ThemeViewPanel_1 = require("./Theme/ThemeViewPanel");
29
- const DataSourceViewPanel_1 = require("./DataSource/DataSourceViewPanel");
29
+ const DataSetViewPanel_1 = require("./DataSet/DataSetViewPanel");
30
30
  const DataChangeHistoryPopup_1 = require("./DataChangeHistory/DataChangeHistoryPopup");
31
31
  const DataChangeHistoryViewPanel_1 = require("./DataChangeHistory/DataChangeHistoryViewPanel");
32
32
  const StateManagementViewPanel_1 = require("./StateManagement/StateManagementViewPanel");
@@ -59,7 +59,7 @@ exports.AdaptableViewPanelFactory = new Map([
59
59
  [ModuleConstants.SmartEditModuleId, SmartEditViewPanel_1.SmartEditViewPanelControl],
60
60
  [ModuleConstants.SystemStatusModuleId, SystemStatusViewPanel_1.SystemStatusViewPanel],
61
61
  [ModuleConstants.ThemeModuleId, ThemeViewPanel_1.ThemeViewPanelControl],
62
- [ModuleConstants.DataSourceModuleId, DataSourceViewPanel_1.DataSourceViewPanelControl],
62
+ [ModuleConstants.DataSetModuleId, DataSetViewPanel_1.DataSetViewPanelControl],
63
63
  [ModuleConstants.DataChangeHistoryModuleId, DataChangeHistoryViewPanel_1.DataChangeHistoryViewPanelControl],
64
64
  [ModuleConstants.StateManagementModuleId, StateManagementViewPanel_1.StateManagementViewPanel],
65
65
  ]);
@@ -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,18 @@
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: (adaptableOptions: AdaptableOptions, onChange: (newAdaptableOptions: AdaptableOptions) => void) => React.ReactNode;
11
+ }
12
+ export interface ConfigurationWizardProps {
13
+ adaptableOptions: AdaptableOptions;
14
+ onFinish: (adaptableOptions: AdaptableOptions) => void;
15
+ onCancel: () => void;
16
+ startSections?: CustomSection<AdaptableOptions>[];
17
+ }
18
+ export declare const ConfigurationWizard: React.FunctionComponent<ConfigurationWizardProps>;
@@ -0,0 +1,87 @@
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
+ exports.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);
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
+ };
@@ -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,16 @@
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
+ exports.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
+ };
@@ -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;