@adaptabletools/adaptable-cjs 23.0.0-canary.5 → 23.0.0-canary.7
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/sort-asc.svg +1 -1
- package/index.css +756 -257
- package/package.json +1 -1
- package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
- package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
- package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
- package/src/AdaptableState/Common/Enums.d.ts +1 -1
- package/src/AdaptableState/Common/Enums.js +1 -1
- package/src/AdaptableState/StyledColumnState.d.ts +2 -2
- package/src/Api/Internal/AlertInternalApi.js +1 -1
- package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
- package/src/Api/Internal/DataSetInternalApi.js +73 -13
- package/src/Redux/Store/AdaptableStore.js +6 -4
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/ColumnFilterModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +6 -2
- package/src/Strategy/FormatColumnModule.js +1 -1
- package/src/Strategy/FreeTextColumnModule.js +38 -28
- package/src/Strategy/Interface/IModule.d.ts +3 -1
- package/src/Strategy/LayoutModule.js +15 -66
- package/src/Strategy/StyledColumnModule.js +11 -28
- package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
- package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
- package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
- package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +17 -1
- package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
- package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +5 -1
- package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
- package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +111 -0
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +177 -0
- package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
- package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
- package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
- package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +97 -0
- package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +48 -42
- package/src/Utilities/Helpers/FormatHelper.js +3 -0
- package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
- package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
- package/src/Utilities/Helpers/StyleHelper.js +30 -1
- package/src/Utilities/Helpers/StyledColumnGradientHelper.js +6 -4
- package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
- package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +19 -0
- package/src/Utilities/getScopeViewItems.js +2 -0
- package/src/Utilities/wizardSelection.d.ts +10 -0
- package/src/Utilities/wizardSelection.js +22 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
- package/src/View/Alert/AlertViewPanel.js +2 -2
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -6
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
- package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +3 -4
- package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
- package/src/View/Alert/Wizard/AlertWizard.js +3 -3
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -14
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +29 -3
- package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
- package/src/View/Charting/ShowChartButton.js +8 -8
- package/src/View/ColumnInfo/ColumnInfo.js +21 -1
- package/src/View/Components/AdaptableObjectCollection/index.js +2 -3
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -4
- package/src/View/Components/AdaptableObjectRow/index.js +2 -2
- package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
- package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
- package/src/View/Components/Buttons/ButtonNew.js +1 -1
- package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +2 -2
- package/src/View/Components/ColumnFilter/ColumnFilter.js +1 -2
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +0 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +3 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
- package/src/View/Components/ColumnSelector/index.d.ts +12 -0
- package/src/View/Components/ColumnSelector/index.js +30 -6
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
- package/src/View/Components/ModuleValueSelector/index.js +2 -1
- package/src/View/Components/NewScopeComponent.js +3 -8
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
- package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -4
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
- package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
- package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +5 -0
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +27 -28
- package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
- package/src/View/Components/RangesComponent.d.ts +2 -4
- package/src/View/Components/RangesComponent.js +95 -66
- package/src/View/Components/ReorderDraggable/index.js +2 -3
- package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
- package/src/View/Components/StyleComponent.js +30 -63
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +9 -6
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -80
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +81 -0
- package/src/View/Components/ValueSelector/index.d.ts +29 -0
- package/src/View/Components/ValueSelector/index.js +112 -29
- package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
- package/src/View/Components/wizardColumnListStyles.js +13 -0
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -6
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
- package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
- package/src/View/Dashboard/DashboardPopup.js +3 -67
- package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
- package/src/View/Dashboard/DashboardPopupSections.js +73 -0
- package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
- package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
- package/src/View/DataChangeHistory/DataChangeHistoryTable.js +99 -0
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
- package/src/View/DataChangeHistory/buildActionColumnButton.js +33 -41
- package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
- package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +46 -0
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
- package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
- package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
- package/src/View/Export/ExportDestinationPicker.js +4 -5
- package/src/View/Export/ExportViewPanel.js +2 -2
- package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +2 -7
- package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -5
- package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
- package/src/View/FlashingCell/FlashingCellStyle.js +5 -3
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +5 -9
- package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
- package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +10 -0
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +5 -1
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +3 -8
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -2
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +101 -44
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -6
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +55 -15
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -9
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -9
- package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
- package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
- package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -3
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
- package/src/View/Layout/LayoutViewPanel.js +2 -2
- package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
- package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +77 -33
- package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +154 -275
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +146 -143
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +22 -10
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +21 -10
- package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +23 -12
- package/src/View/Layout/Wizard/sections/RowSelectionSection.js +7 -3
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +10 -10
- package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
- package/src/View/Layout/Wizard/sections/SortSection.js +43 -18
- package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
- package/src/View/Layout/Wizard/sections/columnLayoutCards.js +167 -0
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +216 -0
- package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
- package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +72 -0
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +57 -0
- package/src/View/License/LicenseWatermark.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
- package/src/View/Note/NoteEditor.js +2 -2
- package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +2 -2
- package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
- package/src/View/StateManagement/StateManagementPopup.js +1 -1
- package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
- package/src/View/StateManagement/components/ExportDropdown.js +12 -13
- package/src/View/StatusBar/StatusBarPanel.js +2 -2
- package/src/View/StatusBar/StatusBarPopup.js +33 -5
- package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
- package/src/View/StatusBar/statusBarPanelHelpers.js +11 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +2 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +13 -10
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +137 -119
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +7 -13
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
- package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +54 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +28 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +8 -17
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +46 -28
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +97 -42
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +31 -45
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +10 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +93 -6
- package/src/View/UIHelper.d.ts +0 -2
- package/src/View/UIHelper.js +8 -24
- package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
- package/src/View/Wizard/CollapsibleWizardCard.js +90 -0
- package/src/View/Wizard/OnePageWizards.js +6 -6
- package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
- package/src/View/Wizard/SummaryColorTag.js +79 -0
- package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
- package/src/View/Wizard/WizardTypeSelection.js +40 -0
- package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
- package/src/View/Wizard/rowGroupSummaryTags.js +21 -0
- package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
- package/src/View/Wizard/scopeSummaryTags.js +38 -0
- package/src/agGrid/AdaptableAgGrid.js +1 -1
- package/src/agGrid/AgGridAdapter.js +0 -5
- package/src/agGrid/AgGridColumnAdapter.js +1 -1
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
- package/src/components/Card/index.js +5 -7
- package/src/components/CheckBox/index.js +2 -3
- package/src/components/CodeBlock/index.js +2 -3
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
- package/src/components/ColorPicker/ColorPicker.js +8 -6
- package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
- package/src/components/ColorPicker/OptionalColorPicker.js +31 -0
- package/src/components/ColorPicker/index.d.ts +1 -0
- package/src/components/ColorPicker/index.js +1 -0
- package/src/components/Combobox/comboboxUtils.d.ts +1 -0
- package/src/components/Combobox/index.js +19 -18
- package/src/components/Dashboard/DashboardManager.js +2 -4
- package/src/components/Dialog/index.js +4 -4
- package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
- package/src/components/DragAndDropContext/DragAndDropContext.js +4 -1
- package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
- package/src/components/DragAndDropContext/ModuleManager.js +43 -4
- package/src/components/DragAndDropContext/TabList.d.ts +11 -4
- package/src/components/DragAndDropContext/TabList.js +52 -38
- package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
- package/src/components/DragAndDropContext/UnusedPanel.js +13 -9
- package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
- package/src/components/DragAndDropContext/dragScope.js +34 -0
- package/src/components/DragAndDropContext/types.d.ts +7 -0
- package/src/components/DropdownButton/index.d.ts +33 -25
- package/src/components/DropdownButton/index.js +24 -158
- package/src/components/EmptyContent/index.js +2 -3
- package/src/components/ErrorBox/index.js +2 -3
- package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -9
- package/src/components/FieldWrap/index.js +2 -3
- package/src/components/Flex.js +2 -2
- package/src/components/FormLayout/index.d.ts +1 -1
- package/src/components/HelpBlock/index.js +3 -4
- package/src/components/IconSelector/IconSelector.d.ts +8 -0
- package/src/components/IconSelector/IconSelector.js +13 -8
- package/src/components/IconSelector/index.d.ts +1 -0
- package/src/components/IconSelector/index.js +3 -0
- package/src/components/Modal/index.js +2 -2
- package/src/components/NewSelect/index.js +11 -1
- package/src/components/Panel/index.js +7 -7
- package/src/components/Radio/index.d.ts +1 -1
- package/src/components/Radio/index.js +8 -6
- package/src/components/SimpleButton/index.js +7 -7
- package/src/components/StylePreview.js +2 -3
- package/src/components/Tabs/index.js +4 -4
- package/src/components/Tag/Tag.d.ts +16 -0
- package/src/components/Tag/Tag.js +16 -5
- package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
- package/src/components/Tag/columnScopeTagHelpers.js +12 -0
- package/src/components/Tag/index.d.ts +1 -1
- package/src/components/Tag/index.js +3 -1
- package/src/components/Textarea/index.js +2 -3
- package/src/components/Toggle/Toggle.d.ts +2 -0
- package/src/components/Toggle/Toggle.js +14 -7
- package/src/components/Toggle/ToggleGroup.js +2 -2
- package/src/components/ToggleButton/index.js +4 -5
- package/src/components/Tree/TreeDropdown/index.js +3 -5
- package/src/components/WarningBox/index.js +2 -3
- package/src/components/icons/sort-asc.js +1 -1
- package/src/components/ui/button.d.ts +2 -2
- package/src/components/ui/combobox.d.ts +3 -1
- package/src/components/ui/combobox.js +2 -2
- package/src/components/ui/input-group.d.ts +1 -1
- package/src/components/ui/select.js +3 -2
- package/src/components/ui/textarea.js +1 -1
- package/src/env.js +2 -2
- package/src/layout-manager/src/index.js +7 -3
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -295
- package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
- package/src/components/DropdownButton/DropdownButtonItem.js +0 -2
- package/src/components/DropdownButton/renderItem.d.ts +0 -14
- package/src/components/DropdownButton/renderItem.js +0 -14
- package/src/components/DropdownButton/useExpanded.d.ts +0 -24
- package/src/components/DropdownButton/useExpanded.js +0 -59
- package/src/components/NewDropdownButton/index.d.ts +0 -27
- package/src/components/NewDropdownButton/index.js +0 -28
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FormatColumnScopeWizardSection = exports.renderFormatColumnScopeSummary = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
5
|
const NewScopeComponent_1 = require("../../Components/NewScopeComponent");
|
|
7
6
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
@@ -9,15 +8,16 @@ const AdaptableContext_1 = require("../../AdaptableContext");
|
|
|
9
8
|
const AdaptableColumn_1 = require("../../../AdaptableState/Common/AdaptableColumn");
|
|
10
9
|
const ColumnScope_1 = require("../../../AdaptableState/Common/ColumnScope");
|
|
11
10
|
const Flex_1 = require("../../../components/Flex");
|
|
12
|
-
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
13
11
|
const CheckBox_1 = require("../../../components/CheckBox");
|
|
14
12
|
const Tag_1 = require("../../../components/Tag");
|
|
13
|
+
const CollapsibleWizardCard_1 = require("../../Wizard/CollapsibleWizardCard");
|
|
14
|
+
const utils_1 = require("../../../lib/utils");
|
|
15
15
|
const FORMAT_COLUMN_ROW_KINDS = ['Data', 'Group', 'Summary', 'Total'];
|
|
16
16
|
const ROW_KIND_LABELS = {
|
|
17
|
-
Data: 'Data (leaf)
|
|
18
|
-
Group: 'Group
|
|
19
|
-
Summary: 'Summary
|
|
20
|
-
Total: 'Total
|
|
17
|
+
Data: 'Data (leaf) Rows',
|
|
18
|
+
Group: 'Group Rows',
|
|
19
|
+
Summary: 'Summary Rows',
|
|
20
|
+
Total: 'Total Rows',
|
|
21
21
|
};
|
|
22
22
|
const ROW_KIND_EXCLUDE_KEY = {
|
|
23
23
|
Data: 'ExcludeDataRows',
|
|
@@ -35,6 +35,18 @@ const isRowKindIncluded = (data, kind) => {
|
|
|
35
35
|
const collectIncludedRowKinds = (data) => {
|
|
36
36
|
return FORMAT_COLUMN_ROW_KINDS.filter((k) => isRowKindIncluded(data, k));
|
|
37
37
|
};
|
|
38
|
+
const isFormatColumnColumnsScopeConfigured = (scope, scopeApi) => {
|
|
39
|
+
if (scopeApi.scopeIsAll(scope)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if ('ColumnIds' in scope) {
|
|
43
|
+
return scope.ColumnIds.length > 0;
|
|
44
|
+
}
|
|
45
|
+
if ('DataTypes' in scope) {
|
|
46
|
+
return scope.DataTypes.length > 0;
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
};
|
|
38
50
|
const FormatColumnScopeSummaryContent = ({ data, }) => {
|
|
39
51
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
40
52
|
const scopeApi = adaptable.api.columnScopeApi;
|
|
@@ -43,24 +55,46 @@ const FormatColumnScopeSummaryContent = ({ data, }) => {
|
|
|
43
55
|
const showRows = data.Target === 'cell';
|
|
44
56
|
const includedKinds = collectIncludedRowKinds(data);
|
|
45
57
|
const allKinds = includedKinds.length === 4;
|
|
46
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:flex twa:flex-col twa:gap-3", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { children: scopeApi.scopeIsAll(scope) ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Columns ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })] })) : 'ColumnIds' in scope ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Columns", ' ', columnsInScope.length ? (columnsInScope.map((column) => ((0, jsx_runtime_1.jsx)(Tag_1.
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:flex twa:flex-col twa:gap-3", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { children: scopeApi.scopeIsAll(scope) ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Columns ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })] })) : 'ColumnIds' in scope ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Columns", ' ', columnsInScope.length ? (columnsInScope.map((column) => ((0, jsx_runtime_1.jsx)(Tag_1.ColumnTag, { className: "twa:mr-1", children: column.friendlyName }, column.columnId)))) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" }))] })) : 'DataTypes' in scope ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Data Types", ' ', scope.DataTypes.length ? (scope.DataTypes.map((dataType) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: "twa:mr-1", children: (0, AdaptableColumn_1.getColumnTypeFriendlyName)(dataType) }, dataType)))) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" }))] })) : null }), showRows && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Rows", ' ', allKinds ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })) : includedKinds.length === 0 ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) : (includedKinds.map((k) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: "twa:mr-1", children: k }, k))))] }))] }));
|
|
47
59
|
};
|
|
48
60
|
const renderFormatColumnScopeSummary = (data) => {
|
|
49
61
|
return (0, jsx_runtime_1.jsx)(FormatColumnScopeSummaryContent, { data: data });
|
|
50
62
|
};
|
|
51
63
|
exports.renderFormatColumnScopeSummary = renderFormatColumnScopeSummary;
|
|
64
|
+
const FormatColumnColumnsScopeSummary = ({ data, }) => {
|
|
65
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
66
|
+
const scopeApi = adaptable.api.columnScopeApi;
|
|
67
|
+
const scope = data.Scope;
|
|
68
|
+
const columnsInScope = scopeApi.getColumnsInScope(scope);
|
|
69
|
+
if (scopeApi.scopeIsAll(scope)) {
|
|
70
|
+
return (0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All columns in the row" }) });
|
|
71
|
+
}
|
|
72
|
+
if ('ColumnIds' in scope) {
|
|
73
|
+
return ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: columnsInScope.length ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", className: "twa:gap-1", children: columnsInScope.map((column) => ((0, jsx_runtime_1.jsx)(Tag_1.ColumnTag, { children: column.friendlyName }, column.columnId))) })) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) }));
|
|
74
|
+
}
|
|
75
|
+
if ('DataTypes' in scope) {
|
|
76
|
+
return ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: scope.DataTypes.length ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", className: "twa:gap-1", children: scope.DataTypes.map((dataType) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: (0, AdaptableColumn_1.getColumnTypeFriendlyName)(dataType) }, dataType))) })) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) }));
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
};
|
|
80
|
+
const FormatColumnRowsScopeSummary = ({ data, }) => {
|
|
81
|
+
const includedKinds = collectIncludedRowKinds(data);
|
|
82
|
+
const allKinds = includedKinds.length === 4;
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: allKinds ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })) : includedKinds.length === 0 ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", className: "twa:gap-1", children: includedKinds.map((kind) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: ROW_KIND_LABELS[kind] }, kind))) })) }));
|
|
84
|
+
};
|
|
85
|
+
const FormatColumnRowScopePanel = ({ data, onRowKindChange, }) => ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: "twa:items-start twa:px-1 twa:py-1", style: { rowGap: 'calc(var(--ab-base-space) * 2)' }, children: FORMAT_COLUMN_ROW_KINDS.map((kind) => ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": `include-${kind.toLowerCase()}-rows-checkbox`, checked: isRowKindIncluded(data, kind), onChange: (checked) => onRowKindChange(kind, checked), children: ROW_KIND_LABELS[kind] }, kind))) }));
|
|
52
86
|
// ---------------------------------------------------------------------------
|
|
53
87
|
// Section
|
|
54
88
|
// ---------------------------------------------------------------------------
|
|
55
89
|
const FormatColumnScopeWizardSection = (props) => {
|
|
56
90
|
const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
91
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
92
|
+
const scopeApi = adaptable.api.columnScopeApi;
|
|
57
93
|
const handleScopeChange = (Scope) => {
|
|
58
94
|
const newData = { ...data, Scope };
|
|
59
95
|
const wholeRow = api.columnScopeApi.scopeIsAll(Scope);
|
|
60
96
|
if (newData.Rule?.Predicates?.length) {
|
|
61
97
|
if (wholeRow) {
|
|
62
|
-
// if scope is whole row, a predicate cannot be present, so we set the rule
|
|
63
|
-
// to be a boolean expression
|
|
64
98
|
delete newData.Rule.Predicates;
|
|
65
99
|
newData.Rule.BooleanExpression = '';
|
|
66
100
|
}
|
|
@@ -68,8 +102,6 @@ const FormatColumnScopeWizardSection = (props) => {
|
|
|
68
102
|
const validPredicateIds = new Set(api.formatColumnApi.internalApi.getFormatColumnDefsForScope(Scope).map((def) => def.id));
|
|
69
103
|
newData.Rule = {
|
|
70
104
|
Predicates: newData.Rule.Predicates.filter((p) => validPredicateIds.has(p.PredicateId)).filter((predicate) => {
|
|
71
|
-
// if there are more than 1 column, then we must eliminate the IN/NotIn predicates
|
|
72
|
-
// TODO: this should NOT be required, but the ColumnValueSelector does NOT support creatable values right now
|
|
73
105
|
if ((0, ColumnScope_1.isScopeColumnIds)(Scope) && Scope.ColumnIds.length > 1) {
|
|
74
106
|
return predicate.PredicateId !== 'In' && predicate.PredicateId !== 'NotIn';
|
|
75
107
|
}
|
|
@@ -90,9 +122,17 @@ const FormatColumnScopeWizardSection = (props) => {
|
|
|
90
122
|
});
|
|
91
123
|
};
|
|
92
124
|
const showRowToggles = data.Target === 'cell';
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
125
|
+
const scope = data.Scope;
|
|
126
|
+
const columnsScopeConfigured = isFormatColumnColumnsScopeConfigured(scope, scopeApi);
|
|
127
|
+
const includedRowKinds = collectIncludedRowKinds(data);
|
|
128
|
+
const allRowKindsIncluded = includedRowKinds.length === 4;
|
|
129
|
+
const initialExpandedCardId = columnsScopeConfigured ? null : 'columns';
|
|
130
|
+
const { bindCard, hasExpandedCard, expandedFillsSpace } = (0, CollapsibleWizardCard_1.useWizardCardAccordion)(initialExpandedCardId, { fillExpandedCard: true });
|
|
131
|
+
const columnsCompactSummary = scopeApi.scopeIsAll(scope) ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All columns" })) : 'ColumnIds' in scope ? ((0, CollapsibleWizardCard_1.renderCompactColumnTags)(scope.ColumnIds, (columnId) => adaptable.api.columnApi.getFriendlyNameForColumnId(columnId), { emptyLabel: 'No columns' })) : 'DataTypes' in scope ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-1 twa:min-w-0 twa:overflow-hidden", children: scope.DataTypes.length ? (scope.DataTypes.map((dataType) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: "twa:shrink-0", children: (0, AdaptableColumn_1.getColumnTypeFriendlyName)(dataType) }, dataType)))) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) })) : null;
|
|
132
|
+
const rowsCompactSummary = allRowKindsIncluded ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })) : includedRowKinds.length === 0 ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-1 twa:min-w-0 twa:overflow-hidden", children: includedRowKinds.map((kind) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: "twa:shrink-0", children: kind }, kind))) }));
|
|
133
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: (0, utils_1.cn)((0, CollapsibleWizardCard_1.getWizardAccordionSectionClassName)(hasExpandedCard, expandedFillsSpace), 'twa:p-2'), children: [(0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('columns', { fillAvailable: true }), surface: "panel", "data-name": "format-column-scope-columns", title: "Columns", help: "Which Columns the Format Column will be applied to", collapsedHelp: "Columns the Format Column applies to", compactSummary: columnsCompactSummary, summary: (0, jsx_runtime_1.jsx)(FormatColumnColumnsScopeSummary, { data: data }), className: "twa:overflow-hidden twa:flex twa:flex-col", bodyClassName: "twa:min-h-[200px] twa:max-h-[420px] twa:overflow-hidden twa:flex twa:flex-col twa:!pt-0 twa:!pb-0 twa:px-1", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:min-h-0 twa:overflow-auto twa:h-full", children: (0, jsx_runtime_1.jsx)(NewScopeComponent_1.NewScopeComponent, { descriptions: {
|
|
134
|
+
rowScope: 'Format all Columns in the Row',
|
|
135
|
+
columnScope: 'Select Columns to format',
|
|
136
|
+
}, scope: data.Scope, updateScope: handleScopeChange }) }) }), showRowToggles && ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('rows'), surface: "panel", "data-name": "format-column-scope-rows", title: "Rows", help: "Which kinds of Rows the Format Column will be applied to", collapsedHelp: "Row kinds the Format Column applies to", compactSummary: rowsCompactSummary, summary: (0, jsx_runtime_1.jsx)(FormatColumnRowsScopeSummary, { data: data }), children: (0, jsx_runtime_1.jsx)(FormatColumnRowScopePanel, { data: data, onRowKindChange: handleRowKindChange }) }))] }));
|
|
97
137
|
};
|
|
98
138
|
exports.FormatColumnScopeWizardSection = FormatColumnScopeWizardSection;
|
|
@@ -62,7 +62,7 @@ const FormatColumnSettingsWizardSection = (props) => {
|
|
|
62
62
|
});
|
|
63
63
|
};
|
|
64
64
|
const behaviourSpellingVariant = api.internalApi.getCorrectEnglishVariant('Behaviour');
|
|
65
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Provide a unique name for the Format Column" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { ref: nameInputRef, className: "twa:max-w-[300px] twa:w-full", "data-name": "format-column-name", onChange: onNameChange, value: data?.Name ?? '' }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Target" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[700px]", children: "Choose whether Format Column applies to Column Cells or Column Header (latter doesn't support Conditions)" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "target-column-cell", text: 'Column Cells', description: "", checked: currentTarget === 'cell', onClick: () => handleTargetChange('cell') }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "target-column-header", text: 'Column Header', description: "", checked: currentTarget === 'columnHeader', onClick: () => handleTargetChange('columnHeader') })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:font-medium", children: ["Column Group ", behaviourSpellingVariant] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose when the Format Column is applied
|
|
65
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Provide a unique name for the Format Column" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { ref: nameInputRef, className: "twa:max-w-[300px] twa:w-full", "data-name": "format-column-name", onChange: onNameChange, value: data?.Name ?? '' }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Target" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[700px]", children: "Choose whether Format Column applies to Column Cells or Column Header (latter doesn't support Conditions)" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "target-column-cell", text: 'Column Cells', description: "", checked: currentTarget === 'cell', onClick: () => handleTargetChange('cell') }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "target-column-header", text: 'Column Header', description: "", checked: currentTarget === 'columnHeader', onClick: () => handleTargetChange('columnHeader') })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:font-medium", children: ["Column Group ", behaviourSpellingVariant] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose when the Format Column is applied in a Column Group" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Radio_1.RadioGroup, { value: data.ColumnGroupScope || 'Both', name: "columnGroupScope", orientation: "horizontal", onRadioChange: (columnGroupScope) => {
|
|
66
66
|
props.onChange({
|
|
67
67
|
...data,
|
|
68
68
|
ColumnGroupScope: columnGroupScope,
|
|
@@ -6,8 +6,7 @@ type FormatColumnStyleWizardSectionProps = {
|
|
|
6
6
|
onChange: (data: FormatColumn) => void;
|
|
7
7
|
};
|
|
8
8
|
export declare const hasFormatColumnStyle: (formatColumn: FormatColumn) => boolean;
|
|
9
|
-
export declare const getFormatColumnStyleViewValues: (formatColumn: FormatColumn) =>
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const renderFormatColumnStyleSummary: (data: FormatColumn, _api: AdaptableApi) => React.JSX.Element;
|
|
9
|
+
export declare const getFormatColumnStyleViewValues: (formatColumn: FormatColumn) => React.ReactNode[];
|
|
10
|
+
export declare const renderFormatColumnStyleSummary: (data: FormatColumn) => React.JSX.Element;
|
|
12
11
|
export declare function FormatColumnStyleWizardSection(props: FormatColumnStyleWizardSectionProps): React.JSX.Element;
|
|
13
12
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderFormatColumnStyleSummary = exports.
|
|
3
|
+
exports.renderFormatColumnStyleSummary = exports.getFormatColumnStyleViewValues = exports.hasFormatColumnStyle = exports.isFormatColumnStyleValid = void 0;
|
|
4
4
|
exports.FormatColumnStyleWizardSection = FormatColumnStyleWizardSection;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -10,6 +10,7 @@ const UIHelper_1 = tslib_1.__importDefault(require("../../UIHelper"));
|
|
|
10
10
|
const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
|
|
11
11
|
const Flex_1 = require("../../../components/Flex");
|
|
12
12
|
const Tag_1 = require("../../../components/Tag");
|
|
13
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
13
14
|
const FormatColumnPreview_1 = require("./FormatColumnPreview");
|
|
14
15
|
const isFormatColumnStyleValid = (data, api) => {
|
|
15
16
|
if (data.Style &&
|
|
@@ -67,15 +68,10 @@ const hasFormatColumnStyle = (formatColumn) => {
|
|
|
67
68
|
};
|
|
68
69
|
exports.hasFormatColumnStyle = hasFormatColumnStyle;
|
|
69
70
|
const getFormatColumnStyleViewValues = (formatColumn) => {
|
|
70
|
-
return getFormatColumnStyleSummaryItems(formatColumn).map(({ label, value }) => `${label}: ${value}`);
|
|
71
|
+
return (0, SummaryColorTag_1.summaryStringsToTagContents)(getFormatColumnStyleSummaryItems(formatColumn).map(({ label, value }) => `${label}: ${value}`));
|
|
71
72
|
};
|
|
72
73
|
exports.getFormatColumnStyleViewValues = getFormatColumnStyleViewValues;
|
|
73
|
-
const
|
|
74
|
-
const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
75
|
-
return (0, exports.renderFormatColumnStyleSummary)(data, api);
|
|
76
|
-
};
|
|
77
|
-
exports.renderFormatColumnStyleWizardSummary = renderFormatColumnStyleWizardSummary;
|
|
78
|
-
const renderFormatColumnStyleSummary = (data, _api) => {
|
|
74
|
+
const renderFormatColumnStyleSummary = (data) => {
|
|
79
75
|
const hasStyle = data.Style != null && UIHelper_1.default.IsNotEmptyStyle(data.Style);
|
|
80
76
|
if (!hasStyle) {
|
|
81
77
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Style" });
|
|
@@ -84,7 +80,7 @@ const renderFormatColumnStyleSummary = (data, _api) => {
|
|
|
84
80
|
if (!items.length) {
|
|
85
81
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Style" });
|
|
86
82
|
}
|
|
87
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:grid twa:grid-cols-2 twa:gap-2", children: items.map(({ label, value }) => ((0, jsx_runtime_1.
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:grid twa:grid-cols-2 twa:gap-2", children: items.map(({ label, value }) => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, SummaryColorTag_1.isSummaryInTagLabel)(label) ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: (0, SummaryColorTag_1.renderSummaryLabelValueTagContent)(label, value) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [label, " ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: value })] })) }, label))) }));
|
|
88
84
|
};
|
|
89
85
|
exports.renderFormatColumnStyleSummary = renderFormatColumnStyleSummary;
|
|
90
86
|
function FormatColumnStyleWizardSection(props) {
|
|
@@ -105,10 +105,7 @@ function FormatColumnWizard(props) {
|
|
|
105
105
|
// DisplayFormat object so we don't persist an empty shell. Preset
|
|
106
106
|
// strings are always meaningful and should never be removed here.
|
|
107
107
|
const df = formatColumn?.DisplayFormat;
|
|
108
|
-
if (df &&
|
|
109
|
-
!(0, AdaptableFormatPresets_1.isAdaptableNumericFormatPreset)(df) &&
|
|
110
|
-
df.Options &&
|
|
111
|
-
(0, ObjectExtensions_1.isObjectEmpty)(df.Options)) {
|
|
108
|
+
if (df && !(0, AdaptableFormatPresets_1.isAdaptableNumericFormatPreset)(df) && df.Options && (0, ObjectExtensions_1.isObjectEmpty)(df.Options)) {
|
|
112
109
|
delete formatColumn.DisplayFormat;
|
|
113
110
|
}
|
|
114
111
|
if (formatColumn.Style && (0, ObjectExtensions_1.isObjectEmpty)(formatColumn.Style)) {
|
|
@@ -145,9 +142,7 @@ function FormatColumnWizard(props) {
|
|
|
145
142
|
details: 'Select which Columns and Rows will be formatted',
|
|
146
143
|
isValid: NewScopeComponent_1.isScopeValid,
|
|
147
144
|
renderSummary: FormatColumnScopeWizardSection_1.renderFormatColumnScopeSummary,
|
|
148
|
-
render: () => {
|
|
149
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: "twa:h-full", children: (0, jsx_runtime_1.jsx)(FormatColumnScopeWizardSection_1.FormatColumnScopeWizardSection, { onChange: setFormatColumn }) }));
|
|
150
|
-
},
|
|
145
|
+
render: () => (0, jsx_runtime_1.jsx)(FormatColumnScopeWizardSection_1.FormatColumnScopeWizardSection, { onChange: setFormatColumn }),
|
|
151
146
|
},
|
|
152
147
|
{
|
|
153
148
|
isValid: (abObject, api, context) => {
|
|
@@ -158,7 +153,7 @@ function FormatColumnWizard(props) {
|
|
|
158
153
|
},
|
|
159
154
|
title: 'Condition',
|
|
160
155
|
details: 'Build a Rule when the Format Column should be applied',
|
|
161
|
-
renderSummary: FormatColumnRuleWizardSection_1.
|
|
156
|
+
renderSummary: FormatColumnRuleWizardSection_1.renderFormatColumnConditionSummary,
|
|
162
157
|
render: () => {
|
|
163
158
|
return ((0, jsx_runtime_1.jsx)(FormatColumnRuleWizardSection_1.FormatColumnRuleWizardSection, { onChange: setFormatColumn, defaultPredicateId: constants_1.DEFAULT_PREDICATE_ID_FOR_FORMAT_COLUMN }));
|
|
164
159
|
},
|
|
@@ -167,7 +162,7 @@ function FormatColumnWizard(props) {
|
|
|
167
162
|
title: 'Style',
|
|
168
163
|
details: 'Create a Style',
|
|
169
164
|
isValid: FormatColumnStyleWizardSection_1.isFormatColumnStyleValid,
|
|
170
|
-
renderSummary: FormatColumnStyleWizardSection_1.
|
|
165
|
+
renderSummary: FormatColumnStyleWizardSection_1.renderFormatColumnStyleSummary,
|
|
171
166
|
render: () => {
|
|
172
167
|
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(FormatColumnStyleWizardSection_1.FormatColumnStyleWizardSection, { onChange: setFormatColumn }) }));
|
|
173
168
|
},
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFreeTextColumnSettingsTags = void 0;
|
|
4
4
|
const getFreeTextColumnSettingsTags = (settings) => {
|
|
5
|
-
const {
|
|
5
|
+
const { Width, Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = settings ?? {};
|
|
6
6
|
const colTypes = settings?.ColumnTypes ? settings.ColumnTypes.join(', ') : '';
|
|
7
7
|
return [
|
|
8
|
-
DataType ? `DataType: ${DataType}` : null,
|
|
9
8
|
Width ? `Width: ${Width}px` : null,
|
|
10
9
|
Pivotable ? 'Pivotable' : null,
|
|
11
10
|
Filterable ? 'Filterable' : null,
|
|
@@ -13,6 +12,8 @@ const getFreeTextColumnSettingsTags = (settings) => {
|
|
|
13
12
|
Groupable ? 'Groupable' : null,
|
|
14
13
|
Sortable ? 'Sortable' : null,
|
|
15
14
|
Aggregatable ? 'Aggregatable' : null,
|
|
15
|
+
SuppressMenu ? 'Suppress Menu' : null,
|
|
16
|
+
SuppressMovable ? 'Suppress Movable' : null,
|
|
16
17
|
colTypes ? `Column Types: ${colTypes}` : null,
|
|
17
18
|
].filter(Boolean);
|
|
18
19
|
};
|
|
@@ -15,7 +15,6 @@ const SpecialColumnSettingsWizardStep_1 = require("../../SpecialColumnSettingsWi
|
|
|
15
15
|
const Flex_1 = require("../../../components/Flex");
|
|
16
16
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
17
17
|
const Card_1 = require("../../../components/Card");
|
|
18
|
-
const Tag_2 = require("../../../components/Tag/Tag");
|
|
19
18
|
const getFreeTextColumnSettingsTags_1 = require("../Utilities/getFreeTextColumnSettingsTags");
|
|
20
19
|
const OnePageAdaptableWizard_2 = require("../../Wizard/OnePageAdaptableWizard");
|
|
21
20
|
const dataTypeOptions = [
|
|
@@ -26,7 +25,7 @@ const dataTypeOptions = [
|
|
|
26
25
|
];
|
|
27
26
|
const renderFreeTextColumnSettingsSummary = (data) => {
|
|
28
27
|
const propertyTags = (0, getFreeTextColumnSettingsTags_1.getFreeTextColumnSettingsTags)(data.FreeTextColumnSettings);
|
|
29
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Data Type: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.FreeTextColumnSettings.DataType || 'Not specified' })] }), data.DefaultValue !== undefined ? ((0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Default Value: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: String(data.DefaultValue) })] })) : null, data.TextEditor !== undefined ? ((0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Editor Type: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.TextEditor })] })) : null, propertyTags.length ? ((0, jsx_runtime_1.
|
|
28
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Data Type: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.FreeTextColumnSettings.DataType || 'Not specified' })] }), data.DefaultValue !== undefined ? ((0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Default Value: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: String(data.DefaultValue) })] })) : null, data.TextEditor !== undefined ? ((0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Editor Type: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.TextEditor })] })) : null, propertyTags.length ? ((0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_2.SummaryText, { children: ["Properties:", ' ', propertyTags.map((tag, index) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: index > 0 ? 'twa:ml-1' : undefined, children: tag }, String(tag))))] })) : null] }));
|
|
30
29
|
};
|
|
31
30
|
exports.renderFreeTextColumnSettingsSummary = renderFreeTextColumnSettingsSummary;
|
|
32
31
|
const isValidFreeTextColumnSettings = (data) => {
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GridFilterPopupUI = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const DropdownButton_1 =
|
|
6
|
+
const DropdownButton_1 = require("../../../components/DropdownButton");
|
|
7
|
+
const icons_1 = require("../../../components/icons");
|
|
7
8
|
const FieldWrap_1 = tslib_1.__importDefault(require("../../../components/FieldWrap"));
|
|
8
9
|
const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
9
10
|
const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
|
|
@@ -27,6 +28,6 @@ const GridFilterPopupUI = (props) => {
|
|
|
27
28
|
onRunQuery();
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
|
-
return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { className: "ab-GridFilter", headerText: headerText, glyphicon: glyphicon, infoLink: infoLink, infoLinkDisabled: infoLinkDisabled, children: (0, jsx_runtime_1.jsx)(Panel_1.default, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: (0, jsx_runtime_1.jsx)(Panel_1.default.FlexBody, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:grid twa:gap-3 twa:grid-cols-[auto_1fr] twa:items-center", children: ["Expression:", (0, jsx_runtime_1.jsxs)(FieldWrap_1.default, { className: "twa:mr-1 twa:w-full", children: [(0, jsx_runtime_1.jsx)(ButtonExpand_1.ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", className: "twa:ml-1" }), (0, jsx_runtime_1.jsx)(Input_1.default, { onKeyDown: handleKeyDown, disabled: disabled, type: "text", "data-name": "grid-filter-input", placeholder: "Grid Filter", spellCheck: false, value: expression, onChange: (e) => onExpressionChange(e.target.value), className: "twa:font-mono twa:text-2" }), isExpressionValid && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { onClick: () => onRunQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "accent", disabled: disabled || expression === '' || expression === currentGridFilterExpression, className: "twa:mr-1" })), currentGridFilterExpression && !isExpressionValid && ((0, jsx_runtime_1.jsx)(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", className: "twa:mr-1" })), ' ', StringExtensions_1.default.IsNotNullOrEmpty(expression) && ((0, jsx_runtime_1.jsx)(ButtonClear_1.ButtonClear, { onClick: () => onClearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel }))] }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { justifyContent: "space-around", className: "twa:col-start-2", children: [(0, jsx_runtime_1.jsx)(ButtonSave_1.ButtonSave, { onClick: () => onSaveQuery(), tooltip: "Save as Named Query", accessLevel: namedQueryAccessLevel, disabled: disabled || !isExpressionValid || isExpressionNamedQuery || expression === '', variant: "text", tone: "neutral", className: "twa:mr-1", children: "Save" }), isSuspended ? ((0, jsx_runtime_1.jsx)(ButtonUnsuspend_1.ButtonUnsuspend, { onClick: () => onUnsuspend(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Resume" })) : ((0, jsx_runtime_1.jsx)(ButtonPause_1.ButtonPause, { onClick: () => onSuspend(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Suspend" })), (0, jsx_runtime_1.
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { className: "ab-GridFilter", headerText: headerText, glyphicon: glyphicon, infoLink: infoLink, infoLinkDisabled: infoLinkDisabled, children: (0, jsx_runtime_1.jsx)(Panel_1.default, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: (0, jsx_runtime_1.jsx)(Panel_1.default.FlexBody, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:grid twa:gap-3 twa:grid-cols-[auto_1fr] twa:items-center", children: ["Expression:", (0, jsx_runtime_1.jsxs)(FieldWrap_1.default, { className: "twa:mr-1 twa:w-full", children: [(0, jsx_runtime_1.jsx)(ButtonExpand_1.ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", className: "twa:ml-1" }), (0, jsx_runtime_1.jsx)(Input_1.default, { onKeyDown: handleKeyDown, disabled: disabled, type: "text", "data-name": "grid-filter-input", placeholder: "Grid Filter", spellCheck: false, value: expression, onChange: (e) => onExpressionChange(e.target.value), className: "twa:font-mono twa:text-2" }), isExpressionValid && ((0, jsx_runtime_1.jsx)(ButtonPlay_1.ButtonPlay, { onClick: () => onRunQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "accent", disabled: disabled || expression === '' || expression === currentGridFilterExpression, className: "twa:mr-1" })), currentGridFilterExpression && !isExpressionValid && ((0, jsx_runtime_1.jsx)(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", className: "twa:mr-1" })), ' ', StringExtensions_1.default.IsNotNullOrEmpty(expression) && ((0, jsx_runtime_1.jsx)(ButtonClear_1.ButtonClear, { onClick: () => onClearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel }))] }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { justifyContent: "space-around", className: "twa:col-start-2", children: [(0, jsx_runtime_1.jsx)(ButtonSave_1.ButtonSave, { onClick: () => onSaveQuery(), tooltip: "Save as Named Query", accessLevel: namedQueryAccessLevel, disabled: disabled || !isExpressionValid || isExpressionNamedQuery || expression === '', variant: "text", tone: "neutral", className: "twa:mr-1", children: "Save" }), isSuspended ? ((0, jsx_runtime_1.jsx)(ButtonUnsuspend_1.ButtonUnsuspend, { onClick: () => onUnsuspend(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Resume" })) : ((0, jsx_runtime_1.jsx)(ButtonPause_1.ButtonPause, { onClick: () => onSuspend(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Suspend" })), (0, jsx_runtime_1.jsxs)(DropdownButton_1.NewDropdownButton, { disabled: disabled, variant: "text", items: availableColumns, className: "twa:mr-1", tooltip: "Pick Columns", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "list" }), "Columns"] }), (0, jsx_runtime_1.jsx)(NamedQuerySelector_1.NamedQuerySelector, { disabled: disabled, namedQueries: namedQueries, cachedQueries: cachedQueries, currentQuery: currentGridFilterExpression, onSelect: (query) => onSelectNamedQuery(query), setGridFilterExpression: (query) => onSetGridFilterExpression(query), children: "Named Queries" })] })] }) }) }) }));
|
|
31
32
|
};
|
|
32
33
|
exports.GridFilterPopupUI = GridFilterPopupUI;
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GridFilterPanelControl = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
7
6
|
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
8
7
|
const FieldWrap_1 = tslib_1.__importDefault(require("../../components/FieldWrap"));
|
|
9
8
|
const ButtonClear_1 = require("../Components/Buttons/ButtonClear");
|
|
@@ -17,6 +16,7 @@ const useGridFilterExpressionEditor_1 = require("./useGridFilterExpressionEditor
|
|
|
17
16
|
const Flex_1 = require("../../components/Flex");
|
|
18
17
|
const Tooltip_1 = tslib_1.__importDefault(require("../../components/Tooltip"));
|
|
19
18
|
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
19
|
+
const utils_1 = require("../../lib/utils");
|
|
20
20
|
const QueryViewPanelComponent = (props) => {
|
|
21
21
|
const { cachedQueries, expression, isExpressionNamedQuery, isExpressionValid, isSuspended, gridFilter, isAdaptableReady, namedQueries, runQuery, onExpand, clearQuery, namedQueryModuleAccessLevel, saveQuery, suspendGridFilter, unSuspendGridFilter, setGridFilterExpression, gridFilterAccessLevel, isReadOnly, } = (0, useGridFilterExpressionEditor_1.useGridFilterExpressionEditor)();
|
|
22
22
|
if (!isAdaptableReady) {
|
|
@@ -28,10 +28,10 @@ const QueryViewPanelComponent = (props) => {
|
|
|
28
28
|
const renderExpressionLabel = () => {
|
|
29
29
|
const baseClasses = 'twa:font-mono twa:text-s twa:py-2 twa:px-2 twa:overflow-hidden twa:text-ellipsis twa:whitespace-nowrap twa:bg-background twa:text-foreground twa:rounded twa:cursor-pointer twa:leading-4 twa:flex twa:items-center';
|
|
30
30
|
const placeholderClasses = 'twa:text-gray-400 twa:italic';
|
|
31
|
-
const labelClassName = (0,
|
|
31
|
+
const labelClassName = (0, utils_1.cn)(baseClasses, {
|
|
32
32
|
[placeholderClasses]: !expression,
|
|
33
33
|
});
|
|
34
|
-
const expressionLabel = ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: expression || 'Click to edit Grid Filter', children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: (0,
|
|
34
|
+
const expressionLabel = ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { label: expression || 'Click to edit Grid Filter', children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: (0, utils_1.cn)('twa:flex-1 twa:h-full twa:min-w-0', labelClassName), "data-name": "grid-filter-input", onClick: onExpand, children: expression || 'Grid Filter...' }) }));
|
|
35
35
|
return ((0, jsx_runtime_1.jsxs)(FieldWrap_1.default, { className: "twa:flex-1 twa:min-w-0 twa:min-h-input twa:overflow-visible", children: [buttonExpand, expressionLabel, gridFilter && !isExpressionValid && ((0, jsx_runtime_1.jsx)(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter" }))] }));
|
|
36
36
|
};
|
|
37
37
|
const hasExpression = StringExtensions_1.default.IsNotNullOrEmpty(expression);
|
|
@@ -46,9 +46,9 @@ const QueryViewPanelComponent = (props) => {
|
|
|
46
46
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [clearButton, isSuspended ? unSuspendButton : suspendButton, saveButton, namedQuerySelector] }));
|
|
47
47
|
};
|
|
48
48
|
const isToolbar = props.viewType === 'Toolbar';
|
|
49
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: isToolbar ? 'row' : 'column', className: (0,
|
|
49
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: isToolbar ? 'row' : 'column', className: (0, utils_1.cn)(`ab-${elementType}__Query__wrap`, {
|
|
50
50
|
'twa:w-[500px]': isToolbar,
|
|
51
|
-
}), children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0,
|
|
51
|
+
}), children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, utils_1.cn)({ 'twa:flex-1 twa:min-w-0': isToolbar }), children: renderExpressionLabel() }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { className: (0, utils_1.cn)('twa:flex-shrink-0', {
|
|
52
52
|
'twa:pl-1': isToolbar,
|
|
53
53
|
'twa:pt-1': !isToolbar,
|
|
54
54
|
}), children: renderButtons() })] }));
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AdaptableObjectsSummary = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const utils_1 = require("../../../lib/utils");
|
|
6
6
|
const Flex_1 = require("../../../components/Flex");
|
|
7
7
|
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
8
8
|
const AdaptableObjectList_1 = require("../../Components/AdaptableObjectList");
|
|
9
9
|
const useRerender_1 = require("../../../components/utils/useRerender");
|
|
10
10
|
const react_1 = require("react");
|
|
11
|
-
const clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
12
11
|
const AdaptableObjectsSummary = ({ className, }) => {
|
|
13
12
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
14
13
|
const rerender = (0, useRerender_1.useRerender)();
|
|
@@ -17,7 +16,7 @@ const AdaptableObjectsSummary = ({ className, }) => {
|
|
|
17
16
|
}, [adaptable]);
|
|
18
17
|
const modules = adaptable.ModuleService.getModuleCollection();
|
|
19
18
|
const baseClassName = 'ab-AdaptableObjectsSummary';
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: (0,
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: (0, utils_1.cn)(baseClassName, className), children: [...modules].map(([moduleName, module]) => {
|
|
21
20
|
if (!module.isModuleVisible()) {
|
|
22
21
|
return null;
|
|
23
22
|
}
|
|
@@ -12,7 +12,7 @@ const Tabs_1 = require("../../../components/Tabs");
|
|
|
12
12
|
const PopupPanel_1 = require("../../Components/Popups/AdaptablePopup/PopupPanel");
|
|
13
13
|
const AdaptableObjectsSummary_1 = require("./AdaptableObjectsSummary");
|
|
14
14
|
const DefaultAdaptableOptions_1 = require("../../../AdaptableOptions/DefaultAdaptableOptions");
|
|
15
|
-
const
|
|
15
|
+
const utils_1 = require("../../../lib/utils");
|
|
16
16
|
const adaptableVersion = EnvVars_1.ADAPTABLE_VERSION;
|
|
17
17
|
const agGridVersion = AgGridModulesAdapter_1.AG_GRID_VERSION;
|
|
18
18
|
const GridInfoPopup = (props) => {
|
|
@@ -238,7 +238,7 @@ const GridInfoPopup = (props) => {
|
|
|
238
238
|
const showState = enabledTabs.includes('Grid State');
|
|
239
239
|
const showOptions = enabledTabs.includes('Grid Options');
|
|
240
240
|
const baseClassName = 'ab-GridInfo';
|
|
241
|
-
return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { className: (0,
|
|
241
|
+
return ((0, jsx_runtime_1.jsx)(PopupPanel_1.PopupPanel, { className: (0, utils_1.cn)(baseClassName), headerText: 'Grid Info', glyphicon: 'info', scrollable: false, children: (0, jsx_runtime_1.jsx)(Panel_1.default, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: (0, jsx_runtime_1.jsx)(Panel_1.default.FlexBody, { children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { className: "twa:flex-1 twa:min-h-0", children: [showSummary ? (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { children: "Grid Summary" }) : null, showState ? (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { children: "Grid State" }) : null, showOptions ? (0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Tab, { children: "Grid Options" }) : null, showSummary ? ((0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { children: (0, jsx_runtime_1.jsx)(InfiniteTable_1.DataSource, { data: keyValuePairs, primaryKey: "Key", children: (0, jsx_runtime_1.jsx)(InfiniteTable_1.InfiniteTableGrid, { domProps: domProps, columns: columnsMap }) }) })) : null, showState ? ((0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { children: (0, jsx_runtime_1.jsx)(AdaptableObjectsSummary_1.AdaptableObjectsSummary, { className: "twa:min-h-0 twa:overflow-auto twa:p-2" }) })) : null, showOptions ? ((0, jsx_runtime_1.jsx)(Tabs_1.Tabs.Content, { children: (0, jsx_runtime_1.jsx)("div", { className: "twa:min-h-0 twa:overflow-auto twa:p-2 twa:flex twa:flex-col twa:gap-4", children: gridOptionsSections.map((section) => ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "twa:font-semibold twa:mb-1", children: section.title }), (0, jsx_runtime_1.jsx)(InfiniteTable_1.DataSource, { data: section.rows, primaryKey: "Key", children: (0, jsx_runtime_1.jsx)(InfiniteTable_1.InfiniteTableGrid, { domProps: {
|
|
242
242
|
style: { height: sectionHeight(section.rows), width: '100%' },
|
|
243
243
|
}, rowHeight: (rowInfo) => calculateRowHeight(rowInfo.data), columns: optionsColumnsMap }) })] }, section.title))) }) })) : null] }) }) }) }));
|
|
244
244
|
};
|
|
@@ -16,7 +16,7 @@ const ButtonDelete_1 = require("../Components/Buttons/ButtonDelete");
|
|
|
16
16
|
const ButtonEdit_1 = require("../Components/Buttons/ButtonEdit");
|
|
17
17
|
const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
|
|
18
18
|
const isPivotLayout_1 = require("../../Utilities/isPivotLayout");
|
|
19
|
-
const
|
|
19
|
+
const DropdownButton_1 = require("../../components/DropdownButton");
|
|
20
20
|
const icons_1 = require("../../components/icons");
|
|
21
21
|
const Flex_1 = require("../../components/Flex");
|
|
22
22
|
const NewSelect_1 = require("../../components/NewSelect");
|
|
@@ -63,7 +63,7 @@ const LayoutViewPanelComponent = (props) => {
|
|
|
63
63
|
},
|
|
64
64
|
] })) : ((0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { ...layoutSelectCommonProps, items: toLayoutSelectItems(Layouts) })) }), (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", className: (0, join_1.default)(accessLevel === GeneralConstants.ACCESS_LEVEL_READ_ONLY
|
|
65
65
|
? GeneralConstants.READ_ONLY_STYLE
|
|
66
|
-
: '', `ab-${elementType}__Layout__wrap`), children: [(0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { disabled: isErrorLayout, onClick: () => api.layoutApi.showLayoutEditor(layoutEntity.Name), tooltip: GeneralConstants_1.LAYOUT_EDIT_TOOLTIP, className: `ab-${elementType}__Layout__edit`, accessLevel: entityAccessLevel }), (0, jsx_runtime_1.jsx)(ButtonClone_1.ButtonClone, { disabled: isErrorLayout, onClick: () => api.layoutApi.showLayoutEditor(layoutEntity.Name, (0, isPivotLayout_1.isPivotLayout)(layoutEntity) ? 'pivot' : 'table', 'Clone'), tooltip: GeneralConstants_1.LAYOUT_CLONE_TOOLTIP, className: `ab-${elementType}__Layout__clone`, tone: "neutral", variant: "text", children: null, accessLevel: cloneAccessLevel }), (0, jsx_runtime_1.jsx)(
|
|
66
|
+
: '', `ab-${elementType}__Layout__wrap`), children: [(0, jsx_runtime_1.jsx)(ButtonEdit_1.ButtonEdit, { disabled: isErrorLayout, onClick: () => api.layoutApi.showLayoutEditor(layoutEntity.Name), tooltip: GeneralConstants_1.LAYOUT_EDIT_TOOLTIP, className: `ab-${elementType}__Layout__edit`, accessLevel: entityAccessLevel }), (0, jsx_runtime_1.jsx)(ButtonClone_1.ButtonClone, { disabled: isErrorLayout, onClick: () => api.layoutApi.showLayoutEditor(layoutEntity.Name, (0, isPivotLayout_1.isPivotLayout)(layoutEntity) ? 'pivot' : 'table', 'Clone'), tooltip: GeneralConstants_1.LAYOUT_CLONE_TOOLTIP, className: `ab-${elementType}__Layout__clone`, tone: "neutral", variant: "text", children: null, accessLevel: cloneAccessLevel }), (0, jsx_runtime_1.jsx)(DropdownButton_1.NewDropdownButton, { variant: "text", tooltip: GeneralConstants_1.LAYOUT_NEW_TABLE_OR_PIVOT_TOOLTIP, "data-name": "new", items: [
|
|
67
67
|
{
|
|
68
68
|
dataName: 'table',
|
|
69
69
|
label: (0, jsx_runtime_1.jsx)("span", { style: { whiteSpace: 'nowrap' }, children: "Table Layout" }),
|
|
@@ -14,7 +14,6 @@ const ColumnsSection_1 = require("./sections/ColumnsSection");
|
|
|
14
14
|
const PivotColumnsSection_1 = require("./sections/PivotColumnsSection");
|
|
15
15
|
const RowGroupingSection_1 = require("./sections/RowGroupingSection");
|
|
16
16
|
const AggregationsSection_1 = require("./sections/AggregationsSection");
|
|
17
|
-
const SortSection_1 = require("./sections/SortSection");
|
|
18
17
|
const FilterSection_1 = require("./sections/FilterSection");
|
|
19
18
|
const GridFilterSection_1 = require("./sections/GridFilterSection");
|
|
20
19
|
const RowSummarySection_1 = require("./sections/RowSummarySection");
|
|
@@ -28,11 +27,22 @@ const getLayoutWizardTitle = (layout, moduleFriendlyName) => {
|
|
|
28
27
|
const layoutName = layout.Name?.trim();
|
|
29
28
|
return layoutName ? `${moduleFriendlyName} (${layoutName})` : moduleFriendlyName;
|
|
30
29
|
};
|
|
30
|
+
const getLayoutWizardMode = (popupParams, initialLayout) => {
|
|
31
|
+
const action = popupParams?.action;
|
|
32
|
+
if (action === 'Edit') {
|
|
33
|
+
return 'edit';
|
|
34
|
+
}
|
|
35
|
+
if (action === 'New' || action === 'Clone') {
|
|
36
|
+
return 'create';
|
|
37
|
+
}
|
|
38
|
+
return initialLayout ? 'edit' : 'create';
|
|
39
|
+
};
|
|
31
40
|
const LayoutWizard = (props) => {
|
|
32
41
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
33
42
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
34
43
|
const allLayouts = adaptable.api.layoutApi.getLayouts();
|
|
35
44
|
const initialLayout = props.data ?? props.popupParams?.value;
|
|
45
|
+
const layoutWizardMode = getLayoutWizardMode(props.popupParams, initialLayout);
|
|
36
46
|
const [layout, setLayout] = React.useState(() => {
|
|
37
47
|
let preparedLayout = null;
|
|
38
48
|
if (initialLayout) {
|
|
@@ -102,36 +112,29 @@ const LayoutWizard = (props) => {
|
|
|
102
112
|
title: 'Pivot Row Groups',
|
|
103
113
|
isVisible: () => layoutSupportedFeatures.PivotColumns && layoutSupportedFeatures.RowGroupedColumns,
|
|
104
114
|
details: 'Configure Pivot Row Grouping',
|
|
105
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(PivotRowGroupingSection_1.PivotRowGroupingSectionSummary, {}),
|
|
106
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotRowGroupingSection_1.PivotRowGroupingSection, { onChange: (newLayout) => {
|
|
115
|
+
renderSummary: (data) => (0, jsx_runtime_1.jsx)(PivotRowGroupingSection_1.PivotRowGroupingSectionSummary, { layout: data }),
|
|
116
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotRowGroupingSection_1.PivotRowGroupingSection, { layoutWizardMode: layoutWizardMode, onChange: (newLayout) => {
|
|
107
117
|
setLayout(newLayout);
|
|
108
118
|
} }) })),
|
|
109
119
|
},
|
|
110
120
|
{
|
|
111
121
|
title: 'Pivot Columns',
|
|
112
|
-
details: 'Select Pivot Columns',
|
|
122
|
+
details: 'Select Pivot Columns and Column Sorting',
|
|
113
123
|
isVisible: () => layoutSupportedFeatures.PivotColumns,
|
|
114
124
|
renderSummary: () => (0, jsx_runtime_1.jsx)(PivotColumnsSection_1.PivotColumnsSectionSummary, {}),
|
|
115
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotColumnsSection_1.PivotColumnsSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
125
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotColumnsSection_1.PivotColumnsSection, { layoutWizardMode: layoutWizardMode, onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
116
126
|
},
|
|
117
127
|
{
|
|
118
128
|
title: 'Pivot Aggregations',
|
|
119
129
|
isVisible: () => layoutSupportedFeatures.PivotAggregationColumns && layoutSupportedFeatures.PivotColumns,
|
|
120
130
|
details: 'Select Pivot Column Aggregations',
|
|
121
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(PivotAggregationsSection_1.PivotAggregationsSectionSummary, {}),
|
|
131
|
+
renderSummary: (data) => (0, jsx_runtime_1.jsx)(PivotAggregationsSection_1.PivotAggregationsSectionSummary, { layout: data }),
|
|
122
132
|
isValid: (data) => (0, PivotAggregationsSection_1.isPivotAggregationsSectionValid)(data),
|
|
123
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotAggregationsSection_1.PivotAggregationsSection, { onChange: (layout) => {
|
|
133
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(PivotAggregationsSection_1.PivotAggregationsSection, { layoutWizardMode: layoutWizardMode, onChange: (layout) => {
|
|
124
134
|
const newLayout = (0, Helper_1.cloneObject)(layout);
|
|
125
135
|
setLayout(newLayout);
|
|
126
136
|
} }) })),
|
|
127
137
|
},
|
|
128
|
-
{
|
|
129
|
-
title: 'Sort',
|
|
130
|
-
isVisible: () => layoutSupportedFeatures.ColumnSorts,
|
|
131
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(SortSection_1.SortSectionSummary, {}),
|
|
132
|
-
details: 'Configure Aggregated Column Sorts',
|
|
133
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(SortSection_1.SortSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
134
|
-
},
|
|
135
138
|
{
|
|
136
139
|
title: 'Column Filters',
|
|
137
140
|
isVisible: () => layoutSupportedFeatures.ColumnFilters,
|
|
@@ -180,23 +183,23 @@ const LayoutWizard = (props) => {
|
|
|
180
183
|
title: 'Row Groups',
|
|
181
184
|
isVisible: () => layoutSupportedFeatures.RowGroupedColumns,
|
|
182
185
|
details: 'Configure Row Grouping and Display Behaviour',
|
|
183
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(RowGroupingSection_1.RowGroupingSectionSummary, {}),
|
|
184
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(RowGroupingSection_1.RowGroupingSection, { onChange: setLayout }) })),
|
|
186
|
+
renderSummary: (data) => (0, jsx_runtime_1.jsx)(RowGroupingSection_1.RowGroupingSectionSummary, { layout: data }),
|
|
187
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(RowGroupingSection_1.RowGroupingSection, { onChange: setLayout, layoutWizardMode: layoutWizardMode }) })),
|
|
185
188
|
},
|
|
186
189
|
{
|
|
187
190
|
title: 'Columns',
|
|
188
|
-
details: '
|
|
191
|
+
details: 'Configure Column Visibility, Order, Pinning, Sizing and Sorting',
|
|
189
192
|
isVisible: () => true,
|
|
190
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(ColumnsSection_1.ColumnsSectionSummary, {}),
|
|
191
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(ColumnsSection_1.ColumnsSection, { onChange: setLayout }) })),
|
|
193
|
+
renderSummary: (data) => (0, jsx_runtime_1.jsx)(ColumnsSection_1.ColumnsSectionSummary, { layout: data }),
|
|
194
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(ColumnsSection_1.ColumnsSection, { layoutWizardMode: layoutWizardMode, onChange: setLayout }) })),
|
|
192
195
|
},
|
|
193
196
|
{
|
|
194
197
|
title: 'Aggregations',
|
|
195
198
|
isVisible: () => layoutSupportedFeatures.TableAggregationColumns,
|
|
196
199
|
details: 'Select Aggregation Columns and Behaviour',
|
|
197
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(AggregationsSection_1.AggregationsSectionSummary, {}),
|
|
200
|
+
renderSummary: (data) => (0, jsx_runtime_1.jsx)(AggregationsSection_1.AggregationsSectionSummary, { layout: data }),
|
|
198
201
|
isValid: (data) => (0, AggregationsSection_1.isAggregationsSectionValid)(data),
|
|
199
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(AggregationsSection_1.AggregationsSection, { onChange: (layout) => {
|
|
202
|
+
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(AggregationsSection_1.AggregationsSection, { layoutWizardMode: layoutWizardMode, onChange: (layout) => {
|
|
200
203
|
let newLayout = (0, Helper_1.cloneObject)(layout);
|
|
201
204
|
// if we do not have an weighted avg col, we need to clear the row summary if one exists
|
|
202
205
|
if (newLayout.RowSummaries) {
|
|
@@ -235,13 +238,6 @@ const LayoutWizard = (props) => {
|
|
|
235
238
|
isValid: RowSummarySection_1.areSummaryRowsValid,
|
|
236
239
|
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(RowSummarySection_1.RowSummarySection, { onChange: setLayout }) })),
|
|
237
240
|
},
|
|
238
|
-
{
|
|
239
|
-
title: 'Sort',
|
|
240
|
-
isVisible: () => layoutSupportedFeatures.ColumnSorts,
|
|
241
|
-
renderSummary: () => (0, jsx_runtime_1.jsx)(SortSection_1.SortSectionSummary, {}),
|
|
242
|
-
details: 'Configure Column Sorts',
|
|
243
|
-
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(SortSection_1.SortSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
244
|
-
},
|
|
245
241
|
{
|
|
246
242
|
title: 'Column Filters',
|
|
247
243
|
isVisible: () => layoutSupportedFeatures.ColumnFilters,
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Layout, TableLayout } from '../../../../../types';
|
|
3
|
+
import { AggregationColumnValue } from '../../../../AdaptableState/Common/AggregationColumns';
|
|
4
|
+
export type GrandTotalRowPosition = 'top' | 'bottom' | 'pinnedTop' | 'pinnedBottom';
|
|
5
|
+
export declare const GRAND_TOTAL_ROW_LABELS: Record<GrandTotalRowPosition | 'off', string>;
|
|
6
|
+
export declare const GRAND_TOTAL_ROW_DESCRIPTIONS: Record<GrandTotalRowPosition | 'off', string>;
|
|
7
|
+
export declare const GRAND_TOTAL_ROW_OPTIONS: (GrandTotalRowPosition | 'off')[];
|
|
8
|
+
export declare function getGrandTotalRowKey(layout: Layout): GrandTotalRowPosition | 'off';
|
|
9
|
+
export declare function getGrandTotalRowLabel(layout: Layout): string;
|
|
10
|
+
export declare function getGrandTotalRowDescription(layout: Layout): string;
|
|
11
|
+
export declare function getAggFuncSummaryLabel(columnId: string, aggFunc: AggregationColumnValue, aggregationColumnsMap: Record<string, string>): string;
|
|
3
12
|
export declare const isAggregationsSectionValid: (data: Layout) => true | string;
|
|
4
|
-
export declare const AggregationsSectionSummary: React.FunctionComponent
|
|
13
|
+
export declare const AggregationsSectionSummary: React.FunctionComponent<{
|
|
14
|
+
layout?: TableLayout;
|
|
15
|
+
}>;
|
|
5
16
|
interface AggregationsSectionProps {
|
|
6
17
|
onChange: (data: TableLayout) => void;
|
|
18
|
+
layoutWizardMode?: 'create' | 'edit';
|
|
7
19
|
}
|
|
8
20
|
export declare const AggregationsSection: React.FunctionComponent<AggregationsSectionProps>;
|
|
9
21
|
export {};
|