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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/icons/inspector.svg +1 -0
  2. package/index.css +6464 -5488
  3. package/index.css.map +1 -1
  4. package/package.json +5 -6
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
  6. package/src/AdaptableState/ChartingState.d.ts +1 -1
  7. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  8. package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
  9. package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
  10. package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
  11. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
  12. package/src/AdaptableState/TeamSharingState.d.ts +1 -1
  13. package/src/Api/CustomSortApi.d.ts +6 -1
  14. package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
  15. package/src/Api/Implementation/ColumnApiImpl.js +12 -3
  16. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
  17. package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
  18. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
  19. package/src/Api/Implementation/LayoutApiImpl.js +85 -2
  20. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
  21. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
  22. package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
  23. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
  24. package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
  25. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
  27. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
  28. package/src/Api/Internal/AdaptableInternalApi.js +3 -3
  29. package/src/Api/Internal/ColumnFilterInternalApi.js +1 -1
  30. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -0
  31. package/src/Api/Internal/LayoutInternalApi.js +25 -0
  32. package/src/Api/LayoutApi.d.ts +7 -1
  33. package/src/Api/ScheduleApi.d.ts +5 -0
  34. package/src/Api/ShortcutApi.d.ts +5 -0
  35. package/src/Api/StyledColumnApi.d.ts +5 -0
  36. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
  37. package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
  38. package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
  39. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
  40. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
  41. package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
  42. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
  43. package/src/Strategy/FormatColumnModule.js +2 -2
  44. package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
  45. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
  46. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
  47. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
  48. package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
  49. package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
  50. package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
  51. package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
  52. package/src/Utilities/getObjectTagsViewItems.js +1 -1
  53. package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
  54. package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
  55. package/src/View/AdaptablePopover/index.d.ts +1 -1
  56. package/src/View/AdaptablePopover/index.js +3 -3
  57. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
  58. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
  59. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
  60. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
  61. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
  62. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
  63. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
  64. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
  65. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
  66. package/src/View/AdaptableWizardView/Wizard.js +1 -1
  67. package/src/View/AdaptableWizardView/index.js +1 -4
  68. package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
  69. package/src/View/Alert/AlertStatusSubPanel.js +1 -1
  70. package/src/View/Alert/AlertViewPanel.js +2 -2
  71. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
  72. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
  73. package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
  74. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
  75. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
  76. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
  77. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
  78. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  79. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
  80. package/src/View/Alert/Wizard/AlertWizard.js +8 -8
  81. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
  82. package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
  83. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
  84. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  85. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
  86. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  87. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
  88. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
  89. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
  90. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
  91. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
  92. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
  93. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
  94. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
  95. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  96. package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
  97. package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
  98. package/src/View/Charting/ChartingViewPanel.js +7 -7
  99. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
  100. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
  101. package/src/View/Charting/useChartingElements.d.ts +1 -1
  102. package/src/View/Charting/useChartingElements.js +1 -1
  103. package/src/View/ColumnInfo/ColumnInfo.js +14 -19
  104. package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
  105. package/src/View/Comments/CommentsEditor.js +14 -17
  106. package/src/View/Comments/CommentsPopup.js +6 -6
  107. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  108. package/src/View/Components/AdaptableInput/index.js +3 -2
  109. package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
  110. package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
  111. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
  113. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
  114. package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
  115. package/src/View/Components/AdaptableObjectRow/index.js +4 -5
  116. package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
  117. package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
  118. package/src/View/Components/Buttons/ButtonClear.js +2 -1
  119. package/src/View/Components/Buttons/ButtonFunction.js +2 -1
  120. package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
  121. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  122. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
  123. package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
  124. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  125. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
  126. package/src/View/Components/CellPopup/index.d.ts +1 -1
  127. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
  128. package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
  129. package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
  130. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
  131. package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
  132. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
  133. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  134. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
  135. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
  136. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  137. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
  138. package/src/View/Components/ColumnSelector/index.js +1 -3
  139. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
  140. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
  141. package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
  142. package/src/View/Components/EntityRulesEditor/index.js +11 -10
  143. package/src/View/Components/ExpressionWizard.js +4 -4
  144. package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
  145. package/src/View/Components/FilterForm/Waiting.js +3 -2
  146. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
  147. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
  148. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  149. package/src/View/Components/NewScopeComponent.js +20 -20
  150. package/src/View/Components/Panels/PanelFooter.js +5 -5
  151. package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
  152. package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
  153. package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
  154. package/src/View/Components/Panels/PanelWithButton.js +7 -6
  155. package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
  156. package/src/View/Components/Panels/PanelWithImage.js +10 -12
  157. package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
  158. package/src/View/Components/Panels/PanelWithRow.js +3 -3
  159. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
  160. package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
  161. package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
  162. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
  163. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
  164. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
  165. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
  166. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
  167. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
  168. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  169. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
  170. package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
  171. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
  172. package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
  173. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
  174. package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
  175. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
  176. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
  177. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  178. package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
  179. package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
  180. package/src/View/Components/PreviewResultsPanel.js +6 -13
  181. package/src/View/Components/RangesComponent.js +19 -19
  182. package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
  183. package/src/View/Components/ReorderDraggable/index.js +8 -7
  184. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
  185. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  186. package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
  187. package/src/View/Components/StyleComponent.d.ts +2 -26
  188. package/src/View/Components/StyleComponent.js +186 -190
  189. package/src/View/Components/TagValueSelector/index.d.ts +1 -1
  190. package/src/View/Components/TagValueSelector/index.js +4 -3
  191. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  192. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
  193. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  194. package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
  195. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
  196. package/src/View/Components/ValueSelector/index.d.ts +9 -33
  197. package/src/View/Components/ValueSelector/index.js +38 -61
  198. package/src/View/Components/WizardSummaryPage.js +1 -1
  199. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
  200. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
  201. package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
  202. package/src/View/Dashboard/Dashboard.js +3 -3
  203. package/src/View/Dashboard/DashboardPopup.js +27 -23
  204. package/src/View/Dashboard/DashboardViewPanel.js +4 -4
  205. package/src/View/Dashboard/PinnedDashboard.js +3 -3
  206. package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
  207. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
  208. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
  209. package/src/View/DataImport/DataImportPopup.js +2 -2
  210. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
  211. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
  212. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
  213. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
  214. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
  215. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
  216. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
  217. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  218. package/src/View/DataSet/DataSetViewPanel.js +2 -2
  219. package/src/View/Export/ExportDestinationPicker.js +2 -1
  220. package/src/View/Export/ExportViewPanel.js +4 -4
  221. package/src/View/Export/ReportFormatSelector.js +3 -3
  222. package/src/View/Export/ReportListItem.js +1 -1
  223. package/src/View/Export/ReportNameSelector.js +3 -3
  224. package/src/View/Export/Wizard/NewReportWizard.js +4 -4
  225. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
  226. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
  227. package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
  228. package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
  229. package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
  230. package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
  231. package/src/View/Filter/FilterSummary.d.ts +1 -1
  232. package/src/View/Filter/FilterSummary.js +1 -1
  233. package/src/View/Filter/FilterViewPanel.d.ts +2 -2
  234. package/src/View/Filter/FilterViewPanel.js +4 -4
  235. package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
  236. package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
  237. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
  238. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
  239. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
  240. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
  241. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
  242. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  243. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
  244. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  245. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
  246. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
  247. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  248. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
  249. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
  250. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
  251. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
  252. package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
  253. package/src/View/GridFilter/GridFilterPopup.js +31 -40
  254. package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
  255. package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
  256. package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
  257. package/src/View/GridFilter/NamedQuerySelector.js +7 -7
  258. package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
  259. package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
  260. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
  261. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
  262. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
  263. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
  264. package/src/View/KeyHint.d.ts +5 -2
  265. package/src/View/KeyHint.js +4 -2
  266. package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
  267. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
  268. package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
  269. package/src/View/Layout/LayoutViewPanel.js +2 -2
  270. package/src/View/Layout/TransposedPopup.js +4 -4
  271. package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
  272. package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
  273. package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
  274. package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
  275. package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
  276. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
  277. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
  278. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
  279. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
  280. package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
  281. package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
  282. package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
  283. package/src/View/License/LicenseWatermark.js +1 -1
  284. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  285. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
  286. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
  287. package/src/View/Note/NoteEditor.js +5 -1
  288. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
  289. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
  290. package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
  291. package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
  292. package/src/View/QuickSearch/QuickSearchInput.js +5 -5
  293. package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
  294. package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
  295. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
  296. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  297. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
  298. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
  299. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
  300. package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
  301. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
  302. package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
  303. package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
  304. package/src/View/SmartEdit/SmartEditPopup.js +8 -8
  305. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
  306. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  307. package/src/View/StateManagement/StateManagementPopup.js +12 -12
  308. package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
  309. package/src/View/StateManagement/handleExportState.d.ts +1 -1
  310. package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
  311. package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
  312. package/src/View/StatusBar/StatusBarPanel.js +5 -4
  313. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
  314. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
  315. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
  316. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
  317. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
  318. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
  319. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
  320. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
  321. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
  322. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
  323. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
  324. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
  325. package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
  326. package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
  327. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
  328. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
  329. package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
  330. package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
  331. package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
  332. package/src/View/Theme/ThemeEditor.js +6 -31
  333. package/src/View/Theme/ThemeEditorWindow.js +2 -2
  334. package/src/View/Theme/ThemeField.js +1 -2
  335. package/src/View/Theme/ThemePopup.d.ts +1 -1
  336. package/src/View/Theme/ThemePopup.js +4 -4
  337. package/src/View/Theme/ThemeStatusbar.js +1 -1
  338. package/src/View/Theme/VariantSelector.js +1 -1
  339. package/src/View/UIHelper.d.ts +1 -1
  340. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
  341. package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
  342. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
  343. package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
  344. package/src/View/Wizard/OnePageWizards.d.ts +10 -4
  345. package/src/View/Wizard/OnePageWizards.js +50 -64
  346. package/src/View/Wizard/TypeRadio.js +3 -3
  347. package/src/View/Wizard/WizardLegend.js +3 -4
  348. package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
  349. package/src/View/Wizard/useKeyboardNavigation.js +7 -4
  350. package/src/View/renderWithAdaptableContext.js +2 -5
  351. package/src/agGrid/AdaptableAgGrid.d.ts +2 -3
  352. package/src/agGrid/AdaptableAgGrid.js +92 -14
  353. package/src/agGrid/AdaptableFilterHandler.d.ts +5 -7
  354. package/src/agGrid/AdaptableFilterHandler.js +12 -28
  355. package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
  356. package/src/agGrid/AgGridColumnAdapter.js +26 -5
  357. package/src/agGrid/AgGridFilterAdapter.js +1 -1
  358. package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
  359. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
  360. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
  361. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
  362. package/src/components/Card/index.d.ts +25 -0
  363. package/src/components/Card/index.js +45 -0
  364. package/src/components/CheckBox/index.d.ts +3 -4
  365. package/src/components/CheckBox/index.js +7 -9
  366. package/src/components/CodeBlock/index.d.ts +6 -2
  367. package/src/components/CodeBlock/index.js +3 -3
  368. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  369. package/src/components/ColorPicker/ColorPicker.js +10 -9
  370. package/src/components/Dashboard/Dashboard.js +1 -1
  371. package/src/components/Dashboard/DashboardToolbar.js +5 -6
  372. package/src/components/Datepicker/index.d.ts +2 -2
  373. package/src/components/Datepicker/index.js +9 -8
  374. package/src/components/Dialog/index.d.ts +8 -2
  375. package/src/components/Dialog/index.js +7 -7
  376. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
  377. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  378. package/src/components/DragAndDropContext/ModuleManager.js +9 -6
  379. package/src/components/DragAndDropContext/TabList.d.ts +2 -1
  380. package/src/components/DragAndDropContext/TabList.js +44 -24
  381. package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
  382. package/src/components/Dropdown/index.d.ts +2 -2
  383. package/src/components/Dropdown/index.js +5 -6
  384. package/src/components/DropdownButton/index.d.ts +2 -22
  385. package/src/components/DropdownButton/index.js +7 -4
  386. package/src/components/EmptyContent/index.d.ts +2 -2
  387. package/src/components/EmptyContent/index.js +4 -4
  388. package/src/components/ErrorBox/index.d.ts +2 -2
  389. package/src/components/ErrorBox/index.js +3 -3
  390. package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
  391. package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
  392. package/src/components/ExpressionEditor/EditorButton.js +0 -2
  393. package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
  394. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
  395. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
  396. package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
  397. package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
  398. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
  399. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
  400. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  401. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
  402. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
  403. package/src/components/ExpressionEditor/index.d.ts +1 -0
  404. package/src/components/ExpressionEditor/index.js +29 -34
  405. package/src/components/FieldWrap/index.d.ts +9 -2
  406. package/src/components/FieldWrap/index.js +3 -8
  407. package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
  408. package/src/components/FileDroppable/index.d.ts +3 -2
  409. package/src/components/FileDroppable/index.js +3 -3
  410. package/src/components/Flex.d.ts +15 -1
  411. package/src/components/Flex.js +40 -1
  412. package/src/components/FlexWithFooter.d.ts +3 -2
  413. package/src/components/FlexWithFooter.js +4 -4
  414. package/src/components/FormLayout/index.d.ts +5 -1
  415. package/src/components/FormLayout/index.js +1 -1
  416. package/src/components/HelpBlock/index.d.ts +2 -2
  417. package/src/components/HelpBlock/index.js +4 -3
  418. package/src/components/IconSelector/IconSelector.js +8 -8
  419. package/src/components/Input/index.d.ts +1 -2
  420. package/src/components/Input/index.js +6 -3
  421. package/src/components/Modal/Backdrop.js +1 -1
  422. package/src/components/Modal/index.d.ts +3 -2
  423. package/src/components/Modal/index.js +3 -3
  424. package/src/components/OverlayTrigger/index.js +3 -0
  425. package/src/components/Panel/index.d.ts +22 -6
  426. package/src/components/Panel/index.js +54 -15
  427. package/src/components/PopupWithFooter.js +3 -4
  428. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
  429. package/src/components/Radio/index.d.ts +25 -3
  430. package/src/components/Radio/index.js +18 -20
  431. package/src/components/Select/Select.js +33 -21
  432. package/src/components/SelectList.js +1 -1
  433. package/src/components/SelectableList/index.d.ts +1 -1
  434. package/src/components/SimpleButton/index.d.ts +4 -6
  435. package/src/components/SimpleButton/index.js +55 -23
  436. package/src/components/SizedContainer/index.d.ts +3 -1
  437. package/src/components/SizedContainer/index.js +1 -1
  438. package/src/components/StylePreview.d.ts +3 -1
  439. package/src/components/StylePreview.js +4 -3
  440. package/src/components/Tabs/index.d.ts +3 -3
  441. package/src/components/Tabs/index.js +26 -9
  442. package/src/components/Tag/Tag.d.ts +14 -2
  443. package/src/components/Tag/Tag.js +10 -3
  444. package/src/components/Tag/index.d.ts +1 -1
  445. package/src/components/Tag/index.js +1 -1
  446. package/src/components/Textarea/index.d.ts +5 -1
  447. package/src/components/Textarea/index.js +4 -3
  448. package/src/components/Toggle/Toggle.js +48 -3
  449. package/src/components/Toggle/ToggleGroup.d.ts +7 -0
  450. package/src/components/Toggle/ToggleGroup.js +57 -2
  451. package/src/components/ToggleButton/index.d.ts +2 -2
  452. package/src/components/ToggleButton/index.js +25 -7
  453. package/src/components/Tree/TreeDropdown/index.js +10 -15
  454. package/src/components/Tree/TreeList/index.js +5 -9
  455. package/src/components/WarningBox/index.d.ts +6 -2
  456. package/src/components/WarningBox/index.js +3 -3
  457. package/src/components/WizardPanel/index.d.ts +6 -1
  458. package/src/components/WizardPanel/index.js +2 -2
  459. package/src/components/icons/DefaultIcon.d.ts +1 -0
  460. package/src/components/icons/index.d.ts +1 -1
  461. package/src/components/icons/index.js +2 -0
  462. package/src/components/icons/inspector.d.ts +3 -0
  463. package/src/components/icons/inspector.js +5 -0
  464. package/src/components/twUtils.d.ts +7 -0
  465. package/src/components/twUtils.js +13 -0
  466. package/src/components/utils/useDraggable.d.ts +0 -1
  467. package/src/devTools/index.d.ts +23 -23
  468. package/src/env.js +2 -2
  469. package/src/layout-manager/src/LMEmitter.d.ts +1 -0
  470. package/src/layout-manager/src/LMEmitter.js +1 -0
  471. package/src/layout-manager/src/index.js +2 -2
  472. package/src/migration/VersionUpgrade20.js +6 -5
  473. package/src/twMerge.d.ts +1 -0
  474. package/src/twMerge.js +11 -0
  475. package/themes/dark.css +35 -9
  476. package/themes/light.css +0 -2
  477. package/tsconfig.esm.tsbuildinfo +1 -1
  478. package/base.css +0 -5602
  479. package/base.css.map +0 -1
  480. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
  481. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
  482. package/src/View/Alert/AlertsPanel.d.ts +0 -14
  483. package/src/View/Alert/AlertsPanel.js +0 -38
  484. package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
  485. package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
  486. package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
  487. package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
  488. package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
  489. package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
  490. package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
  491. package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
  492. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
  493. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
  494. package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
  495. package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
  496. package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
  497. package/src/View/Wizard/AdaptableWizard.js +0 -168
  498. package/src/components/ContainerProps.d.ts +0 -30
  499. package/src/components/ContainerProps.js +0 -1
  500. package/src/components/EllipsisContainer/index.d.ts +0 -13
  501. package/src/components/EllipsisContainer/index.js +0 -100
  502. package/src/components/List/GridList/index.d.ts +0 -10
  503. package/src/components/List/GridList/index.js +0 -23
  504. package/src/components/List/ListGroup/index.d.ts +0 -6
  505. package/src/components/List/ListGroup/index.js +0 -9
  506. package/src/components/List/ListGroupItem/index.d.ts +0 -11
  507. package/src/components/List/ListGroupItem/index.js +0 -16
  508. package/src/components/utils/useTheme.d.ts +0 -32
  509. package/src/components/utils/useTheme.js +0 -2
  510. package/src/theme.d.ts +0 -32
  511. package/src/theme.js +0 -49
  512. package/themes/dark.css.map +0 -1
  513. package/themes/light.css.map +0 -1
