@adaptabletools/adaptable 21.2.2-canary.0 → 22.0.0-canary.1
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/README.md +4 -6
- 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 +9 -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/GridApi.d.ts +14 -0
- 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/GridApiImpl.d.ts +9 -0
- package/src/Api/Implementation/GridApiImpl.js +16 -0
- 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/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 -1
- package/src/Api/Internal/LayoutInternalApi.d.ts +5 -0
- package/src/Api/Internal/LayoutInternalApi.js +25 -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/Redux/Store/AdaptableStore.js +8 -7
- 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/Constants/DocumentationLinkConstants.d.ts +18 -17
- package/src/Utilities/Constants/DocumentationLinkConstants.js +18 -17
- 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/Services/ModuleService.js +37 -38
- 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 +11 -3
- package/src/agGrid/AdaptableAgGrid.js +153 -18
- package/src/agGrid/AdaptableFilterHandler.d.ts +5 -7
- package/src/agGrid/AdaptableFilterHandler.js +12 -28
- 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.js +2 -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,30 +1,28 @@
|
|
|
1
1
|
import { DataSource, InfiniteTableGrid, } from '../../../../components/InfiniteTable';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Box, Flex, Text } from 'rebass';
|
|
4
|
-
import DropdownButton from '../../../../components/DropdownButton';
|
|
5
|
-
import FormLayout, { FormRow } from '../../../../components/FormLayout';
|
|
6
3
|
import Input from '../../../../components/Input';
|
|
7
|
-
import SimpleButton from '../../../../components/SimpleButton';
|
|
8
4
|
import { Tabs } from '../../../../components/Tabs';
|
|
9
|
-
import { Tag } from '../../../../components/Tag';
|
|
10
5
|
import { isValidOrderForColumnGroups, } from '../../../../AdaptableState/Common/AdaptableColumn';
|
|
11
6
|
import { useAdaptable } from '../../../AdaptableContext';
|
|
12
|
-
import { renderSelectionSection } from '../../../Components/ValueSelector';
|
|
13
7
|
import { useOnePageAdaptableWizardContext } from '../../../Wizard/OnePageAdaptableWizard';
|
|
14
8
|
import { columnFilter } from './Utilities';
|
|
15
9
|
import { Icon, NaturallySizedIcon } from '../../../../components/icons';
|
|
16
10
|
import { CheckBox } from '../../../../components/CheckBox';
|
|
17
11
|
import { clamp } from '../../../../Utilities/Helpers/Helper';
|
|
18
|
-
import { ColumnLabels } from '../Components/ColumnLabels';
|
|
19
12
|
import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
|
|
20
|
-
import { generateAutoRowGroupColumnForColumn, generateAutoRowGroupSingleColumn, generateAutoTreeSingleColumn, } from '../../../../Api/Implementation/ColumnApiImpl';
|
|
13
|
+
import { generateAutoRowGroupColumnForColumn, generateAutoRowGroupSingleColumn, generateAutoTreeSingleColumn, isAutoRowGroupColumn, } from '../../../../Api/Implementation/ColumnApiImpl';
|
|
21
14
|
import { ReorderDraggable } from '../../../Components/ReorderDraggable';
|
|
22
15
|
import { AdaptableFormControlTextClear } from '../../../Components/Forms/AdaptableFormControlTextClear';
|
|
23
16
|
import { sortColumnIdsByOrder } from '../../../../layout-manager/src/sortColumnIdsByOrder';
|
|
24
|
-
import HelpBlock from '../../../../components/HelpBlock';
|
|
25
17
|
import { AG_GRID_GROUPED_COLUMN, AG_GRID_SELECTION_COLUMN, } from '../../../../Utilities/Constants/GeneralConstants';
|
|
26
18
|
import { isPivotLayout } from '../../../../Utilities/isPivotLayout';
|
|
27
|
-
|
|
19
|
+
import { Box, Flex } from '../../../../components/Flex';
|
|
20
|
+
import clsx from 'clsx';
|
|
21
|
+
import Radio, { RadioGroup, radioGroupStyling } from '../../../../components/Radio';
|
|
22
|
+
const PropertyOrderText = (props) => (React.createElement(Box, { className: "twa:font-bold twa:text-2" }, props.children));
|
|
23
|
+
// we want to make sure tailwind generates this class
|
|
24
|
+
// as for now it's not used anywhere yet
|
|
25
|
+
const _cls = 'twa:text-text-on-defaultbackground';
|
|
28
26
|
const columnTypes = {
|
|
29
27
|
default: {
|
|
30
28
|
defaultFlex: 1,
|
|
@@ -118,7 +116,7 @@ export const ColumnsSectionSummary = () => {
|
|
|
118
116
|
return React.createElement(React.Fragment, null);
|
|
119
117
|
}
|
|
120
118
|
return (React.createElement(Flex, null,
|
|
121
|
-
React.createElement(CheckBox, {
|
|
119
|
+
React.createElement(CheckBox, { className: "twa:m-0 twa:mr-1", checked: true }),
|
|
122
120
|
React.createElement(PropertyOrderText, null, params.data?.grouping)));
|
|
123
121
|
},
|
|
124
122
|
},
|
|
@@ -134,93 +132,38 @@ export const ColumnsSectionSummary = () => {
|
|
|
134
132
|
return (React.createElement(DataSource, { data: data, primaryKey: "columnId" },
|
|
135
133
|
React.createElement(InfiniteTableGrid, { columnTypes: columnTypes, rowHeight: rowHeight, columnHeaderHeight: headerHeight, domProps: tableDOMProps, columns: columns })));
|
|
136
134
|
};
|
|
135
|
+
const isColumnVisible = (options) => {
|
|
136
|
+
const { columnId, layout } = options;
|
|
137
|
+
const isRowGroupColumn = isAutoRowGroupColumn(columnId);
|
|
138
|
+
const visible = (!isPivotLayout(layout) &&
|
|
139
|
+
layout.TableColumns.includes(columnId) &&
|
|
140
|
+
layout.ColumnVisibility?.[columnId] !== false) ||
|
|
141
|
+
isRowGroupColumn;
|
|
142
|
+
return visible;
|
|
143
|
+
};
|
|
137
144
|
const ColumnRow = (props) => {
|
|
138
|
-
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
139
145
|
const adaptable = useAdaptable();
|
|
140
146
|
const initialHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(props.column.columnId, props.layout);
|
|
141
|
-
const isRowGroupColumn =
|
|
142
|
-
const customHeader = props.layout.ColumnHeaders?.[props.column.columnId] ?? initialHeader;
|
|
143
|
-
// column pinning
|
|
144
|
-
const columnPinning = props.layout.ColumnPinning?.[props.column.columnId] || 'None';
|
|
145
|
-
const pinningOptions = [
|
|
146
|
-
{ value: 'None', label: 'None', onClick: () => props.onPinChange(props.column.columnId, null) },
|
|
147
|
-
{
|
|
148
|
-
value: 'left',
|
|
149
|
-
label: 'Left',
|
|
150
|
-
onClick: () => props.onPinChange(props.column.columnId, 'left'),
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
value: 'right',
|
|
154
|
-
label: 'Right',
|
|
155
|
-
onClick: () => props.onPinChange(props.column.columnId, 'right'),
|
|
156
|
-
},
|
|
157
|
-
];
|
|
147
|
+
const isRowGroupColumn = isAutoRowGroupColumn(props.column.columnId);
|
|
158
148
|
const { column } = props;
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const minWidth = props.layout.ColumnSizing?.[column.columnId]?.MinWidth;
|
|
163
|
-
const maxWidth = props.layout.ColumnSizing?.[column.columnId]?.MaxWidth;
|
|
164
|
-
const resizable = column.resizable !== false;
|
|
165
|
-
const visible = (!isPivotLayout(props.layout) &&
|
|
166
|
-
props.layout.TableColumns.includes(column.columnId) &&
|
|
167
|
-
props.layout.ColumnVisibility?.[column.columnId] !== false) ||
|
|
168
|
-
isRowGroupColumn;
|
|
169
|
-
return (React.createElement(Box, { "data-name": props.column.columnId, className: "ab-Layout-Wizard__ColumnRow" },
|
|
170
|
-
React.createElement(Flex, { className: "ab-Layout-Wizard__ColumnRow__Header", mt: 1, mb: 1, onClick: () => setIsExpanded(!isExpanded) },
|
|
149
|
+
const visible = isColumnVisible({ columnId: column.columnId, layout: props.layout });
|
|
150
|
+
return (React.createElement(Box, { "data-name": props.column.columnId, className: "twa:flex-1" },
|
|
151
|
+
React.createElement(Flex, { className: "ab-Layout-Wizard__ColumnRow__Header twa:my-1" },
|
|
171
152
|
React.createElement(CheckBox, { "data-name": column.columnId, onChange: (checked) => {
|
|
172
153
|
props.onColumnVisibilityChange(column.columnId, checked);
|
|
173
154
|
}, disabled: column.hideable === false || isRowGroupColumn, onClick: (event) => {
|
|
174
155
|
event.stopPropagation();
|
|
175
156
|
}, checked: visible }),
|
|
176
|
-
React.createElement(Flex, {
|
|
177
|
-
props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (React.createElement(Box, { className: "ab-Layout-Wizard__ColumnRow__Title
|
|
157
|
+
React.createElement(Flex, { className: "twa:mx-2", alignItems: "center", "data-name": "column-label" }, initialHeader),
|
|
158
|
+
props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (React.createElement(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-2 twa:p-1" },
|
|
178
159
|
"Column Group: ",
|
|
179
|
-
props.column.columnGroup.friendlyName)) : null
|
|
180
|
-
React.createElement(Flex, { mr: 2 },
|
|
181
|
-
React.createElement(ColumnLabels, { showTitle: false, sortable: props.column.sortable, filterable: props.column.filterable, pivotable: props.column.pivotable, moveable: props.column.moveable, groupable: props.column.groupable, aggregatable: props.column.aggregatable })),
|
|
182
|
-
React.createElement(Box, { flex: 1 }),
|
|
183
|
-
React.createElement(SimpleButton, { "data-name": "expand-collapse", "data-value": isExpanded ? 'expanded' : 'collapsed', ml: 10, padding: 0, iconSize: 24, variant: "text", onClick: () => setIsExpanded(!isExpanded), icon: isExpanded ? 'triangle-up' : 'triangle-down' })),
|
|
184
|
-
isExpanded && (React.createElement(Box, { className: "ab-Layout-Wizard__ColumnRow__Expanded-Container", mb: 2, padding: 2, mt: 2 },
|
|
185
|
-
React.createElement(Flex, { mb: 2 },
|
|
186
|
-
React.createElement(FormLayout, { width: "100%", mr: 3 },
|
|
187
|
-
React.createElement(FormRow, { label: "ColumnId" },
|
|
188
|
-
React.createElement(Tag, null, props.column.columnId)),
|
|
189
|
-
React.createElement(FormRow, { label: "Header" },
|
|
190
|
-
React.createElement(Input, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnRow__Input", placeholder: "Custom name (optional)", onChange: () => {
|
|
191
|
-
props.onColumnNameChange(props.column.columnId, event.target.value);
|
|
192
|
-
}, value: customHeader })),
|
|
193
|
-
React.createElement(FormRow, { label: "Width" },
|
|
194
|
-
React.createElement(Input, { "data-name": "column-width", className: "ab-Layout-Wizard__ColumnRow__Input", type: "number", placeholder: "Column width", disabled: resizable === false, onChange: (event) => {
|
|
195
|
-
let value = parseFloat(event.target.value);
|
|
196
|
-
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
197
|
-
props.onColumnWidthChange(props.column.columnId, value);
|
|
198
|
-
}, value: columnWidth ?? '' })),
|
|
199
|
-
React.createElement(FormRow, { label: "Flex" },
|
|
200
|
-
React.createElement(Input, { "data-name": "column-flex", className: "ab-Layout-Wizard__ColumnRow__Input", type: "number", placeholder: "Column flex", disabled: resizable === false, onChange: (event) => {
|
|
201
|
-
let value = parseFloat(event.target.value);
|
|
202
|
-
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
203
|
-
props.onColumnFlexChange(props.column.columnId, value);
|
|
204
|
-
}, value: columnFlex ?? '' })),
|
|
205
|
-
React.createElement(FormRow, { label: "Min Width" },
|
|
206
|
-
React.createElement(Input, { "data-name": "column-min-width", className: "ab-Layout-Wizard__ColumnRow__Input", type: "number", placeholder: "Column min width", disabled: resizable === false, onChange: (event) => {
|
|
207
|
-
let value = parseFloat(event.target.value);
|
|
208
|
-
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
209
|
-
props.onColumnMinWidthChange(props.column.columnId, value);
|
|
210
|
-
}, value: minWidth ?? '' })),
|
|
211
|
-
React.createElement(FormRow, { label: "Max Width" },
|
|
212
|
-
React.createElement(Input, { "data-name": "column-max-width", className: "ab-Layout-Wizard__ColumnRow__Input", type: "number", placeholder: "Column max width", disabled: resizable === false, onChange: (event) => {
|
|
213
|
-
let value = parseFloat(event.target.value);
|
|
214
|
-
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
215
|
-
props.onColumnMaxWidthChange(props.column.columnId, value);
|
|
216
|
-
}, value: maxWidth ?? '' })),
|
|
217
|
-
React.createElement(FormRow, { label: "Pinning" },
|
|
218
|
-
React.createElement(DropdownButton, { "data-name": "column-pinning", columns: ['label'], items: pinningOptions }, pinningOptions.find((option) => option.value === columnPinning).label))))))));
|
|
160
|
+
props.column.columnGroup.friendlyName)) : null)));
|
|
219
161
|
};
|
|
220
162
|
export const ColumnsSection = (props) => {
|
|
221
163
|
const adaptable = useAdaptable();
|
|
222
164
|
const { data: layout } = useOnePageAdaptableWizardContext();
|
|
223
165
|
const [searchInputValue, setSearchInputValue] = React.useState('');
|
|
166
|
+
const [selectedColumnId, setSelectedColumnId] = React.useState(null);
|
|
224
167
|
let hasSelectionColumn = false;
|
|
225
168
|
const allColumns = adaptable.api.columnApi
|
|
226
169
|
.getUIAvailableColumns()
|
|
@@ -279,6 +222,7 @@ export const ColumnsSection = (props) => {
|
|
|
279
222
|
return columnFilter(col, searchInputValue);
|
|
280
223
|
})
|
|
281
224
|
: ColumnOrderAllColumns;
|
|
225
|
+
const currentOrderIds = currentOrder.map((col) => col.columnId);
|
|
282
226
|
const handleColumnsChange = (newColumns) => {
|
|
283
227
|
if (searchInputValue) {
|
|
284
228
|
// there's a search in-place
|
|
@@ -312,18 +256,26 @@ export const ColumnsSection = (props) => {
|
|
|
312
256
|
});
|
|
313
257
|
};
|
|
314
258
|
const handleColumnVisibilityChange = (columnId, visible) => {
|
|
259
|
+
const columnIdArray = Array.isArray(columnId) ? columnId : [columnId];
|
|
260
|
+
const columnIdSet = new Set(columnIdArray);
|
|
315
261
|
const ColumnVisibility = { ...layout.ColumnVisibility };
|
|
316
262
|
let TableColumns = [...layout.TableColumns];
|
|
317
263
|
if (visible) {
|
|
318
|
-
|
|
264
|
+
columnIdArray.forEach((colId) => {
|
|
265
|
+
delete ColumnVisibility[colId];
|
|
266
|
+
});
|
|
319
267
|
}
|
|
320
268
|
else {
|
|
321
|
-
|
|
269
|
+
columnIdArray.forEach((colId) => {
|
|
270
|
+
ColumnVisibility[colId] = false;
|
|
271
|
+
});
|
|
322
272
|
}
|
|
323
273
|
const columnIds = ColumnOrderAllColumns.map((col) => col.columnId);
|
|
324
274
|
const idsToIndexes = new Map(columnIds.map((colId, index) => [colId, index]));
|
|
325
275
|
const columnOrderSet = new Set(TableColumns);
|
|
326
|
-
|
|
276
|
+
const currentColumnIdsAreIncluded = columnIdArray.every((colId) => columnOrderSet.has(colId));
|
|
277
|
+
if (!currentColumnIdsAreIncluded) {
|
|
278
|
+
const biggestIndex = Math.max(...columnIdArray.map((colId) => idsToIndexes.get(colId)));
|
|
327
279
|
TableColumns = columnIds.filter((colId) => {
|
|
328
280
|
const isCurrent = columnOrderSet.has(colId);
|
|
329
281
|
if (isCurrent) {
|
|
@@ -331,9 +283,9 @@ export const ColumnsSection = (props) => {
|
|
|
331
283
|
}
|
|
332
284
|
// include all columns past the current column order
|
|
333
285
|
// that reach until the index of the currently checked column
|
|
334
|
-
const shouldInclude = idsToIndexes.get(colId) <=
|
|
286
|
+
const shouldInclude = idsToIndexes.get(colId) <= biggestIndex;
|
|
335
287
|
if (shouldInclude) {
|
|
336
|
-
if (colId
|
|
288
|
+
if (!columnIdSet.has(colId) && visible) {
|
|
337
289
|
// this is a column that's between the current column order limit
|
|
338
290
|
// and the currently checked column
|
|
339
291
|
// so we need to include it in order
|
|
@@ -415,56 +367,179 @@ export const ColumnsSection = (props) => {
|
|
|
415
367
|
adaptable.api.columnApi.isSelectionColumn(colId) === false &&
|
|
416
368
|
!adaptable.api.columnApi.internalApi.isAlwaysHiddenColumn(colId));
|
|
417
369
|
});
|
|
418
|
-
const
|
|
419
|
-
|
|
370
|
+
const currentlyDisplayedColumnIds = searchInputValue
|
|
371
|
+
? currentOrder
|
|
372
|
+
.filter((col) => currentOrderIds.includes(col.columnId))
|
|
373
|
+
.map((col) => col.columnId)
|
|
374
|
+
: currentOrder.map((col) => col.columnId);
|
|
375
|
+
const visibleIdsCurrentlyDisplayed = visibleIds.filter((colId) => currentlyDisplayedColumnIds.includes(colId));
|
|
420
376
|
return (React.createElement(Tabs, null,
|
|
421
377
|
React.createElement(Tabs.Tab, null, "Columns"),
|
|
422
|
-
React.createElement(Tabs.Content, {
|
|
423
|
-
React.createElement(
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
378
|
+
React.createElement(Tabs.Content, { className: "twa:overflow-hidden" },
|
|
379
|
+
React.createElement(Box, { className: "twa:grid twa:grid-cols-2 twa:gap-2 twa:focus:outline-none", "data-name": "columns-container", tabIndex: -1, onKeyDown: (event) => {
|
|
380
|
+
if (event.key === 'ArrowDown') {
|
|
381
|
+
event.preventDefault();
|
|
382
|
+
event.stopPropagation();
|
|
383
|
+
const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
|
|
384
|
+
if (index === -1) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const nextColumnId = currentlyDisplayedColumnIds[index + 1];
|
|
388
|
+
const nextColumn = colIdToCol[nextColumnId];
|
|
389
|
+
if (nextColumn) {
|
|
390
|
+
setSelectedColumnId(nextColumn.columnId);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
if (event.key === 'ArrowUp') {
|
|
394
|
+
event.preventDefault();
|
|
395
|
+
event.stopPropagation();
|
|
396
|
+
const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
|
|
397
|
+
if (index === -1) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
const previousColumnId = currentlyDisplayedColumnIds[index - 1];
|
|
401
|
+
const previousColumn = colIdToCol[previousColumnId];
|
|
402
|
+
if (previousColumn) {
|
|
403
|
+
setSelectedColumnId(previousColumn.columnId);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (event.key === ' ') {
|
|
407
|
+
event.preventDefault();
|
|
408
|
+
event.stopPropagation();
|
|
409
|
+
const selectedColumn = colIdToCol[selectedColumnId];
|
|
410
|
+
if (!selectedColumn) {
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
const visible = isColumnVisible({ columnId: selectedColumnId, layout });
|
|
414
|
+
handleColumnVisibilityChange(selectedColumnId, !visible);
|
|
415
|
+
}
|
|
416
|
+
} },
|
|
417
|
+
React.createElement(Box, { className: "twa:flex twa:flex-col twa:gap-2" },
|
|
418
|
+
React.createElement(AdaptableFormControlTextClear, { value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Search Columns...", className: "twa:w-full twa:border-none twa:p-1" }),
|
|
419
|
+
React.createElement(Box, { className: clsx('twa:font-bold', 'twa:border-b twa:border-primarydark/30 twa:rounded-standard') },
|
|
420
|
+
React.createElement(CheckBox, { checked: currentlyDisplayedColumnIds.length
|
|
421
|
+
? currentlyDisplayedColumnIds.length === visibleIdsCurrentlyDisplayed.length
|
|
422
|
+
? true
|
|
423
|
+
: visibleIdsCurrentlyDisplayed.length
|
|
424
|
+
? null
|
|
425
|
+
: false
|
|
426
|
+
: false, onChange: (checked) => {
|
|
427
|
+
handleColumnVisibilityChange(currentlyDisplayedColumnIds, checked);
|
|
428
|
+
} }, "Select All")),
|
|
429
|
+
React.createElement(ReorderDraggable, { toIdentifier: (option) => `${option.columnId}`, isOptionDraggable: (option) => {
|
|
430
|
+
return option.moveable;
|
|
431
|
+
}, optionClassName: (option) => {
|
|
432
|
+
const baseCls = 'ab-Layout-Wizard__ColumnRow twa:cursor-pointer twa:rounded-standard';
|
|
433
|
+
if (selectedColumnId !== option.columnId) {
|
|
434
|
+
return baseCls;
|
|
435
|
+
}
|
|
436
|
+
return clsx(baseCls, 'twa:after:border-accent twa:relative twa:after:border-2 twa:after:rounded-standard twa:after:pointer-events-none twa:after:inset-0 twa:after:absolute twa:after:bg-accent/15');
|
|
437
|
+
}, order: currentOrder, onOptionClick: (option, event) => {
|
|
438
|
+
if (event.ctrlKey || option.columnId === selectedColumnId) {
|
|
439
|
+
setSelectedColumnId(null);
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
setSelectedColumnId(option.columnId);
|
|
443
|
+
}
|
|
444
|
+
}, renderOption: (option) => {
|
|
445
|
+
return (React.createElement(ColumnRow, { onColumnNameChange: handleColumnNameChange, onColumnWidthChange: handleColumnWidthChange, onColumnFlexChange: handleColumnFlexChange, onColumnMinWidthChange: handleColumnMinWidthChange, onColumnMaxWidthChange: handleColumnMaxWidthChange, onColumnVisibilityChange: handleColumnVisibilityChange, onPinChange: handlePinChange, layout: layout, column: option }));
|
|
446
|
+
}, onChange: handleColumnsChange })),
|
|
447
|
+
currentOrderIds.length ? (React.createElement(ColumnPropertiesEditor, { column: selectedColumnId && currentOrderIds.includes(selectedColumnId)
|
|
448
|
+
? colIdToCol[selectedColumnId] ?? null
|
|
449
|
+
: null, layout: layout, onPinChange: handlePinChange, onColumnNameChange: handleColumnNameChange, onColumnWidthChange: handleColumnWidthChange, onColumnFlexChange: handleColumnFlexChange, onColumnMinWidthChange: handleColumnMinWidthChange, onColumnMaxWidthChange: handleColumnMaxWidthChange, onColumnVisibilityChange: handleColumnVisibilityChange })) : null))));
|
|
450
|
+
};
|
|
451
|
+
const hr = React.createElement("hr", { className: "twa:my-2 twa:h-[0.5px] twa:bg-inputborder/50 twa:border-none" });
|
|
452
|
+
const ColumnPropertiesEditor = (props) => {
|
|
453
|
+
const adaptable = useAdaptable();
|
|
454
|
+
const baseCls = 'ab-Layout-Wizard__ColumnPropertiesEditor twa:border twa:rounded-standard';
|
|
455
|
+
if (!props.column) {
|
|
456
|
+
return (React.createElement(Box, { className: clsx(baseCls, 'twa:border-inputborder twa:grid twa:place-items-center twa:border-dashed twa:border-2') },
|
|
457
|
+
React.createElement(Box, { className: "twa:flex twa:flex-col twa:gap-2 twa:items-center twa:justify-center" },
|
|
458
|
+
React.createElement(Box, { className: "twa:text-text-on-primarydark ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Icon" },
|
|
459
|
+
React.createElement(NaturallySizedIcon, { name: "inspector", style: { stroke: 'currentColor', fill: 'none', strokeWidth: 2 } })),
|
|
460
|
+
React.createElement(Box, { className: "twa:text-4 twa:font-bold ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Title" }, "No Column Selected"),
|
|
461
|
+
React.createElement(Box, { className: "twa:text-3 twa:opacity-80 ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Description" }, "Select a Column to view and edit its properties"))));
|
|
462
|
+
}
|
|
463
|
+
const { column } = props;
|
|
464
|
+
const columnWidth = props.layout.ColumnSizing?.[column.columnId]?.Width;
|
|
465
|
+
const columnFlex = props.layout.ColumnSizing?.[column.columnId]?.Flex;
|
|
466
|
+
const minWidth = props.layout.ColumnSizing?.[column.columnId]?.MinWidth;
|
|
467
|
+
const maxWidth = props.layout.ColumnSizing?.[column.columnId]?.MaxWidth;
|
|
468
|
+
const resizable = column.resizable !== false;
|
|
469
|
+
// column pinning
|
|
470
|
+
const columnPinning = props.layout.ColumnPinning?.[props.column.columnId] || 'None';
|
|
471
|
+
const initialHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(props.column.columnId, props.layout);
|
|
472
|
+
const customHeader = props.layout.ColumnHeaders?.[props.column.columnId] ?? initialHeader;
|
|
473
|
+
return (React.createElement(Box, { className: clsx(baseCls, 'ab-Layout-Wizard__ColumnPropertiesEditor__Container twa:border-none twa:bg-defaultbackground twa:shadow-md twa:p-4') },
|
|
474
|
+
React.createElement(Box, { className: "twa:text-5 twa:font-bold twa:leading-relaxed ab-Layout-Wizard__ColumnPropertiesEditor__Title" },
|
|
475
|
+
"Column Settings: ",
|
|
476
|
+
column.friendlyName),
|
|
477
|
+
React.createElement(Box, { className: "twa:text-3 twa:opacity-80 twa:flex twa:flex-row twa:gap-1 twa:items-center" },
|
|
478
|
+
"Column ID:",
|
|
479
|
+
' ',
|
|
480
|
+
React.createElement(Box, { className: "twa:bg-primarydark/20 twa:text-text-on-primarydark twa:px-1 twa:py-0.5 twa:rounded-standard" }, column.columnId)),
|
|
481
|
+
props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (React.createElement(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-2 twa:p-1" },
|
|
482
|
+
"Column Group: ",
|
|
483
|
+
props.column.columnGroup.friendlyName)) : null,
|
|
484
|
+
hr,
|
|
485
|
+
React.createElement(Flex, { flexDirection: "column", className: "twa:gap-3" },
|
|
486
|
+
React.createElement(Flex, { flexDirection: "column", className: "twa:gap-1" },
|
|
487
|
+
"Header",
|
|
488
|
+
React.createElement(Input, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input twa:w-full", placeholder: "Custom name (optional)", onChange: () => {
|
|
489
|
+
props.onColumnNameChange(props.column.columnId, event.target.value);
|
|
490
|
+
}, value: customHeader })),
|
|
491
|
+
React.createElement(Box, { className: "twa:grid twa:grid-cols-[1fr_1fr] twa:gap-2" },
|
|
492
|
+
React.createElement(Box, null, "Width:"),
|
|
493
|
+
" ",
|
|
494
|
+
React.createElement(Box, null, "Flex:"),
|
|
495
|
+
React.createElement(Input, { "data-name": "column-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column width", disabled: resizable === false, onChange: (event) => {
|
|
496
|
+
let value = parseFloat(event.target.value);
|
|
497
|
+
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
498
|
+
props.onColumnWidthChange(props.column.columnId, value);
|
|
499
|
+
}, value: columnWidth ?? '' }),
|
|
500
|
+
React.createElement(Input, { "data-name": "column-flex", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column flex", disabled: resizable === false, onChange: (event) => {
|
|
501
|
+
let value = parseFloat(event.target.value);
|
|
502
|
+
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
503
|
+
props.onColumnFlexChange(props.column.columnId, value);
|
|
504
|
+
}, value: columnFlex ?? '' }),
|
|
505
|
+
React.createElement(Box, null, "Min Width:"),
|
|
506
|
+
React.createElement(Box, null, "Max Width:"),
|
|
507
|
+
React.createElement(Input, { "data-name": "column-min-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column min width", disabled: resizable === false, onChange: (event) => {
|
|
508
|
+
let value = parseFloat(event.target.value);
|
|
509
|
+
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
510
|
+
props.onColumnMinWidthChange(props.column.columnId, value);
|
|
511
|
+
}, value: minWidth ?? '' }),
|
|
512
|
+
React.createElement(Input, { "data-name": "column-max-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column max width", disabled: resizable === false, onChange: (event) => {
|
|
513
|
+
let value = parseFloat(event.target.value);
|
|
514
|
+
value = typeof value === 'number' && !isNaN(value) ? value : void 0;
|
|
515
|
+
props.onColumnMaxWidthChange(props.column.columnId, value);
|
|
516
|
+
}, value: maxWidth ?? '' })),
|
|
517
|
+
"Pinning:",
|
|
518
|
+
React.createElement(RadioGroup, { value: columnPinning || 'None', name: "columnPinning", orientation: "horizontal", variant: "text-only", className: radioGroupStyling.horizontalTextOnly, onRadioChange: (columnPinning) => {
|
|
519
|
+
props.onPinChange(column.columnId, columnPinning === 'None' ? null : columnPinning);
|
|
520
|
+
} },
|
|
521
|
+
React.createElement(Radio, { value: "left" }, "Left"),
|
|
522
|
+
React.createElement(Radio, { value: "None" }, "None"),
|
|
523
|
+
React.createElement(Radio, { value: "right" }, "Right"))),
|
|
524
|
+
React.createElement(Box, { className: "twa:mt-5" }),
|
|
525
|
+
hr,
|
|
526
|
+
React.createElement(Box, null,
|
|
527
|
+
React.createElement(Box, { className: "twa:my-3" }, "Column Attributes"),
|
|
528
|
+
React.createElement(Box, { className: clsx({
|
|
529
|
+
'twa:bg-primarylight': 'the bg color',
|
|
530
|
+
'twa:gap-2 twa:flex twa:flex-col': 'layout configuration for small screens',
|
|
531
|
+
'twa:lg:gap-3 twa:lg:grid twa:md:grid-cols-[1fr_1fr]': 'layout configuration for normal screens',
|
|
532
|
+
'twa:p-5 twa:rounded-standard': true,
|
|
533
|
+
}) }, [
|
|
534
|
+
{ label: 'Aggregatable', checked: props.column.aggregatable },
|
|
535
|
+
{ label: 'Filterable', checked: props.column.filterable },
|
|
536
|
+
{ label: 'Groupable', checked: props.column.groupable },
|
|
537
|
+
{ label: 'Moveable', checked: props.column.moveable },
|
|
538
|
+
{ label: 'Pivotable', checked: props.column.pivotable },
|
|
539
|
+
{ label: 'Sortable', checked: props.column.sortable },
|
|
540
|
+
].map(({ label, checked }) => (React.createElement(Flex, { alignItems: "center", className: clsx({
|
|
541
|
+
'twa:rounded-standard twa:gap-2': true,
|
|
542
|
+
}) },
|
|
543
|
+
React.createElement(Box, { className: "twa:size-5" }, checked ? (React.createElement(Icon, { name: "check", className: "twa:text-success" })) : (React.createElement(Icon, { name: "close", className: "twa:text-error" }))),
|
|
544
|
+
label)))))));
|
|
470
545
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Box } from 'rebass';
|
|
3
2
|
import { getLayoutFilterViewItems } from '../../../../Strategy/Utilities/Layout/getLayoutFilterViewItems';
|
|
4
3
|
import * as ModuleConstants from '../../../../Utilities/Constants/ModuleConstants';
|
|
5
4
|
import FormLayout, { FormRow } from '../../../../components/FormLayout';
|
|
@@ -10,6 +9,7 @@ import { AdaptableObjectListItemView } from '../../../Components/AdaptableObject
|
|
|
10
9
|
import { ColumnSelector } from '../../../Components/Selectors/ColumnSelector';
|
|
11
10
|
import { useOnePageAdaptableWizardContext } from '../../../Wizard/OnePageAdaptableWizard';
|
|
12
11
|
import { LayoutColumnFilter } from '../../../Components/ColumnFilter/LayoutColumnFilter';
|
|
12
|
+
import { Box } from '../../../../components/Flex';
|
|
13
13
|
export const isColumnFiltersValid = (layout) => {
|
|
14
14
|
const invalidColumnFilters = (layout.ColumnFilters ?? [])?.filter((columnFilter) => !columnFilter?.Predicates[0]?.PredicateId);
|
|
15
15
|
if (invalidColumnFilters.length > 0) {
|
|
@@ -21,7 +21,7 @@ export const FilterSectionSummary = () => {
|
|
|
21
21
|
const { data: layout } = useOnePageAdaptableWizardContext();
|
|
22
22
|
const adaptable = useAdaptable();
|
|
23
23
|
const fitlerViewItems = getLayoutFilterViewItems(layout, adaptable.api);
|
|
24
|
-
return (React.createElement(Box, null, fitlerViewItems.values.length ? (fitlerViewItems.values.map((value) => (React.createElement(Tag, { key: value,
|
|
24
|
+
return (React.createElement(Box, null, fitlerViewItems.values.length ? (fitlerViewItems.values.map((value) => (React.createElement(Tag, { key: value, className: "twa:mb-1 twa:mr-1" }, value)))) : (React.createElement(Tag, null, "No Column Filters"))));
|
|
25
25
|
};
|
|
26
26
|
export const FilterSection = (props) => {
|
|
27
27
|
const adaptable = useAdaptable();
|
|
@@ -40,10 +40,10 @@ export const FilterSection = (props) => {
|
|
|
40
40
|
ColumnFilters: layoutFilters.map((layoutFilter) => layoutFilter.ColumnId === columnFilter.ColumnId ? { ...columnFilter } : layoutFilter),
|
|
41
41
|
});
|
|
42
42
|
}, [layout.ColumnFilters]);
|
|
43
|
-
return (React.createElement(Tabs, {
|
|
43
|
+
return (React.createElement(Tabs, { className: "twa:h-full" },
|
|
44
44
|
React.createElement(Tabs.Tab, null, "Column Filters"),
|
|
45
45
|
React.createElement(Tabs.Content, null,
|
|
46
|
-
React.createElement(FormLayout, {
|
|
46
|
+
React.createElement(FormLayout, { className: "twa:mb-2" },
|
|
47
47
|
React.createElement(FormRow, { label: "Add Column Filter" },
|
|
48
48
|
React.createElement(ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select Column to create Filter", onChange: (option) => {
|
|
49
49
|
props.onChange({
|
|
@@ -57,7 +57,7 @@ export const FilterSection = (props) => {
|
|
|
57
57
|
],
|
|
58
58
|
});
|
|
59
59
|
} }))),
|
|
60
|
-
layoutFilters?.length > 0 && (React.createElement(Box, {
|
|
60
|
+
layoutFilters?.length > 0 && (React.createElement(Box, { className: "twa:p-0", as: "ul" }, layoutFilters.map((columnFilter) => {
|
|
61
61
|
const items = [
|
|
62
62
|
...filterModule.toView(columnFilter).items,
|
|
63
63
|
{
|
|
@@ -68,6 +68,5 @@ export const FilterSection = (props) => {
|
|
|
68
68
|
},
|
|
69
69
|
];
|
|
70
70
|
return (React.createElement(AdaptableObjectListItemView, { module: filterModule, abObject: columnFilter, entityType: "Column Filter", showActions: true, showEditButton: false, items: items, onDelete: () => handleDelete(columnFilter), key: columnFilter.ColumnId }));
|
|
71
|
-
})))
|
|
72
|
-
' ')));
|
|
71
|
+
}))))));
|
|
73
72
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Box } from 'rebass';
|
|
3
2
|
import { useAdaptable } from '../../../AdaptableContext';
|
|
4
3
|
import { useOnePageAdaptableWizardContext } from '../../../Wizard/OnePageAdaptableWizard';
|
|
5
4
|
import { Tag } from '../../../../components/Tag';
|
|
@@ -7,6 +6,7 @@ import { ExpressionEditor } from '../../../../components/ExpressionEditor';
|
|
|
7
6
|
import { GridFilterModuleId } from '../../../../Utilities/Constants/ModuleConstants';
|
|
8
7
|
import StringExtensions from '../../../../Utilities/Extensions/StringExtensions';
|
|
9
8
|
import { useGridFilterOptionsForExpressionEditorProps } from '../../../GridFilter/useGridFilterOptionsForExpressionEditor';
|
|
9
|
+
import { Box } from '../../../../components/Flex';
|
|
10
10
|
export const isGridFiltersValid = (layout, api) => {
|
|
11
11
|
const expression = layout?.GridFilter?.Expression;
|
|
12
12
|
if (StringExtensions.IsNullOrEmpty(expression)) {
|
|
@@ -17,7 +17,7 @@ export const isGridFiltersValid = (layout, api) => {
|
|
|
17
17
|
};
|
|
18
18
|
export const GridFilterSectionSummary = () => {
|
|
19
19
|
const { data: layout } = useOnePageAdaptableWizardContext();
|
|
20
|
-
return (React.createElement(Box, null, React.createElement(Tag, {
|
|
20
|
+
return (React.createElement(Box, null, React.createElement(Tag, { className: "twa:mb-1 twa:mr-1" }, layout?.GridFilter?.Expression ?? 'No Grid Filter')));
|
|
21
21
|
};
|
|
22
22
|
export const GridFilterSection = (props) => {
|
|
23
23
|
const { api } = useAdaptable();
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Box, Flex, Text } from 'rebass';
|
|
3
2
|
import { CheckBox } from '../../../../components/CheckBox';
|
|
4
3
|
import DropdownButton from '../../../../components/DropdownButton';
|
|
5
4
|
import FormLayout, { FormRow } from '../../../../components/FormLayout';
|
|
@@ -13,6 +12,7 @@ import { columnFilter } from './Utilities';
|
|
|
13
12
|
import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
|
|
14
13
|
import StringExtensions from '../../../../Utilities/Extensions/StringExtensions';
|
|
15
14
|
import { Select } from '../../../../components/Select';
|
|
15
|
+
import { Box, Flex } from '../../../../components/Flex';
|
|
16
16
|
const PivotColumnRow = (props) => {
|
|
17
17
|
const adaptable = useAdaptable();
|
|
18
18
|
const aggValue = (props.layout.PivotAggregationColumns || []).find((x) => x.ColumnId === props.column.columnId)?.AggFunc;
|
|
@@ -171,19 +171,18 @@ const PivotColumnRow = (props) => {
|
|
|
171
171
|
}));
|
|
172
172
|
return (React.createElement(Box, { "data-name": props.column.columnId, className: "ab-Layout-Wizard__ColumnRow" },
|
|
173
173
|
React.createElement(Flex, { alignItems: "flex-start" },
|
|
174
|
-
React.createElement(Flex, {
|
|
175
|
-
React.createElement(Flex, {
|
|
176
|
-
aggValue && (React.createElement(DropdownButton, { columns: ['label'], items: aggOptions,
|
|
177
|
-
currentAggFnName === WEIGHTED_AVERAGE_AGG_FN_NAME && (React.createElement(Flex, {
|
|
178
|
-
React.createElement(
|
|
174
|
+
React.createElement(Flex, { className: "twa:flex-[0_0_auto]", alignItems: "center" },
|
|
175
|
+
React.createElement(Flex, { className: "twa:min-w-[80px]" }, props.column.friendlyName),
|
|
176
|
+
aggValue && (React.createElement(DropdownButton, { columns: ['label'], items: aggOptions, className: "twa:ml-2" }, currentAggFnName)),
|
|
177
|
+
currentAggFnName === WEIGHTED_AVERAGE_AGG_FN_NAME && (React.createElement(Flex, { className: "twa:bg-primary twa:ml-3", alignItems: "center" },
|
|
178
|
+
React.createElement(Box, null, "Weight"),
|
|
179
179
|
' ',
|
|
180
|
-
React.createElement(DropdownButton, { columns: ['label'], items: numericColumnsOptions,
|
|
181
|
-
aggValue && (React.createElement(Flex, {
|
|
182
|
-
React.createElement(
|
|
180
|
+
React.createElement(DropdownButton, { columns: ['label'], items: numericColumnsOptions, className: "twa:ml-2" }, weightName))),
|
|
181
|
+
aggValue && (React.createElement(Flex, { className: "twa:bg-primary twa:ml-3", alignItems: "center" },
|
|
182
|
+
React.createElement(Box, null, "Total"),
|
|
183
183
|
' ',
|
|
184
|
-
React.createElement(DropdownButton, { columns: ['label'], items: totalOptions,
|
|
185
|
-
hasPivotSpecificTotals && (React.createElement(Flex, {
|
|
186
|
-
minWidth: '200px',
|
|
184
|
+
React.createElement(DropdownButton, { columns: ['label'], items: totalOptions, className: "twa:ml-2" }, currentTotal)))),
|
|
185
|
+
hasPivotSpecificTotals && (React.createElement(Flex, { className: "twa:ml-2 twa:pl-2 twa:flex-[1_1_auto] twa:min-w-[200px]", flexWrap: "wrap", alignItems: "center", style: {
|
|
187
186
|
borderLeft: '1px solid var(--ab-color-text-on-primary)',
|
|
188
187
|
rowGap: '8px',
|
|
189
188
|
columnGap: '12px',
|
|
@@ -201,7 +200,7 @@ const PivotColumnRow = (props) => {
|
|
|
201
200
|
? 'After'
|
|
202
201
|
: 'Off';
|
|
203
202
|
return (React.createElement(Flex, { key: pivotColId, alignItems: "center" },
|
|
204
|
-
React.createElement(
|
|
203
|
+
React.createElement(Box, { className: "twa:mr-1" },
|
|
205
204
|
adaptable.api.columnApi.getFriendlyNameForColumnId(pivotColId),
|
|
206
205
|
":"),
|
|
207
206
|
React.createElement(DropdownButton, { columns: ['label'], items: pivotTotalOptions.map((opt) => ({
|
|
@@ -334,7 +333,7 @@ export const PivotAggregationsSection = (props) => {
|
|
|
334
333
|
});
|
|
335
334
|
}, isClearable: true })),
|
|
336
335
|
React.createElement(FormRow, { label: 'Pivot Grand Total' },
|
|
337
|
-
React.createElement(Select, {
|
|
336
|
+
React.createElement(Select, { className: "twa:w-[160px]", options: ['before', 'after'].map((position) => {
|
|
338
337
|
return {
|
|
339
338
|
label: StringExtensions.CapitaliseFirstLetter(position),
|
|
340
339
|
value: position,
|
|
@@ -355,8 +354,6 @@ export const PivotAggregationsSection = (props) => {
|
|
|
355
354
|
...layout,
|
|
356
355
|
PivotColumnTotal: value,
|
|
357
356
|
});
|
|
358
|
-
}, isClearable: true })) : (React.createElement(
|
|
359
|
-
React.createElement(ValueSelector, { showFilterInput: true,
|
|
360
|
-
return `Active aggregations:`;
|
|
361
|
-
}, onChange: handleColumnsSelectionChange }))));
|
|
357
|
+
}, isClearable: true })) : (React.createElement(Box, { className: "twa:ml-1 twa:italic" }, isPivotColumnTotalEnabled))))),
|
|
358
|
+
React.createElement(ValueSelector, { showFilterInput: true, filter: columnFilter, toIdentifier: (option) => `${option.columnId}`, toLabel: (option) => option.friendlyName ?? option.columnId, toListLabel: (column) => (React.createElement(PivotColumnRow, { onChangeAggFunction: handleAggregationChange, layout: layout, column: column, aggregationColumnsMap: aggregationColumnsMap, numberColumns: numberColumns })), options: sortedAggregableColumns, value: (layout.PivotAggregationColumns || []).map((col) => col.ColumnId), allowReorder: true, onChange: handleColumnsSelectionChange }))));
|
|
362
359
|
};
|