@adaptabletools/adaptable 21.2.1 → 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.
- package/icons/inspector.svg +1 -0
- package/index.css +6464 -5488
- package/index.css.map +1 -1
- package/package.json +5 -6
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
- package/src/AdaptableState/ChartingState.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
- package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
- package/src/AdaptableState/TeamSharingState.d.ts +1 -1
- package/src/Api/CustomSortApi.d.ts +6 -1
- package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
- package/src/Api/Implementation/ColumnApiImpl.js +12 -3
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +85 -2
- package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
- package/src/Api/Implementation/PredicateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/PredicateApiImpl.js +15 -1
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
- package/src/Api/Internal/AdaptableInternalApi.js +3 -3
- package/src/Api/Internal/ColumnFilterInternalApi.js +1 -0
- package/src/Api/Internal/LayoutInternalApi.d.ts +6 -0
- package/src/Api/Internal/LayoutInternalApi.js +34 -0
- package/src/Api/LayoutApi.d.ts +7 -1
- package/src/Api/ScheduleApi.d.ts +5 -0
- package/src/Api/ShortcutApi.d.ts +5 -0
- package/src/Api/StyledColumnApi.d.ts +5 -0
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
- package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
- package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
- package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
- package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
- package/src/Utilities/getObjectTagsViewItems.js +1 -1
- package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
- package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
- package/src/View/AdaptablePopover/index.d.ts +1 -1
- package/src/View/AdaptablePopover/index.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
- package/src/View/AdaptableWizardView/Wizard.js +1 -1
- package/src/View/AdaptableWizardView/index.js +1 -4
- package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
- package/src/View/Alert/AlertStatusSubPanel.js +1 -1
- package/src/View/Alert/AlertViewPanel.js +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
- package/src/View/Alert/Wizard/AlertWizard.js +8 -8
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
- package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
- package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
- package/src/View/Charting/ChartingViewPanel.js +7 -7
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
- package/src/View/Charting/useChartingElements.d.ts +1 -1
- package/src/View/Charting/useChartingElements.js +1 -1
- package/src/View/ColumnInfo/ColumnInfo.js +14 -19
- package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
- package/src/View/Comments/CommentsEditor.js +14 -17
- package/src/View/Comments/CommentsPopup.js +6 -6
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/AdaptableInput/index.js +3 -2
- package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
- package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
- package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
- package/src/View/Components/AdaptableObjectRow/index.js +4 -5
- package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
- package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
- package/src/View/Components/Buttons/ButtonClear.js +2 -1
- package/src/View/Components/Buttons/ButtonFunction.js +2 -1
- package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
- package/src/View/Components/Buttons/ButtonNew.js +2 -1
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
- package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -1
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
- package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
- package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
- package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
- package/src/View/Components/ColumnSelector/index.js +1 -3
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
- package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
- package/src/View/Components/EntityRulesEditor/index.js +11 -10
- package/src/View/Components/ExpressionWizard.js +4 -4
- package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
- package/src/View/Components/FilterForm/Waiting.js +3 -2
- package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
- package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
- package/src/View/Components/ModuleValueSelector/index.js +2 -2
- package/src/View/Components/NewScopeComponent.js +20 -20
- package/src/View/Components/Panels/PanelFooter.js +5 -5
- package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
- package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
- package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
- package/src/View/Components/Panels/PanelWithButton.js +7 -6
- package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
- package/src/View/Components/Panels/PanelWithImage.js +10 -12
- package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
- package/src/View/Components/Panels/PanelWithRow.js +3 -3
- package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
- package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
- package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
- package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
- package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
- package/src/View/Components/PreviewResultsPanel.js +6 -13
- package/src/View/Components/RangesComponent.js +19 -19
- package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
- package/src/View/Components/ReorderDraggable/index.js +8 -7
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
- package/src/View/Components/Selectors/ColumnSelector.js +1 -1
- package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
- package/src/View/Components/StyleComponent.d.ts +2 -26
- package/src/View/Components/StyleComponent.js +186 -190
- package/src/View/Components/TagValueSelector/index.d.ts +1 -1
- package/src/View/Components/TagValueSelector/index.js +4 -3
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +9 -33
- package/src/View/Components/ValueSelector/index.js +38 -61
- package/src/View/Components/WizardSummaryPage.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
- package/src/View/Dashboard/Dashboard.js +3 -3
- package/src/View/Dashboard/DashboardPopup.js +27 -23
- package/src/View/Dashboard/DashboardViewPanel.js +4 -4
- package/src/View/Dashboard/PinnedDashboard.js +3 -3
- package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
- package/src/View/DataImport/DataImportPopup.js +2 -2
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
- package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
- package/src/View/DataSet/DataSetViewPanel.js +2 -2
- package/src/View/Export/ExportDestinationPicker.js +2 -1
- package/src/View/Export/ExportViewPanel.js +4 -4
- package/src/View/Export/ReportFormatSelector.js +3 -3
- package/src/View/Export/ReportListItem.js +1 -1
- package/src/View/Export/ReportNameSelector.js +3 -3
- package/src/View/Export/Wizard/NewReportWizard.js +4 -4
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
- package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
- package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +2 -2
- package/src/View/Filter/FilterViewPanel.js +4 -4
- package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
- package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
- package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
- package/src/View/GridFilter/GridFilterPopup.js +31 -40
- package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
- package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
- package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
- package/src/View/GridFilter/NamedQuerySelector.js +7 -7
- package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
- package/src/View/KeyHint.d.ts +5 -2
- package/src/View/KeyHint.js +4 -2
- package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -2
- package/src/View/Layout/TransposedPopup.js +4 -4
- package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
- package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
- package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
- package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
- package/src/View/License/LicenseWatermark.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
- package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
- package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
- package/src/View/Note/NoteEditor.js +5 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
- package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
- package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
- package/src/View/QuickSearch/QuickSearchInput.js +5 -5
- package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
- package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
- package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +8 -8
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/StateManagement/StateManagementPopup.js +12 -12
- package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
- package/src/View/StateManagement/handleExportState.d.ts +1 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
- package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
- package/src/View/StatusBar/StatusBarPanel.js +5 -4
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
- package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
- package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
- package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
- package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
- package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
- package/src/View/Theme/ThemeEditor.js +6 -31
- package/src/View/Theme/ThemeEditorWindow.js +2 -2
- package/src/View/Theme/ThemeField.js +1 -2
- package/src/View/Theme/ThemePopup.d.ts +1 -1
- package/src/View/Theme/ThemePopup.js +4 -4
- package/src/View/Theme/ThemeStatusbar.js +1 -1
- package/src/View/Theme/VariantSelector.js +1 -1
- package/src/View/UIHelper.d.ts +1 -1
- package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
- package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
- package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
- package/src/View/Wizard/OnePageWizards.d.ts +10 -4
- package/src/View/Wizard/OnePageWizards.js +50 -64
- package/src/View/Wizard/TypeRadio.js +3 -3
- package/src/View/Wizard/WizardLegend.js +3 -4
- package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
- package/src/View/Wizard/useKeyboardNavigation.js +7 -4
- package/src/View/renderWithAdaptableContext.js +2 -5
- package/src/agGrid/AdaptableAgGrid.d.ts +13 -4
- package/src/agGrid/AdaptableAgGrid.js +155 -23
- package/src/agGrid/AdaptableFilterHandler.d.ts +5 -6
- package/src/agGrid/AdaptableFilterHandler.js +13 -19
- package/src/agGrid/AgGridAdapter.d.ts +2 -0
- package/src/agGrid/AgGridAdapter.js +29 -15
- package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
- package/src/agGrid/AgGridColumnAdapter.js +26 -5
- package/src/agGrid/AgGridFilterAdapter.js +1 -1
- package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
- package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
- package/src/components/Card/index.d.ts +25 -0
- package/src/components/Card/index.js +45 -0
- package/src/components/CheckBox/index.d.ts +3 -4
- package/src/components/CheckBox/index.js +7 -9
- package/src/components/CodeBlock/index.d.ts +6 -2
- package/src/components/CodeBlock/index.js +3 -3
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/ColorPicker/ColorPicker.js +10 -9
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/Dashboard/DashboardToolbar.js +5 -6
- package/src/components/Datepicker/index.d.ts +2 -2
- package/src/components/Datepicker/index.js +9 -8
- package/src/components/Dialog/index.d.ts +8 -2
- package/src/components/Dialog/index.js +7 -7
- package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
- package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
- package/src/components/DragAndDropContext/ModuleManager.js +9 -6
- package/src/components/DragAndDropContext/TabList.d.ts +2 -1
- package/src/components/DragAndDropContext/TabList.js +44 -24
- package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
- package/src/components/Dropdown/index.d.ts +2 -2
- package/src/components/Dropdown/index.js +5 -6
- package/src/components/DropdownButton/index.d.ts +2 -22
- package/src/components/DropdownButton/index.js +7 -4
- package/src/components/EmptyContent/index.d.ts +2 -2
- package/src/components/EmptyContent/index.js +4 -4
- package/src/components/ErrorBox/index.d.ts +2 -2
- package/src/components/ErrorBox/index.js +3 -3
- package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
- package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
- package/src/components/ExpressionEditor/EditorButton.js +0 -2
- package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
- package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
- package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
- package/src/components/ExpressionEditor/index.d.ts +1 -0
- package/src/components/ExpressionEditor/index.js +29 -34
- package/src/components/FieldWrap/index.d.ts +9 -2
- package/src/components/FieldWrap/index.js +3 -8
- package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
- package/src/components/FileDroppable/index.d.ts +3 -2
- package/src/components/FileDroppable/index.js +3 -3
- package/src/components/Flex.d.ts +15 -1
- package/src/components/Flex.js +40 -1
- package/src/components/FlexWithFooter.d.ts +3 -2
- package/src/components/FlexWithFooter.js +4 -4
- package/src/components/FormLayout/index.d.ts +5 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/HelpBlock/index.d.ts +2 -2
- package/src/components/HelpBlock/index.js +4 -3
- package/src/components/IconSelector/IconSelector.js +8 -8
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/Input/index.js +6 -3
- package/src/components/Modal/Backdrop.js +1 -1
- package/src/components/Modal/index.d.ts +3 -2
- package/src/components/Modal/index.js +3 -3
- package/src/components/OverlayTrigger/index.js +3 -0
- package/src/components/Panel/index.d.ts +22 -6
- package/src/components/Panel/index.js +54 -15
- package/src/components/PopupWithFooter.js +3 -4
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
- package/src/components/Radio/index.d.ts +25 -3
- package/src/components/Radio/index.js +18 -20
- package/src/components/Select/Select.js +33 -21
- package/src/components/SelectList.js +1 -1
- package/src/components/SelectableList/index.d.ts +1 -1
- package/src/components/SimpleButton/index.d.ts +4 -6
- package/src/components/SimpleButton/index.js +55 -23
- package/src/components/SizedContainer/index.d.ts +3 -1
- package/src/components/SizedContainer/index.js +1 -1
- package/src/components/StylePreview.d.ts +3 -1
- package/src/components/StylePreview.js +4 -3
- package/src/components/Tabs/index.d.ts +3 -3
- package/src/components/Tabs/index.js +26 -9
- package/src/components/Tag/Tag.d.ts +14 -2
- package/src/components/Tag/Tag.js +10 -3
- package/src/components/Tag/index.d.ts +1 -1
- package/src/components/Tag/index.js +1 -1
- package/src/components/Textarea/index.d.ts +5 -1
- package/src/components/Textarea/index.js +4 -3
- package/src/components/Toggle/Toggle.js +48 -3
- package/src/components/Toggle/ToggleGroup.d.ts +7 -0
- package/src/components/Toggle/ToggleGroup.js +57 -2
- package/src/components/ToggleButton/index.d.ts +2 -2
- package/src/components/ToggleButton/index.js +25 -7
- package/src/components/Tree/TreeDropdown/index.js +10 -15
- package/src/components/Tree/TreeList/index.js +5 -9
- package/src/components/WarningBox/index.d.ts +6 -2
- package/src/components/WarningBox/index.js +3 -3
- package/src/components/WizardPanel/index.d.ts +6 -1
- package/src/components/WizardPanel/index.js +2 -2
- package/src/components/icons/DefaultIcon.d.ts +1 -0
- package/src/components/icons/index.d.ts +1 -1
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/inspector.d.ts +3 -0
- package/src/components/icons/inspector.js +5 -0
- package/src/components/twUtils.d.ts +7 -0
- package/src/components/twUtils.js +13 -0
- package/src/components/utils/useDraggable.d.ts +0 -1
- package/src/devTools/index.d.ts +23 -23
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.d.ts +1 -0
- package/src/layout-manager/src/LMEmitter.js +1 -0
- package/src/layout-manager/src/index.d.ts +6 -0
- package/src/layout-manager/src/index.js +22 -2
- package/src/migration/VersionUpgrade20.js +6 -5
- package/src/twMerge.d.ts +1 -0
- package/src/twMerge.js +11 -0
- package/themes/dark.css +35 -9
- package/themes/light.css +0 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/base.css +0 -5602
- package/base.css.map +0 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
- package/src/View/Alert/AlertsPanel.d.ts +0 -14
- package/src/View/Alert/AlertsPanel.js +0 -38
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
- package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
- package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
- package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
- package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
- package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
- package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
- package/src/View/Wizard/AdaptableWizard.js +0 -168
- package/src/components/ContainerProps.d.ts +0 -30
- package/src/components/ContainerProps.js +0 -1
- package/src/components/EllipsisContainer/index.d.ts +0 -13
- package/src/components/EllipsisContainer/index.js +0 -100
- package/src/components/List/GridList/index.d.ts +0 -10
- package/src/components/List/GridList/index.js +0 -23
- package/src/components/List/ListGroup/index.d.ts +0 -6
- package/src/components/List/ListGroup/index.js +0 -9
- package/src/components/List/ListGroupItem/index.d.ts +0 -11
- package/src/components/List/ListGroupItem/index.js +0 -16
- package/src/components/utils/useTheme.d.ts +0 -32
- package/src/components/utils/useTheme.js +0 -2
- package/src/theme.d.ts +0 -32
- package/src/theme.js +0 -49
- package/themes/dark.css.map +0 -1
- 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 {
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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}`,
|
|
61
|
-
React.createElement(Box, {
|
|
62
|
-
React.createElement(Box, {
|
|
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:
|
|
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,
|
|
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(
|
|
131
|
-
|
|
132
|
-
|
|
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",
|
|
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:
|
|
156
|
-
cursor
|
|
157
|
-
|
|
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
|
-
|
|
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, {
|
|
167
|
-
React.createElement("div", {
|
|
168
|
-
React.createElement(Icon, { name: "error",
|
|
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, {
|
|
175
|
-
React.createElement(KeyHint, {
|
|
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, {
|
|
181
|
-
React.createElement(Flex, { flexDirection: "row",
|
|
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, {
|
|
184
|
-
React.createElement(
|
|
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(
|
|
7
|
-
React.createElement(
|
|
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 '
|
|
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
|
|
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, {
|
|
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> |
|
|
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 (
|
|
6
|
-
|
|
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
|
-
|
|
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(
|
|
10
|
-
React.createElement(
|
|
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,
|
|
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 {
|
|
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';
|
|
@@ -149,9 +148,19 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
149
148
|
private normaliseToolPanelState;
|
|
150
149
|
private getCurrentLayoutModel;
|
|
151
150
|
silentUpdateCurrentLayoutModel(layoutModel?: TableLayoutModel | PivotLayoutModel): void;
|
|
151
|
+
/**
|
|
152
|
+
* Returns TRUE if filtering was applied, FALSE otherwise
|
|
153
|
+
* This is important in the INIT phase because applying filtering will automatically refresh AG Grids columnState,
|
|
154
|
+
* implicitly refreshing the sorting state too (hence we don't need to apply sorting separately)
|
|
155
|
+
*/
|
|
152
156
|
applyFiltering(config?: {
|
|
153
157
|
updateColumnFilterModel?: boolean;
|
|
154
|
-
}):
|
|
158
|
+
}): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Checks if the current layout has ColumnSorts for columns that have CustomSort defined
|
|
161
|
+
* (either via initialState CustomSorts or via customSortComparers option) and refreshes the sort if needed.
|
|
162
|
+
*/
|
|
163
|
+
private refreshInitialSortIfNeeded;
|
|
155
164
|
showQuickFilter(): void;
|
|
156
165
|
hideQuickFilter(): void;
|
|
157
166
|
private normalizeAdaptableOptions;
|
|
@@ -102,6 +102,10 @@ import { AgGridModulesAdapter } from './AgGridModulesAdapter';
|
|
|
102
102
|
import { getMarker } from '../devTools';
|
|
103
103
|
import { DeepMap } from '@infinite-table/infinite-react';
|
|
104
104
|
import { DateFormatter } from '../Utilities/Helpers/FormatHelper';
|
|
105
|
+
import { clearPredicateDefMapMemo } from '../Api/Implementation/PredicateApiImpl';
|
|
106
|
+
import { AgGridFilterAdapterFactory } from './AgGridFilterAdapter';
|
|
107
|
+
import { AdaptableFilterHandler } from './AdaptableFilterHandler';
|
|
108
|
+
import { AgGridFloatingFilterAdapterFactory } from './AgGridFloatingFilterAdapter';
|
|
105
109
|
const LocalEventService_Prototype = LocalEventService.prototype;
|
|
106
110
|
const LocalEventService_dispatchEvent = LocalEventService_Prototype.dispatchEvent;
|
|
107
111
|
LocalEventService_Prototype.dispatchEvent = function (event) {
|
|
@@ -446,10 +450,14 @@ export class AdaptableAgGrid {
|
|
|
446
450
|
this.api.themeApi.applyCurrentTheme();
|
|
447
451
|
this.validatePrimaryKey();
|
|
448
452
|
this.checkShouldClearExistingFiltersOrSearches();
|
|
449
|
-
// FIXME AFL FILTER: talk with Radu: should ColumnFilters still be ignored?!
|
|
450
|
-
// see layoutModel.Ignore_ColumnFilters
|
|
451
453
|
// initial filter model
|
|
452
|
-
this.applyFiltering();
|
|
454
|
+
const filteringApplied = this.applyFiltering();
|
|
455
|
+
// We may need to re-apply sort if there are ColumnSorts for columns with CustomSort defined
|
|
456
|
+
// This is required because AG Grid wasn't aware of the CustomSort when applying sorting initially
|
|
457
|
+
// this is not required when filtering was applied because filtering also triggers a sort refresh internally
|
|
458
|
+
if (!filteringApplied) {
|
|
459
|
+
this.refreshInitialSortIfNeeded();
|
|
460
|
+
}
|
|
453
461
|
// apply quick search if there is one
|
|
454
462
|
// yes, we could have put this on the gridOptions.findSearchValue
|
|
455
463
|
// but we need to wait for setupColumns to run first so as to correctly
|
|
@@ -621,26 +629,67 @@ You need to define at least one Layout!`);
|
|
|
621
629
|
normalize: true,
|
|
622
630
|
});
|
|
623
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Returns TRUE if filtering was applied, FALSE otherwise
|
|
634
|
+
* This is important in the INIT phase because applying filtering will automatically refresh AG Grids columnState,
|
|
635
|
+
* implicitly refreshing the sorting state too (hence we don't need to apply sorting separately)
|
|
636
|
+
*/
|
|
624
637
|
applyFiltering(config) {
|
|
638
|
+
let filteringApplied = false;
|
|
625
639
|
// default updateColumnFilterModel to TRUE, if not provided
|
|
626
640
|
const updateColumnFilterModel = config?.updateColumnFilterModel ?? true;
|
|
627
641
|
const agGridApi = this.agGridAdapter.getAgGridApi();
|
|
628
642
|
if (updateColumnFilterModel) {
|
|
629
643
|
const columnFilters = this.api.filterApi.columnFilterApi
|
|
630
644
|
.getActiveColumnFilters()
|
|
631
|
-
//
|
|
645
|
+
// we need this additional filter because 'getActiveColumnFilters' checks only for suspended while 'isColumnFilterActive' also checkss for COMPLETE filters
|
|
632
646
|
.filter((columnFilter) => this.api.filterApi.columnFilterApi.isColumnFilterActive(columnFilter));
|
|
633
647
|
const filterModel = {};
|
|
634
648
|
columnFilters.forEach((columnFilter) => {
|
|
635
649
|
filterModel[columnFilter.ColumnId] = columnFilter;
|
|
636
650
|
});
|
|
637
651
|
agGridApi.setFilterModel(filterModel);
|
|
652
|
+
filteringApplied = Object.keys(filterModel).length > 0;
|
|
638
653
|
}
|
|
639
654
|
// FIXME AFL FILTER why is this needed???
|
|
640
655
|
this.refreshSelectedCellsState();
|
|
641
656
|
this.refreshSelectedRowsState();
|
|
642
|
-
|
|
657
|
+
// FIXME AFL: this is temporary, will be replaced with v22's new autoCol filtering
|
|
658
|
+
const currentPivotLayoutHasAutoCols = this.api.layoutApi.isCurrentLayoutPivot() &&
|
|
659
|
+
!!this.api.layoutApi.getCurrentRowGroupsColumnIds()?.length;
|
|
660
|
+
// agGridApi.setFilterModel() already triggered onFilterChanged(), so we skip it if updateColumnFilterModel is TRUE
|
|
661
|
+
if (!filteringApplied || currentPivotLayoutHasAutoCols) {
|
|
662
|
+
agGridApi.onFilterChanged();
|
|
663
|
+
filteringApplied = true;
|
|
664
|
+
}
|
|
643
665
|
this._emit('AdapTableFiltersApplied');
|
|
666
|
+
return filteringApplied;
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Checks if the current layout has ColumnSorts for columns that have CustomSort defined
|
|
670
|
+
* (either via initialState CustomSorts or via customSortComparers option) and refreshes the sort if needed.
|
|
671
|
+
*/
|
|
672
|
+
refreshInitialSortIfNeeded() {
|
|
673
|
+
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
674
|
+
const columnSorts = currentLayout?.ColumnSorts;
|
|
675
|
+
if (!columnSorts || columnSorts.length === 0) {
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
const hasCustomSortForSortedColumn = columnSorts.some((columnSort) => {
|
|
679
|
+
// Check if there's a CustomSort defined in state for this column
|
|
680
|
+
const customSort = this.api.customSortApi.getCustomSortForColumn(columnSort.ColumnId);
|
|
681
|
+
if (customSort && !customSort.IsSuspended) {
|
|
682
|
+
return true;
|
|
683
|
+
}
|
|
684
|
+
// Check if there's a customSortComparer defined in options for this column
|
|
685
|
+
if (this.api.customSortApi.internalApi.columnHasCustomSortComparer(columnSort.ColumnId)) {
|
|
686
|
+
return true;
|
|
687
|
+
}
|
|
688
|
+
return false;
|
|
689
|
+
});
|
|
690
|
+
if (hasCustomSortForSortedColumn) {
|
|
691
|
+
this.layoutManager.refreshSort();
|
|
692
|
+
}
|
|
644
693
|
}
|
|
645
694
|
showQuickFilter() {
|
|
646
695
|
const height = this.api.optionsApi.getFilterOptions().columnFilterOptions.quickFilterHeight;
|
|
@@ -721,6 +770,92 @@ You need to define at least one Layout!`);
|
|
|
721
770
|
});
|
|
722
771
|
return defaultColGroupDef;
|
|
723
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
|
+
});
|
|
724
859
|
/**
|
|
725
860
|
* `theme`
|
|
726
861
|
*/
|
|
@@ -1679,19 +1814,7 @@ You need to define at least one Layout!`);
|
|
|
1679
1814
|
deriveAdaptableColumnStateFromAgGrid() {
|
|
1680
1815
|
const allColumns = [];
|
|
1681
1816
|
const gridApi = this.agGridAdapter.getAgGridApi();
|
|
1682
|
-
|
|
1683
|
-
let agGridCols = isPivot
|
|
1684
|
-
? gridApi.getColumns()
|
|
1685
|
-
: // we call getAllGridColumns because we want to also have the generated group columns
|
|
1686
|
-
gridApi.getAllGridColumns();
|
|
1687
|
-
if (isPivot) {
|
|
1688
|
-
// let's also support the pivot result columns
|
|
1689
|
-
const pivotResultColumns = gridApi.getPivotResultColumns() || [];
|
|
1690
|
-
const autoGroupColumns = gridApi
|
|
1691
|
-
.getAllGridColumns()
|
|
1692
|
-
.filter((column) => this.api.columnApi.isAutoRowGroupColumn(column.getColId()));
|
|
1693
|
-
agGridCols = [...autoGroupColumns, ...agGridCols, ...pivotResultColumns];
|
|
1694
|
-
}
|
|
1817
|
+
let agGridCols = this.agGridColumnAdapter.getAllAgGridColumns();
|
|
1695
1818
|
const columnGroupChildren = gridApi.getAllDisplayedColumnGroups();
|
|
1696
1819
|
const groupsCount = {};
|
|
1697
1820
|
const colsToGroups = (columnGroupChildren ?? []).reduce((acc, columnGroup) => {
|
|
@@ -1764,14 +1887,21 @@ You need to define at least one Layout!`);
|
|
|
1764
1887
|
let _displayValue = defaults ? defaults.displayValue : undefined;
|
|
1765
1888
|
let _normalisedValue = defaults ? defaults.normalisedValue : undefined;
|
|
1766
1889
|
let _isRowGroupCell;
|
|
1767
|
-
|
|
1768
|
-
this.api.columnApi.isPivotAggColumnWithNoPivotColumns(columnId);
|
|
1890
|
+
let _isPivotCell;
|
|
1769
1891
|
const self = this;
|
|
1770
1892
|
const api = this.api;
|
|
1893
|
+
const getIsPivotCell = () => {
|
|
1894
|
+
if (_isPivotCell === undefined) {
|
|
1895
|
+
_isPivotCell =
|
|
1896
|
+
api.columnApi.isPivotResultColumn(columnId) ||
|
|
1897
|
+
api.columnApi.isPivotAggColumnWithNoPivotColumns(columnId);
|
|
1898
|
+
}
|
|
1899
|
+
return _isPivotCell;
|
|
1900
|
+
};
|
|
1771
1901
|
const getRawValue = () => {
|
|
1772
1902
|
if (_rawValue === undefined) {
|
|
1773
1903
|
_rawValue = self.getRawValueFromRowNode(rowNode, columnId);
|
|
1774
|
-
if (
|
|
1904
|
+
if (_rawValue?.value != undefined && getIsPivotCell()) {
|
|
1775
1905
|
// for pivot result columns, the raw value is an object with a value property
|
|
1776
1906
|
// we want to return the value property as the raw value
|
|
1777
1907
|
_rawValue = _rawValue.value;
|
|
@@ -1814,7 +1944,7 @@ You need to define at least one Layout!`);
|
|
|
1814
1944
|
return _primaryKeyValue;
|
|
1815
1945
|
},
|
|
1816
1946
|
get isPivotCell() {
|
|
1817
|
-
return
|
|
1947
|
+
return getIsPivotCell();
|
|
1818
1948
|
},
|
|
1819
1949
|
get isRowGroupCell() {
|
|
1820
1950
|
if (_isRowGroupCell === undefined) {
|
|
@@ -3386,6 +3516,7 @@ You need to define at least one Layout!`);
|
|
|
3386
3516
|
this.__prevLayoutForRefresh = undefined;
|
|
3387
3517
|
this.layoutManager?.destroy();
|
|
3388
3518
|
this.layoutManager = null;
|
|
3519
|
+
clearPredicateDefMapMemo();
|
|
3389
3520
|
const agGridApi = this.agGridAdapter?.getAgGridApi();
|
|
3390
3521
|
if (agGridApi && !agGridApi.isDestroyed()) {
|
|
3391
3522
|
agGridApi.removeEventListener('firstDataRendered', this.listenerFirstDataRendered);
|
|
@@ -3967,7 +4098,8 @@ You need to define at least one Layout!`);
|
|
|
3967
4098
|
}
|
|
3968
4099
|
}
|
|
3969
4100
|
// also we need to reset the cache for the group column, when we have rowGripDisplayType single
|
|
3970
|
-
if (layout.RowGroupDisplayType === 'single'
|
|
4101
|
+
if (layout.RowGroupDisplayType === 'single' &&
|
|
4102
|
+
(layout.RowGroupedColumns?.length || layout.PivotGroupedColumns?.length)) {
|
|
3971
4103
|
this.api.filterApi.columnFilterApi.resetFilterValues(AG_GRID_GROUPED_COLUMN);
|
|
3972
4104
|
}
|
|
3973
4105
|
}
|
|
@@ -1,16 +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
|
-
|
|
7
|
+
colId: string;
|
|
9
8
|
private filterDisplayValuesResult;
|
|
10
9
|
private previousFilterDisplayValuesResult;
|
|
11
|
-
constructor(adaptableApi: AdaptableApi
|
|
12
|
-
|
|
13
|
-
doesFilterPass(params: DoesFilterPassParams): boolean;
|
|
10
|
+
constructor(adaptableApi: AdaptableApi);
|
|
11
|
+
init(params: FilterHandlerParams): void;
|
|
12
|
+
doesFilterPass(params: DoesFilterPassParams<any, any, ColumnFilter>): boolean;
|
|
14
13
|
getCachedFilterDisplayValues(): InFilterValueResult | undefined;
|
|
15
14
|
getLastCachedFilterDisplayValues(): InFilterValueResult | undefined;
|
|
16
15
|
getFromCacheOrFetchFilterDisplayValues(options: {
|