@@ -1,14 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { CSSProperties } from 'react';
3
- import { TextProps } from 'rebass';
3
+ import { BoxProps } from '../../components/Flex';
4
4
  export type OnePageWizardContextType<T> = {
5
5
  data: T;
6
6
  sections: (OnePageWizardSection<T> | '-')[];
7
7
  setCurrentSection: (index: number) => void;
8
8
  };
9
- export declare const SummaryTag: React.FunctionComponent<React.PropsWithChildren<TextProps>>;
10
- export declare const SummaryText: React.FunctionComponent<React.PropsWithChildren<TextProps>>;
11
- export declare const FormDescriptionText: React.FunctionComponent<React.PropsWithChildren<TextProps>>;
9
+ type CmpProps = BoxProps & {
10
+ className?: string;
11
+ style?: React.CSSProperties;
12
+ };
13
+ export declare const SummaryTag: React.FunctionComponent<React.PropsWithChildren<CmpProps>>;
14
+ export declare const SummaryText: React.FunctionComponent<React.PropsWithChildren<CmpProps>>;
15
+ export declare const FormDescriptionText: React.FunctionComponent<React.PropsWithChildren<CmpProps>>;
12
16
  export declare const OnePageWizardContext: React.Context<OnePageWizardContextType<any>>;
13
17
  export declare function useOnePageWizardContext<ENTITY>(): OnePageWizardContextType<ENTITY>;
14
18
  export type OnePageWizardSection<ENTITY> = {
@@ -21,6 +25,7 @@ export type OnePageWizardSection<ENTITY> = {
21
25
  };
22
26
  export interface OnePageWizardProps<ENTITY> {
23
27
  data: ENTITY;
28
+ modal?: boolean;
24
29
  name: string;
25
30
  sections: (OnePageWizardSection<ENTITY> | '-')[];
26
31
  currentIndex?: number;
@@ -37,3 +42,4 @@ export interface OnePageWizardProps<ENTITY> {
37
42
  finishText?: React.ReactNode;
38
43
  }
39
44
  export declare const OnePageWizard: <ENTITY extends unknown>(props: OnePageWizardProps<ENTITY>) => React.JSX.Element;
45
+ export {};
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useState, useRef } from 'react';
3
- import { Flex, Box, Text } from 'rebass';
3
+ import clsx from 'clsx';
4
4
  import Dialog from '../../components/Dialog';
5
5
  import SimpleButton from '../../components/SimpleButton';
6
6
  import useProperty from '../../components/utils/useProperty';
@@ -10,9 +10,12 @@ import { Icon } from '../../components/icons';
10
10
  import { useResizeObserver } from '../../components/ResizeObserver';
11
11
  import { NamedQueryContext, } from '../../components/ExpressionEditor/NamedQueryContext';
12
12
  import { useKeyboardNavigation } from './useKeyboardNavigation';
13
- export const SummaryTag = (props) => (React.createElement(Text, { ...props }));
14
- export const SummaryText = (props) => (React.createElement(Text, { fontSize: 2, mb: 3, ...props }));
15
- export const FormDescriptionText = (props) => React.createElement(Text, { fontSize: 2, mt: 1, ...props });
13
+ import { Box, Flex } from '../../components/Flex';
14
+ import { twMerge } from '../../twMerge';
15
+ import { targetOwn } from '../../components/twUtils';
16
+ export const SummaryTag = (props) => (React.createElement(Box, { ...props }));
17
+ export const SummaryText = (props) => (React.createElement(Box, { ...props, className: twMerge('twa:text-2 twa:mb-3', props.className) }));
18
+ export const FormDescriptionText = (props) => React.createElement(Box, { ...props, className: twMerge('twa:text-2 twa:mt-1', props.className) });
16
19
  export const OnePageWizardContext = React.createContext({
17
20
  data: null,
18
21
  sections: [],
@@ -41,12 +44,14 @@ export const OnePageWizard = (props) => {
41
44
  section.isVisible(props.data, contextValue));
42
45
  }, [props.sections]);
43
46
  contextValue.sections = visibleSections;
44
- if (props.defaultCurrentSectionName) {
45
- const candidate = visibleSections.findIndex((section) => section !== '-' && section?.title === props.defaultCurrentSectionName);
46
- if (candidate >= 0) {
47
- defaultCurrentIndex = candidate;
47
+ React.useEffect(() => {
48
+ if (props.defaultCurrentSectionName) {
49
+ const candidate = visibleSections.findIndex((section) => section !== '-' && section?.title === props.defaultCurrentSectionName);
50
+ if (candidate >= 0) {
51
+ setCurrentSection(candidate);
52
+ }
48
53
  }
49
- }
54
+ }, [props.defaultCurrentSectionName, visibleSections]);
50
55
  const [namedQuery, setNamedQuery] = useState(false);
51
56
  const [navIndexMap] = useState(() => new Map());
52
57
  const handleClickFinish = () => {
@@ -57,18 +62,13 @@ export const OnePageWizard = (props) => {
57
62
  if (section === '-') {
58
63
  return React.createElement(React.Fragment, { key: index });
59
64
  }
60
- return (React.createElement(Flex, { flexDirection: "column", key: index, "data-name": `section-${index}`, style: { minHeight: '100%' }, mr: 2 },
61
- React.createElement(Box, { py: 3, paddingLeft: 2, fontSize: 4, className: "ab-OnePageWizard__details" }, section.details),
62
- React.createElement(Box, { flex: 1, className: "ab-OnePageWizard__section" }, section.render(props.data, index))));
65
+ return (React.createElement(Flex, { flexDirection: "column", key: index, "data-name": `section-${index}`, className: "twa:min-h-full twa:mr-2" },
66
+ React.createElement(Box, { className: "ab-OnePageWizard__details twa:text-4 twa:py-3 twa:pl-2" }, section.details),
67
+ React.createElement(Box, { className: "ab-OnePageWizard__section twa:flex-1 twa:rounded-standard twa:overflow-auto twa:bg-defaultbackground" }, section.render(props.data, index))));
63
68
  };
69
+ const handleNavigation = useKeyboardNavigation(setCurrentSection, visibleSections);
64
70
  const selectedNodeRef = useRef(null);
65
- const selectedFeedback = (React.createElement("div", { ref: selectedNodeRef, className: "ab-OnePageWizard__selected-title-overlay", style: {
66
- position: 'absolute',
67
- background: 'var(--ab-cmp-one-page-wizard-selected-title__background)',
68
- pointerEvents: 'none',
69
- borderRadius: 'var(--ab__border-radius)',
70
- transition: 'top 0.2s',
71
- } }));
71
+ const selectedFeedback = (React.createElement("div", { ref: selectedNodeRef, onKeyDown: (event) => handleNavigation(event), tabIndex: 0, className: clsx('ab-OnePageWizard__selected-title-overlay', 'twa:absolute twa:rounded-standard twa:select-none twa:bg-accent twa:transition-top twa:duration-200', targetOwn.focusOutline) }));
72
72
  const sizeOwnerRef = useRef(null);
73
73
  const [width, setWidth] = useState(0);
74
74
  useResizeObserver(sizeOwnerRef, ({ width }) => {
@@ -82,6 +82,7 @@ export const OnePageWizard = (props) => {
82
82
  node.style.left = `${activeElement.offsetLeft}px`;
83
83
  node.style.height = `${activeElement.offsetHeight}px`;
84
84
  node.style.width = `${activeElement.offsetWidth}px`;
85
+ node.focus();
85
86
  }, [currentSection, width]);
86
87
  let navIndex = 0;
87
88
  const dialogRef = useRef(null);
@@ -102,15 +103,10 @@ export const OnePageWizard = (props) => {
102
103
  acc.set(index, valid);
103
104
  return acc;
104
105
  }, new Map());
105
- useKeyboardNavigation(setCurrentSection, visibleSections);
106
106
  const canFinish = !invalidCount;
107
107
  return (React.createElement(NamedQueryContext.Provider, { value: { namedQuery, setNamedQuery } },
108
108
  React.createElement(OnePageWizardContext.Provider, { value: contextValue },
109
- React.createElement(Dialog, { modal: true, isOpen: true, showCloseButton: false, focusOnBrowserVisible: true, style: {
110
- borderRadius: 'var(--ab__border-radius)',
111
- overflow: 'hidden',
112
- height: '90vh',
113
- }, ref: dialogRef, onDismiss: () => props.onHide?.(), onKeyDown: (event) => {
109
+ React.createElement(Dialog, { modal: props.modal ?? true, isOpen: true, showCloseButton: false, focusOnBrowserVisible: true, className: "twa:rounded-standard twa:overflow-hidden twa:h-[90vh]", ref: dialogRef, onDismiss: () => props.onHide?.(), onKeyDown: (event) => {
114
110
  if (event.metaKey || event.ctrlKey) {
115
111
  const { key } = event;
116
112
  if (!isNaN(Number(key))) {
@@ -127,64 +123,54 @@ export const OnePageWizard = (props) => {
127
123
  }
128
124
  }
129
125
  } },
130
- React.createElement(Flex, { className: "ab-OnePageWizard", flexDirection: "column", "data-name": props.name, style: {
131
- height: '100%',
132
- width: '90vw',
133
- maxWidth: 1200,
134
- ...props.style,
135
- } },
136
- React.createElement(Flex, { flexDirection: "row", alignItems: "stretch", flex: 1, style: { overflow: 'auto' } },
137
- React.createElement(Flex, { flexDirection: "column", padding: 3, className: "ab-OnePageWizard__section-title-container", ref: sizeOwnerRef, style: {
138
- overflow: 'auto',
139
- position: 'relative',
140
- flex: 'none',
141
- ...props.titleContainerStyle,
142
- } },
126
+ React.createElement(Box, { className: clsx('ab-OnePageWizard twa:flex twa:flex-col twa:h-full twa:w-[90vw] twa:max-w-[1200px]', 'twa:bg-primarylight twa:text-primary-foreground'), "data-name": props.name, style: props.style },
127
+ React.createElement(Flex, { flexDirection: "row", alignItems: "stretch", className: "twa:flex-1 twa:overflow-auto" },
128
+ React.createElement(Flex, { flexDirection: "column", className: "ab-OnePageWizard__section-title-container twa:p-3 twa:flex-none twa:overflow-auto twa:relative", ref: sizeOwnerRef, style: props.titleContainerStyle },
143
129
  visibleSections.map((section, index) => {
144
130
  if (section === '-') {
145
- return (React.createElement(Box, { as: "hr", mt: 2, className: "ab-OnePageWizard__section-separator", key: `${index}-`, style: {
146
- width: '100%',
147
- border: 'none',
148
- borderTop: `1px solid var(--ab-color-inputborder)`,
149
- } }));
131
+ return (React.createElement(Box, { as: "hr", className: "ab-OnePageWizard__section-separator twa:mt-2 twa:w-full twa:border-t twa:border-t-inputborder", key: `${index}-` }));
150
132
  }
151
133
  navIndex++;
152
134
  navIndexMap.set(navIndex, index);
153
135
  const active = index === currentSection;
154
136
  const disabled = false; //!active && !currentSectionValid;
155
- return (React.createElement(Flex, { className: "ab-OnePageWizard__section-title", "data-name": section.title, flexDirection: "row", style: {
156
- cursor: disabled ? 'auto' : 'pointer',
157
- zIndex: 10,
137
+ return (React.createElement(Flex, { className: clsx('ab-OnePageWizard__section-title twa:p-2', {
138
+ 'twa:cursor-auto': disabled,
139
+ 'twa:cursor-pointer': !disabled,
140
+ 'twa:z-10': true,
141
+ 'twa:opacity-50': disabled,
142
+ 'twa:opacity-100': !disabled,
143
+ 'twa:mt-2': index > 0,
144
+ 'twa:mt-0': index === 0,
145
+ 'twa:text-accent-foreground twa:pointer-events-none': active,
146
+ }), "data-name": section.title, flexDirection: "row", style: {
158
147
  transition: 'color 0.2s',
159
- opacity: disabled ? 0.5 : 1,
160
- }, key: section.title, color: active ? 'var(--ab-cmp-one-page-wizard-section-title__color)' : '', px: 2, py: 1, mt: index ? 2 : 0, onClick: () => {
148
+ }, key: section.title, onClick: () => {
161
149
  if (disabled) {
162
150
  return;
163
151
  }
152
+ if (active) {
153
+ return;
154
+ }
164
155
  setCurrentSection(index);
165
156
  } },
166
- React.createElement(KeyHint, { mr: 2, style: { display: 'inline-block' } }, navIndex),
167
- React.createElement("div", { style: { flex: 1 } }, section.title),
168
- React.createElement(Icon, { name: "error", style: {
169
- marginLeft: 'var(--ab-space-2)',
170
- visibility: validSectionsMap.get(index) !== true ? 'visible' : 'hidden',
171
- } })));
157
+ React.createElement(KeyHint, { className: "twa:mr-2 twa:inline-block twa:text-color-accent-foreground" }, navIndex),
158
+ React.createElement("div", { className: "twa:flex-1" }, section.title),
159
+ React.createElement(Icon, { name: "error", className: clsx('twa:ml-2', validSectionsMap.get(index) !== true ? 'twa:visible' : 'twa:hidden') })));
172
160
  }),
173
161
  selectedFeedback,
174
- React.createElement(Box, { flex: 1 }),
175
- React.createElement(KeyHint, { style: { lineHeight: 1.5 }, className: "ab-OnePageWizard__key-hint" },
162
+ React.createElement(Box, { className: "twa:flex-1" }),
163
+ React.createElement(KeyHint, { className: "ab-OnePageWizard__key-hint twa:leading-normal" },
176
164
  isMacLike() ? 'Cmd' : 'Ctrl',
177
165
  " + #",
178
166
  React.createElement("br", null),
167
+ "or arrow keys",
168
+ React.createElement("br", null),
179
169
  "to navigate")),
180
- React.createElement(Flex, { flex: 1, flexDirection: "column", className: "ab-OnePageWizard__section-container" }, renderSection(currentSection))),
181
- React.createElement(Flex, { flexDirection: "row", padding: 2, alignItems: "center", className: "ab-WizardDialog__footer ab-OnePageWizard__footer" },
170
+ React.createElement(Flex, { flexDirection: "column", className: "ab-OnePageWizard__section-container twa:flex-1" }, renderSection(currentSection))),
171
+ React.createElement(Flex, { flexDirection: "row", alignItems: "center", className: "ab-WizardDialog__footer ab-OnePageWizard__footer twa:p-2" },
182
172
  React.createElement(SimpleButton, { tone: "neutral", variant: "text", "data-name": "close", onClick: () => props.onHide?.(), tooltip: props.closeTooltip ?? 'Close wizard', accessLevel: 'Full' }, props.closeText ?? 'CLOSE'),
183
- React.createElement(KeyHint, { ml: 2 }, "Esc"),
184
- React.createElement(Text, { fontSize: 2, mr: 3, className: "ab-OnePageWizard__error", style: {
185
- flex: 1,
186
- color: 'var(--ab-color-error)',
187
- textAlign: 'end',
188
- } }, firstErrorMessage),
173
+ React.createElement(KeyHint, { className: "twa:ml-2" }, "Esc"),
174
+ React.createElement(Box, { className: "ab-OnePageWizard__error twa:text-2 twa:mr-3 twa:flex-1 twa:text-error twa:text-end" }, firstErrorMessage),
189
175
  React.createElement(SimpleButton, { tone: "accent", "data-name": "finish", variant: "raised", disabled: canFinish !== true, onClick: () => handleClickFinish(), icon: 'check', accessLevel: 'Full' }, props.finishText ?? 'Finish')))))));
190
176
  };
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { Flex, Text } from 'rebass';
3
2
  import Radio from '../../components/Radio';
3
+ import { Box, Flex } from '../../components/Flex';
4
4
  export const TypeRadio = (props) => (React.createElement(Radio, { onClick: () => props.onClick?.(), checked: props.checked, value: props.value },
5
5
  React.createElement(Flex, { flexDirection: "column" },
6
- React.createElement(Text, null, props.text),
7
- React.createElement(Text, { fontSize: 2, marginTop: 1 }, props.description))));
6
+ React.createElement(Box, null, props.text),
7
+ React.createElement(Box, { className: "twa:text-2 twa:mt-1" }, props.description))));
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import SimpleButton from '../../components/SimpleButton';
3
- import { Box } from 'rebass';
3
+ import { Box } from '../../components/Flex';
4
4
  export class WizardLegend extends React.Component {
5
5
  render() {
6
6
  let count = this.props.StepNames.length - 1;
@@ -10,11 +10,10 @@ export class WizardLegend extends React.Component {
10
10
  let isDisabled = this.props.CanShowAllSteps
11
11
  ? false
12
12
  : isActiveStep || index > activeStepIndex;
13
- let style = isActiveStep ? 'primary' : 'default';
14
13
  let lastStep = index == count;
15
- return (React.createElement("div", { className: "ab-WizardLegend__step", "data-name": s, key: index, style: { display: 'inline-block' } },
14
+ return (React.createElement("div", { className: "ab-WizardLegend__step twa:inline-block", "data-name": s, key: index },
16
15
  React.createElement(SimpleButton, { variant: isActiveStep ? 'raised' : 'outlined', tone: isActiveStep ? 'accent' : 'neutral', disabled: isDisabled, onClick: () => this.onStepButtonClicked(s) }, s),
17
- lastStep == false && (React.createElement(Box, { mx: 2, "data-name": "separator", className: "ab-WizardLegend__step__separator", style: { display: 'inline-block' } }, "\u2014"))));
16
+ lastStep == false && (React.createElement(Box, { "data-name": "separator", className: "ab-WizardLegend__step__separator twa:mx-2 twa:inline-block" }, "\u2014"))));
18
17
  });
19
18
  return React.createElement("div", null, stepButtons);
20
19
  }
@@ -1,2 +1,2 @@
1
1
  import { OnePageWizardSection } from './OnePageWizards';
2
- export declare const useKeyboardNavigation: <ENTITY>(setCurrentSection: (value: number | ((v: number) => number)) => void, sections: (OnePageWizardSection<ENTITY> | '-')[]) => void;
2
+ export declare const useKeyboardNavigation: <ENTITY>(setCurrentSection: (value: number | ((v: number) => number)) => void, sections: (OnePageWizardSection<ENTITY> | "-")[]) => (event: KeyboardEvent) => void;
@@ -1,9 +1,12 @@
1
1
  import * as React from 'react';
2
- import { useGlobalEvent } from '../../components/utils/useGlobalEvent';
3
2
  export const useKeyboardNavigation = (setCurrentSection, sections) => {
4
3
  const handleKeyPress = React.useCallback((event) => {
5
- if ((event.ctrlKey || event.metaKey) &&
6
- (event.code === 'ArrowUp' || event.code === 'ArrowDown')) {
4
+ if (
5
+ // (event.ctrlKey || event.metaKey) &&
6
+ event.code === 'ArrowUp' ||
7
+ event.code === 'ArrowDown') {
8
+ event.preventDefault();
9
+ event.stopPropagation();
7
10
  const isKeyUp = event.code === 'ArrowUp';
8
11
  const validIndexes = sections.reduce((acc, item, index) => {
9
12
  if (item !== '-') {
@@ -27,5 +30,5 @@ export const useKeyboardNavigation = (setCurrentSection, sections) => {
27
30
  });
28
31
  }
29
32
  }, [sections, setCurrentSection]);
30
- useGlobalEvent('keydown', handleKeyPress);
33
+ return handleKeyPress;
31
34
  };
@@ -1,12 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { Provider } from 'react-redux';
3
- import { ThemeProvider } from 'styled-components';
4
- import theme from '../theme';
5
3
  import AdaptableContext from './AdaptableContext';
6
4
  import { WithAdaptableComputedCSSVars } from './AdaptableComputedCSSVarsContext';
7
5
  export const renderWithAdaptableContext = (children, adaptable) => {
8
6
  return (React.createElement(Provider, { store: adaptable.adaptableStore.TheStore },
9
- React.createElement(ThemeProvider, { theme: theme },
10
- React.createElement(WithAdaptableComputedCSSVars, null,
11
- React.createElement(AdaptableContext.Provider, { value: adaptable }, children)))));
7
+ React.createElement(WithAdaptableComputedCSSVars, null,
8
+ React.createElement(AdaptableContext.Provider, { value: adaptable }, children))));
12
9
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
3
2
  import { ChartRef, Column, GridApi, GridOptions, IRowNode, Module, RowModelType } from 'ag-grid-enterprise';
4
3
  import { AdaptableLogger } from './AdaptableLogger';
@@ -21,12 +20,12 @@ import { Fdc3Service } from '../Utilities/Services/Fdc3Service';
21
20
  import { AnnotationsService } from '../Utilities/Services/AnnotationsService';
22
21
  import { IModuleCollection } from '../Strategy/Interface/IModule';
23
22
  import { AgGridMenuAdapter } from './AgGridMenuAdapter';
24
- import { AdaptableColumn, AdaptableTheme, ChartDefinition, ColumnSort, InFilterValueResult, DataUpdateConfig, GridCell, Layout, SelectedCellInfo, SelectedRowInfo } from '../types';
23
+ import { AdaptableColumn, AdaptableTheme, ChartDefinition, ColumnSort, DataUpdateConfig, GridCell, InFilterValueResult, Layout, SelectedCellInfo, SelectedRowInfo } from '../types';
25
24
  import { RenderReactRootFn } from '../renderReactRoot';
26
25
  import { AgGridOptionsService } from './AgGridOptionsService';
27
26
  import { AgGridColumnAdapter } from './AgGridColumnAdapter';
28
27
  import { RowFormService } from '../Utilities/Services/RowFormService';
29
- import { GridCellWithCount, GridCellWithChildren } from '../AdaptableState/Selection/GridCell';
28
+ import { GridCellWithChildren, GridCellWithCount } from '../AdaptableState/Selection/GridCell';
30
29
  import { FlashingCellService } from '../Utilities/Services/FlashingCellService';
31
30
  import { AgGridExportAdapter } from './AgGridExportAdapter';
32
31
  import { PivotLayoutModel, TableLayoutModel } from '../layout-manager/src/LayoutManagerModel';
@@ -103,6 +103,9 @@ import { getMarker } from '../devTools';
103
103
  import { DeepMap } from '@infinite-table/infinite-react';
104
104
  import { DateFormatter } from '../Utilities/Helpers/FormatHelper';
105
105
  import { clearPredicateDefMapMemo } from '../Api/Implementation/PredicateApiImpl';
106
+ import { AgGridFilterAdapterFactory } from './AgGridFilterAdapter';
107
+ import { AdaptableFilterHandler } from './AdaptableFilterHandler';
108
+ import { AgGridFloatingFilterAdapterFactory } from './AgGridFloatingFilterAdapter';
106
109
  const LocalEventService_Prototype = LocalEventService.prototype;
107
110
  const LocalEventService_dispatchEvent = LocalEventService_Prototype.dispatchEvent;
108
111
  LocalEventService_Prototype.dispatchEvent = function (event) {
@@ -767,6 +770,92 @@ You need to define at least one Layout!`);
767
770
  });
768
771
  return defaultColGroupDef;
769
772
  });
773
+ /**
774
+ * `autoGroupColumnDef`
775
+ */
776
+ this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'autoGroupColumnDef', (original_autoGroupColumnDef) => {
777
+ // #autoGroupColumnDef
778
+ const useAdaptableFilter = this.adaptableOptions.filterOptions.useAdaptableFiltering;
779
+ if (!useAdaptableFilter) {
780
+ return original_autoGroupColumnDef;
781
+ }
782
+ if (original_autoGroupColumnDef?.filter === false) {
783
+ // if user disables filter on autoGroupColumnDef, we respect that
784
+ this.logger.info(`autoGroupColumnDef.filter is disabled as per user configuration.`);
785
+ return original_autoGroupColumnDef;
786
+ }
787
+ if (typeof original_autoGroupColumnDef?.filter === 'object') {
788
+ this.logger.warn(`autoGroupColumnDef.filter is set and overrides the Adaptable custom filter mechanism! We recommend using a ColumnOptions.columnHeader instead!`);
789
+ return original_autoGroupColumnDef;
790
+ }
791
+ const autoGroupColumnDef = { ...original_autoGroupColumnDef };
792
+ // this is required to make sure that AG Grid doesn't disable the filter
793
+ // !! DO NOT REMOVE THIS !!
794
+ // see https://github.com/ag-grid/ag-grid/blob/6f43ff257c2e285068eb425b655e58d6eeb89816/packages/ag-grid-enterprise/src/rowHierarchy/autoColService.ts#L225
795
+ autoGroupColumnDef.filterValueGetter = (params) => {
796
+ this.logger.error('autoGroupColumnDef.filterValueGetter was called unexpectedly; this is not an expected execution path!', params);
797
+ return '';
798
+ };
799
+ // !! it is important that we always return the same component / handler instances
800
+ // otherwise AG Grid will re-create the filter instance on each filterModel change
801
+ const autoGroupFilterComponent = AgGridFilterAdapterFactory(this);
802
+ const autoGroupFilterHandlerGenerator = () => new AdaptableFilterHandler(this.api);
803
+ // Use a getter to dynamically return different filter values based on Layout.RowGroupDisplayType
804
+ Object.defineProperty(autoGroupColumnDef, 'filter', {
805
+ get: () => {
806
+ const rowGroupDisplayType = this.api.layoutApi.internalApi.getCurrentLayoutRowGroupDisplayType();
807
+ if (rowGroupDisplayType === 'single') {
808
+ return {
809
+ component: autoGroupFilterComponent,
810
+ handler: autoGroupFilterHandlerGenerator,
811
+ };
812
+ }
813
+ const groupedColumnFilterConfig = this.api.layoutApi.internalApi.areAllGroupedColumnsFilterable();
814
+ if (groupedColumnFilterConfig.filter) {
815
+ return 'agGroupColumnFilter';
816
+ }
817
+ return original_autoGroupColumnDef?.filter;
818
+ },
819
+ enumerable: true,
820
+ configurable: true,
821
+ });
822
+ if (original_autoGroupColumnDef?.floatingFilter !== false) {
823
+ autoGroupColumnDef.suppressFloatingFilterButton = true;
824
+ Object.defineProperty(autoGroupColumnDef, 'floatingFilter', {
825
+ get: () => {
826
+ const rowGroupDisplayType = this.api.layoutApi.internalApi.getCurrentLayoutRowGroupDisplayType();
827
+ if (rowGroupDisplayType === 'single') {
828
+ return true;
829
+ }
830
+ if (rowGroupDisplayType === 'multi') {
831
+ const groupedColumnFilterConfig = this.api.layoutApi.internalApi.areAllGroupedColumnsFilterable();
832
+ if (groupedColumnFilterConfig.floatingFilter) {
833
+ return true;
834
+ }
835
+ }
836
+ return original_autoGroupColumnDef?.floatingFilter;
837
+ },
838
+ enumerable: true,
839
+ configurable: true,
840
+ });
841
+ // !! it is important that we always return the same component / handler instances
842
+ // otherwise AG Grid will re-create the filter instance on each filterModel change
843
+ const autoGroupFloatingFilterComponent = AgGridFloatingFilterAdapterFactory(this);
844
+ // Use a getter to dynamically return different floatingFilterComponent values based on Layout.RowGroupDisplayType
845
+ Object.defineProperty(autoGroupColumnDef, 'floatingFilterComponent', {
846
+ get: () => {
847
+ const rowGroupDisplayType = this.api.layoutApi.internalApi.getCurrentLayoutRowGroupDisplayType();
848
+ if (rowGroupDisplayType === 'single') {
849
+ return autoGroupFloatingFilterComponent;
850
+ }
851
+ return;
852
+ },
853
+ enumerable: true,
854
+ configurable: true,
855
+ });
856
+ }
857
+ return autoGroupColumnDef;
858
+ });
770
859
  /**
771
860
  * `theme`
772
861
  */
@@ -1725,19 +1814,7 @@ You need to define at least one Layout!`);
1725
1814
  deriveAdaptableColumnStateFromAgGrid() {
1726
1815
  const allColumns = [];
1727
1816
  const gridApi = this.agGridAdapter.getAgGridApi();
1728
- const isPivot = this.isInPivotMode();
1729
- let agGridCols = isPivot
1730
- ? gridApi.getColumns()
1731
- : // we call getAllGridColumns because we want to also have the generated group columns
1732
- gridApi.getAllGridColumns();
1733
- if (isPivot) {
1734
- // let's also support the pivot result columns
1735
- const pivotResultColumns = gridApi.getPivotResultColumns() || [];
1736
- const autoGroupColumns = gridApi
1737
- .getAllGridColumns()
1738
- .filter((column) => this.api.columnApi.isAutoRowGroupColumn(column.getColId()));
1739
- agGridCols = [...autoGroupColumns, ...agGridCols, ...pivotResultColumns];
1740
- }
1817
+ let agGridCols = this.agGridColumnAdapter.getAllAgGridColumns();
1741
1818
  const columnGroupChildren = gridApi.getAllDisplayedColumnGroups();
1742
1819
  const groupsCount = {};
1743
1820
  const colsToGroups = (columnGroupChildren ?? []).reduce((acc, columnGroup) => {
@@ -4021,7 +4098,8 @@ You need to define at least one Layout!`);
4021
4098
  }
4022
4099
  }
4023
4100
  // also we need to reset the cache for the group column, when we have rowGripDisplayType single
4024
- if (layout.RowGroupDisplayType === 'single') {
4101
+ if (layout.RowGroupDisplayType === 'single' &&
4102
+ (layout.RowGroupedColumns?.length || layout.PivotGroupedColumns?.length)) {
4025
4103
  this.api.filterApi.columnFilterApi.resetFilterValues(AG_GRID_GROUPED_COLUMN);
4026
4104
  }
4027
4105
  }
@@ -1,17 +1,15 @@
1
1
  import { DoesFilterPassParams, FilterHandler, FilterHandlerParams } from 'ag-grid-enterprise';
2
2
  import { AdaptableApi } from '../Api/AdaptableApi';
3
- import { ColumnSetupInfo } from '../AdaptableState/Common/ColumnSetupInfo';
4
3
  import { InFilterValueResult } from '../AdaptableOptions/FilterOptions';
5
4
  import { ColumnFilter } from '../types';
6
- export declare class AdaptableFilterHandler implements FilterHandler {
5
+ export declare class AdaptableFilterHandler implements FilterHandler<any, any, ColumnFilter> {
7
6
  private adaptableApi;
8
- readonly colId: string;
7
+ colId: string;
9
8
  private filterDisplayValuesResult;
10
9
  private previousFilterDisplayValuesResult;
11
- private currentColumnFilters_MEMO;
12
- constructor(adaptableApi: AdaptableApi, columnSetup: ColumnSetupInfo);
13
- getCurrentColumnFilters(): ColumnFilter[];
14
- doesFilterPass(params: DoesFilterPassParams): boolean;
10
+ constructor(adaptableApi: AdaptableApi);
11
+ init(params: FilterHandlerParams): void;
12
+ doesFilterPass(params: DoesFilterPassParams<any, any, ColumnFilter>): boolean;
15
13
  getCachedFilterDisplayValues(): InFilterValueResult | undefined;
16
14
  getLastCachedFilterDisplayValues(): InFilterValueResult | undefined;
17
15
  getFromCacheOrFetchFilterDisplayValues(options: {
@@ -1,27 +1,9 @@
1
1
  export class AdaptableFilterHandler {
2
- constructor(adaptableApi, columnSetup) {
2
+ constructor(adaptableApi) {
3
3
  this.adaptableApi = adaptableApi;
4
- this.currentColumnFilters_MEMO = new WeakMap();
5
- this.colId = columnSetup.colId;
6
4
  }
7
- getCurrentColumnFilters() {
8
- // we memoize based on layout column filters object reference
9
- // this method is called for each row during filtering so we need to optimize it
10
- const layoutColumnFilters = this.adaptableApi.layoutApi.internalApi.getCurrentLayout_perfOptimized()?.ColumnFilters;
11
- const memoizedColumnFilters = this.currentColumnFilters_MEMO.get(layoutColumnFilters);
12
- if (memoizedColumnFilters) {
13
- return memoizedColumnFilters;
14
- }
15
- const columnFilters = this.adaptableApi.filterApi.columnFilterApi
16
- .getActiveColumnFilters()
17
- .filter((columnFilter) => this.adaptableApi.filterApi.columnFilterApi.isColumnFilterActive(columnFilter))
18
- .filter((columnFilter) => columnFilter.ColumnId === this.colId)
19
- .filter((columnFilter) => {
20
- const shouldEvaluateFilterOnClient = this.adaptableApi.expressionApi.internalApi.shouldEvaluatePredicatesInAdaptableQL('ColumnFilter', columnFilter, columnFilter.Predicates);
21
- return shouldEvaluateFilterOnClient;
22
- });
23
- this.currentColumnFilters_MEMO.set(layoutColumnFilters, columnFilters);
24
- return columnFilters;
5
+ init(params) {
6
+ this.colId = params.column.getColId();
25
7
  }
26
8
  doesFilterPass(params) {
27
9
  try {
@@ -31,12 +13,15 @@ export class AdaptableFilterHandler {
31
13
  if (!isRowFilterable) {
32
14
  return true;
33
15
  }
34
- const columnFilters = this.getCurrentColumnFilters();
35
- // #column_filter_predicates_evaluation
36
- const allFiltersMatched = columnFilters.every((columnFilter) => {
37
- return this.adaptableApi.filterApi.columnFilterApi.internalApi.evaluateColumnFilter(columnFilter, rowNode);
38
- });
39
- return allFiltersMatched;
16
+ const columnFilterModel = params.model;
17
+ if (!columnFilterModel) {
18
+ this.adaptableApi.logWarn(`AdaptableFilterHandler.doesFilterPass: No filter model found for column ${this.colId}`);
19
+ return true;
20
+ }
21
+ if (columnFilterModel.IsSuspended) {
22
+ return true;
23
+ }
24
+ return this.adaptableApi.filterApi.columnFilterApi.internalApi.evaluateColumnFilter(columnFilterModel, rowNode);
40
25
  }
41
26
  catch (ex) {
42
27
  this.adaptableApi.consoleError(ex);
@@ -97,6 +82,5 @@ export class AdaptableFilterHandler {
97
82
  destroy() {
98
83
  this.filterDisplayValuesResult = undefined;
99
84
  this.previousFilterDisplayValuesResult = undefined;
100
- this.currentColumnFilters_MEMO = undefined;
101
85
  }
102
86
  }
@@ -16,7 +16,12 @@ export declare class AgGridColumnAdapter {
16
16
  setColDefProperty<T extends keyof ColDef>(col: Column, propertyName: T, propertyGetter: (userPropertyValue: ColDef[T]) => ColDef[T] | undefined): void;
17
17
  getUserColDefProperty<T extends keyof ColDef>(columnId: string, propertyName: T): ColDef[T] | undefined;
18
18
  shouldSkipColumn(colId: string): boolean;
19
- setupColumns(): void;
19
+ getAllAgGridColumns(): Column<any>[];
20
+ /**
21
+ * Setup all columns, or only those with the given Ids
22
+ * @param specificColumnIds - optional list of column Ids to setup. If not provided, all columns are setup
23
+ */
24
+ setupColumns(specificColumnIds?: string[]): void;
20
25
  private setupColumnValueGetter;
21
26
  private setupColumnCellClass;
22
27
  private setupColumnHeaderClass;