@adaptabletools/adaptable 23.0.0-canary.6 → 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 +755 -256
- 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 +2 -2
- 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 +12 -29
- 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 +14 -0
- package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
- package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -0
- package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
- package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +105 -0
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +166 -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 +85 -0
- package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +46 -41
- 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 +27 -0
- package/src/Utilities/Helpers/StyledColumnGradientHelper.js +7 -5
- package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
- package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +15 -0
- package/src/Utilities/getScopeViewItems.js +2 -0
- package/src/Utilities/wizardSelection.d.ts +10 -0
- package/src/Utilities/wizardSelection.js +15 -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 +0 -4
- 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 +31 -7
- package/src/View/Alert/Wizard/AlertWizard.js +4 -4
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -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 +30 -4
- 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 -2
- 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 +2 -3
- 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 +4 -9
- 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 +1 -1
- 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 -3
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -2
- package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
- package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +1 -0
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +25 -27
- 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 -2
- 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 +32 -65
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +10 -7
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -81
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +76 -0
- package/src/View/Components/ValueSelector/index.d.ts +29 -0
- package/src/View/Components/ValueSelector/index.js +113 -30
- package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
- package/src/View/Components/wizardColumnListStyles.js +10 -0
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +5 -7
- 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 +68 -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 +94 -0
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
- package/src/View/DataChangeHistory/buildActionColumnButton.js +30 -39
- package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
- package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +37 -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 +3 -3
- 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 +4 -9
- package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +3 -6
- package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
- package/src/View/FlashingCell/FlashingCellStyle.js +4 -2
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +7 -11
- package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
- package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +5 -0
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +1 -0
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +1 -5
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -3
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +99 -42
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +0 -4
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +56 -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 -8
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -13
- 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 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- 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 +73 -33
- package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +155 -276
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +148 -145
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +24 -12
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +23 -12
- package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +19 -12
- package/src/View/Layout/Wizard/sections/RowSelectionSection.js +8 -4
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +11 -11
- package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
- package/src/View/Layout/Wizard/sections/SortSection.js +41 -17
- package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
- package/src/View/Layout/Wizard/sections/columnLayoutCards.js +159 -0
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +201 -0
- package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
- package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +63 -0
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +52 -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 -12
- 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 +7 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +2 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +14 -11
- 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 +8 -14
- 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 +50 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +26 -5
- 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 +98 -43
- 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 +32 -46
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +11 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +94 -7
- package/src/View/UIHelper.d.ts +0 -2
- package/src/View/UIHelper.js +8 -23
- package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
- package/src/View/Wizard/CollapsibleWizardCard.js +81 -0
- package/src/View/Wizard/OnePageWizards.js +6 -6
- package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
- package/src/View/Wizard/SummaryColorTag.js +67 -0
- package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
- package/src/View/Wizard/WizardTypeSelection.js +31 -0
- package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
- package/src/View/Wizard/rowGroupSummaryTags.js +14 -0
- package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
- package/src/View/Wizard/scopeSummaryTags.js +33 -0
- package/src/agGrid/AgGridAdapter.js +0 -5
- package/src/agGrid/AgGridColumnAdapter.js +2 -2
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
- package/src/components/Card/index.js +5 -6
- package/src/components/CheckBox/index.js +2 -3
- package/src/components/CodeBlock/index.js +2 -2
- 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 +26 -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 +3 -0
- package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
- package/src/components/DragAndDropContext/ModuleManager.js +47 -8
- 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 +15 -11
- package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
- package/src/components/DragAndDropContext/dragScope.js +26 -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 -2
- package/src/components/ErrorBox/index.js +2 -2
- package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +6 -6
- package/src/components/FieldWrap/index.js +2 -2
- package/src/components/Flex.js +2 -2
- package/src/components/FormLayout/index.d.ts +1 -1
- package/src/components/HelpBlock/index.js +3 -3
- package/src/components/IconSelector/IconSelector.d.ts +8 -0
- package/src/components/IconSelector/IconSelector.js +11 -7
- package/src/components/IconSelector/index.d.ts +1 -0
- package/src/components/IconSelector/index.js +1 -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 -2
- package/src/components/Tabs/index.js +4 -4
- package/src/components/Tag/Tag.d.ts +16 -0
- package/src/components/Tag/Tag.js +14 -4
- package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
- package/src/components/Tag/columnScopeTagHelpers.js +6 -0
- package/src/components/Tag/index.d.ts +1 -1
- package/src/components/Tag/index.js +1 -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 -4
- package/src/components/Tree/TreeDropdown/index.js +3 -4
- package/src/components/WarningBox/index.js +2 -2
- 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.esm.tsbuildinfo +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -290
- package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
- package/src/components/DropdownButton/DropdownButtonItem.js +0 -1
- package/src/components/DropdownButton/renderItem.d.ts +0 -14
- package/src/components/DropdownButton/renderItem.js +0 -11
- package/src/components/DropdownButton/useExpanded.d.ts +0 -24
- package/src/components/DropdownButton/useExpanded.js +0 -56
- package/src/components/NewDropdownButton/index.d.ts +0 -27
- package/src/components/NewDropdownButton/index.js +0 -24
|
@@ -11,7 +11,6 @@ import { SpecialColumnSettingsWizardStep } from '../../SpecialColumnSettingsWiza
|
|
|
11
11
|
import { Box, Flex } from '../../../components/Flex';
|
|
12
12
|
import { SingleSelect } from '../../../components/NewSelect';
|
|
13
13
|
import { Card } from '../../../components/Card';
|
|
14
|
-
import { TagList } from '../../../components/Tag/Tag';
|
|
15
14
|
import { getFreeTextColumnSettingsTags } from '../Utilities/getFreeTextColumnSettingsTags';
|
|
16
15
|
import { SummaryText } from '../../Wizard/OnePageAdaptableWizard';
|
|
17
16
|
const dataTypeOptions = [
|
|
@@ -22,7 +21,7 @@ const dataTypeOptions = [
|
|
|
22
21
|
];
|
|
23
22
|
export const renderFreeTextColumnSettingsSummary = (data) => {
|
|
24
23
|
const propertyTags = getFreeTextColumnSettingsTags(data.FreeTextColumnSettings);
|
|
25
|
-
return (_jsxs(_Fragment, { children: [_jsxs(SummaryText, { children: ["Data Type: ", _jsx(Tag, { children: data.FreeTextColumnSettings.DataType || 'Not specified' })] }), data.DefaultValue !== undefined ? (_jsxs(SummaryText, { children: ["Default Value: ", _jsx(Tag, { children: String(data.DefaultValue) })] })) : null, data.TextEditor !== undefined ? (_jsxs(SummaryText, { children: ["Editor Type: ", _jsx(Tag, { children: data.TextEditor })] })) : null, propertyTags.length ? (
|
|
24
|
+
return (_jsxs(_Fragment, { children: [_jsxs(SummaryText, { children: ["Data Type: ", _jsx(Tag, { children: data.FreeTextColumnSettings.DataType || 'Not specified' })] }), data.DefaultValue !== undefined ? (_jsxs(SummaryText, { children: ["Default Value: ", _jsx(Tag, { children: String(data.DefaultValue) })] })) : null, data.TextEditor !== undefined ? (_jsxs(SummaryText, { children: ["Editor Type: ", _jsx(Tag, { children: data.TextEditor })] })) : null, propertyTags.length ? (_jsxs(SummaryText, { children: ["Properties:", ' ', propertyTags.map((tag, index) => (_jsx(Tag, { className: index > 0 ? 'twa:ml-1' : undefined, children: tag }, String(tag))))] })) : null] }));
|
|
26
25
|
};
|
|
27
26
|
export const isValidFreeTextColumnSettings = (data) => {
|
|
28
27
|
if (!data.FreeTextColumnSettings?.DataType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import { NewDropdownButton } from '../../../components/DropdownButton';
|
|
3
|
+
import { Icon } from '../../../components/icons';
|
|
3
4
|
import FieldWrap from '../../../components/FieldWrap';
|
|
4
5
|
import Input from '../../../components/Input';
|
|
5
6
|
import Panel from '../../../components/Panel';
|
|
@@ -23,5 +24,5 @@ export const GridFilterPopupUI = (props) => {
|
|
|
23
24
|
onRunQuery();
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
|
-
return (_jsx(PopupPanel, { className: "ab-GridFilter", headerText: headerText, glyphicon: glyphicon, infoLink: infoLink, infoLinkDisabled: infoLinkDisabled, children: _jsx(Panel, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: _jsx(Panel.FlexBody, { children: _jsxs(Box, { className: "twa:grid twa:gap-3 twa:grid-cols-[auto_1fr] twa:items-center", children: ["Expression:", _jsxs(FieldWrap, { className: "twa:mr-1 twa:w-full", children: [_jsx(ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", className: "twa:ml-1" }), _jsx(Input, { 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 && (_jsx(ButtonPlay, { onClick: () => onRunQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "accent", disabled: disabled || expression === '' || expression === currentGridFilterExpression, className: "twa:mr-1" })), currentGridFilterExpression && !isExpressionValid && (_jsx(ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", className: "twa:mr-1" })), ' ', StringExtensions.IsNotNullOrEmpty(expression) && (_jsx(ButtonClear, { onClick: () => onClearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel }))] }), _jsxs(Flex, { justifyContent: "space-around", className: "twa:col-start-2", children: [_jsx(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 ? (_jsx(ButtonUnsuspend, { onClick: () => onUnsuspend(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Resume" })) : (_jsx(ButtonPause, { onClick: () => onSuspend(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Suspend" })),
|
|
27
|
+
return (_jsx(PopupPanel, { className: "ab-GridFilter", headerText: headerText, glyphicon: glyphicon, infoLink: infoLink, infoLinkDisabled: infoLinkDisabled, children: _jsx(Panel, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: _jsx(Panel.FlexBody, { children: _jsxs(Box, { className: "twa:grid twa:gap-3 twa:grid-cols-[auto_1fr] twa:items-center", children: ["Expression:", _jsxs(FieldWrap, { className: "twa:mr-1 twa:w-full", children: [_jsx(ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", className: "twa:ml-1" }), _jsx(Input, { 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 && (_jsx(ButtonPlay, { onClick: () => onRunQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "accent", disabled: disabled || expression === '' || expression === currentGridFilterExpression, className: "twa:mr-1" })), currentGridFilterExpression && !isExpressionValid && (_jsx(ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", className: "twa:mr-1" })), ' ', StringExtensions.IsNotNullOrEmpty(expression) && (_jsx(ButtonClear, { onClick: () => onClearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel }))] }), _jsxs(Flex, { justifyContent: "space-around", className: "twa:col-start-2", children: [_jsx(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 ? (_jsx(ButtonUnsuspend, { onClick: () => onUnsuspend(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Resume" })) : (_jsx(ButtonPause, { onClick: () => onSuspend(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", className: "twa:mr-1", children: "Suspend" })), _jsxs(NewDropdownButton, { disabled: disabled, variant: "text", items: availableColumns, className: "twa:mr-1", tooltip: "Pick Columns", children: [_jsx(Icon, { name: "list" }), "Columns"] }), _jsx(NamedQuerySelector, { disabled: disabled, namedQueries: namedQueries, cachedQueries: cachedQueries, currentQuery: currentGridFilterExpression, onSelect: (query) => onSelectNamedQuery(query), setGridFilterExpression: (query) => onSetGridFilterExpression(query), children: "Named Queries" })] })] }) }) }) }));
|
|
27
28
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import clsx from 'clsx';
|
|
3
2
|
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
4
3
|
import FieldWrap from '../../components/FieldWrap';
|
|
5
4
|
import { ButtonClear } from '../Components/Buttons/ButtonClear';
|
|
@@ -13,6 +12,7 @@ import { useGridFilterExpressionEditor } from './useGridFilterExpressionEditor';
|
|
|
13
12
|
import { Box, Flex } from '../../components/Flex';
|
|
14
13
|
import Tooltip from '../../components/Tooltip';
|
|
15
14
|
import { ACCESS_LEVEL_READ_ONLY } from '../../Utilities/Constants/GeneralConstants';
|
|
15
|
+
import { cn } from '../../lib/utils';
|
|
16
16
|
const QueryViewPanelComponent = (props) => {
|
|
17
17
|
const { cachedQueries, expression, isExpressionNamedQuery, isExpressionValid, isSuspended, gridFilter, isAdaptableReady, namedQueries, runQuery, onExpand, clearQuery, namedQueryModuleAccessLevel, saveQuery, suspendGridFilter, unSuspendGridFilter, setGridFilterExpression, gridFilterAccessLevel, isReadOnly, } = useGridFilterExpressionEditor();
|
|
18
18
|
if (!isAdaptableReady) {
|
|
@@ -24,10 +24,10 @@ const QueryViewPanelComponent = (props) => {
|
|
|
24
24
|
const renderExpressionLabel = () => {
|
|
25
25
|
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';
|
|
26
26
|
const placeholderClasses = 'twa:text-gray-400 twa:italic';
|
|
27
|
-
const labelClassName =
|
|
27
|
+
const labelClassName = cn(baseClasses, {
|
|
28
28
|
[placeholderClasses]: !expression,
|
|
29
29
|
});
|
|
30
|
-
const expressionLabel = (_jsx(Tooltip, { label: expression || 'Click to edit Grid Filter', children: _jsx(Box, { className:
|
|
30
|
+
const expressionLabel = (_jsx(Tooltip, { label: expression || 'Click to edit Grid Filter', children: _jsx(Box, { className: cn('twa:flex-1 twa:h-full twa:min-w-0', labelClassName), "data-name": "grid-filter-input", onClick: onExpand, children: expression || 'Grid Filter...' }) }));
|
|
31
31
|
return (_jsxs(FieldWrap, { className: "twa:flex-1 twa:min-w-0 twa:min-h-input twa:overflow-visible", children: [buttonExpand, expressionLabel, gridFilter && !isExpressionValid && (_jsx(ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter" }))] }));
|
|
32
32
|
};
|
|
33
33
|
const hasExpression = StringExtensions.IsNotNullOrEmpty(expression);
|
|
@@ -42,9 +42,9 @@ const QueryViewPanelComponent = (props) => {
|
|
|
42
42
|
return (_jsxs(_Fragment, { children: [clearButton, isSuspended ? unSuspendButton : suspendButton, saveButton, namedQuerySelector] }));
|
|
43
43
|
};
|
|
44
44
|
const isToolbar = props.viewType === 'Toolbar';
|
|
45
|
-
return (_jsxs(Flex, { flexDirection: isToolbar ? 'row' : 'column', className:
|
|
45
|
+
return (_jsxs(Flex, { flexDirection: isToolbar ? 'row' : 'column', className: cn(`ab-${elementType}__Query__wrap`, {
|
|
46
46
|
'twa:w-[500px]': isToolbar,
|
|
47
|
-
}), children: [_jsx(Flex, { className:
|
|
47
|
+
}), children: [_jsx(Flex, { className: cn({ 'twa:flex-1 twa:min-w-0': isToolbar }), children: renderExpressionLabel() }), _jsx(Flex, { className: cn('twa:flex-shrink-0', {
|
|
48
48
|
'twa:pl-1': isToolbar,
|
|
49
49
|
'twa:pt-1': !isToolbar,
|
|
50
50
|
}), children: renderButtons() })] }));
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils';
|
|
2
3
|
import { Box } from '../../../components/Flex';
|
|
3
4
|
import { useAdaptable } from '../../AdaptableContext';
|
|
4
5
|
import { AdaptableObjectList } from '../../Components/AdaptableObjectList';
|
|
5
6
|
import { useRerender } from '../../../components/utils/useRerender';
|
|
6
7
|
import { useEffect } from 'react';
|
|
7
|
-
import clsx from 'clsx';
|
|
8
8
|
export const AdaptableObjectsSummary = ({ className, }) => {
|
|
9
9
|
const adaptable = useAdaptable();
|
|
10
10
|
const rerender = useRerender();
|
|
@@ -13,7 +13,7 @@ export const AdaptableObjectsSummary = ({ className, }) => {
|
|
|
13
13
|
}, [adaptable]);
|
|
14
14
|
const modules = adaptable.ModuleService.getModuleCollection();
|
|
15
15
|
const baseClassName = 'ab-AdaptableObjectsSummary';
|
|
16
|
-
return (_jsx(Box, { className:
|
|
16
|
+
return (_jsx(Box, { className: cn(baseClassName, className), children: [...modules].map(([moduleName, module]) => {
|
|
17
17
|
if (!module.isModuleVisible()) {
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
@@ -8,7 +8,7 @@ import { Tabs } from '../../../components/Tabs';
|
|
|
8
8
|
import { PopupPanel } from '../../Components/Popups/AdaptablePopup/PopupPanel';
|
|
9
9
|
import { AdaptableObjectsSummary } from './AdaptableObjectsSummary';
|
|
10
10
|
import { getDefaultAdaptableOptions } from '../../../AdaptableOptions/DefaultAdaptableOptions';
|
|
11
|
-
import
|
|
11
|
+
import { cn } from '../../../lib/utils';
|
|
12
12
|
const adaptableVersion = ADAPTABLE_VERSION;
|
|
13
13
|
const agGridVersion = AG_GRID_VERSION;
|
|
14
14
|
export const GridInfoPopup = (props) => {
|
|
@@ -234,7 +234,7 @@ export const GridInfoPopup = (props) => {
|
|
|
234
234
|
const showState = enabledTabs.includes('Grid State');
|
|
235
235
|
const showOptions = enabledTabs.includes('Grid Options');
|
|
236
236
|
const baseClassName = 'ab-GridInfo';
|
|
237
|
-
return (_jsx(PopupPanel, { className:
|
|
237
|
+
return (_jsx(PopupPanel, { className: cn(baseClassName), headerText: 'Grid Info', glyphicon: 'info', scrollable: false, children: _jsx(Panel, { className: "twa:flex-1 twa:border-none twa:shadow-md twa:overflow-hidden", children: _jsx(Panel.FlexBody, { children: _jsxs(Tabs, { className: "twa:flex-1 twa:min-h-0", children: [showSummary ? _jsx(Tabs.Tab, { children: "Grid Summary" }) : null, showState ? _jsx(Tabs.Tab, { children: "Grid State" }) : null, showOptions ? _jsx(Tabs.Tab, { children: "Grid Options" }) : null, showSummary ? (_jsx(Tabs.Content, { children: _jsx(DataSource, { data: keyValuePairs, primaryKey: "Key", children: _jsx(InfiniteTableGrid, { domProps: domProps, columns: columnsMap }) }) })) : null, showState ? (_jsx(Tabs.Content, { children: _jsx(AdaptableObjectsSummary, { className: "twa:min-h-0 twa:overflow-auto twa:p-2" }) })) : null, showOptions ? (_jsx(Tabs.Content, { children: _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) => (_jsxs("div", { children: [_jsx("h4", { className: "twa:font-semibold twa:mb-1", children: section.title }), _jsx(DataSource, { data: section.rows, primaryKey: "Key", children: _jsx(InfiniteTableGrid, { domProps: {
|
|
238
238
|
style: { height: sectionHeight(section.rows), width: '100%' },
|
|
239
239
|
}, rowHeight: (rowInfo) => calculateRowHeight(rowInfo.data), columns: optionsColumnsMap }) })] }, section.title))) }) })) : null] }) }) }) }));
|
|
240
240
|
};
|
|
@@ -12,7 +12,7 @@ import { ButtonDelete } from '../Components/Buttons/ButtonDelete';
|
|
|
12
12
|
import { ButtonEdit } from '../Components/Buttons/ButtonEdit';
|
|
13
13
|
import { LAYOUT_CLONE_TOOLTIP, LAYOUT_DELETE_TOOLTIP, LAYOUT_EDIT_TOOLTIP, LAYOUT_NEW_TABLE_OR_PIVOT_TOOLTIP, ERROR_LAYOUT, } from '../../Utilities/Constants/GeneralConstants';
|
|
14
14
|
import { isPivotLayout } from '../../Utilities/isPivotLayout';
|
|
15
|
-
import { NewDropdownButton } from '../../components/
|
|
15
|
+
import { NewDropdownButton } from '../../components/DropdownButton';
|
|
16
16
|
import { Icon } from '../../components/icons';
|
|
17
17
|
import { Flex } from '../../components/Flex';
|
|
18
18
|
import { SingleSelect } from '../../components/NewSelect';
|
|
@@ -10,7 +10,6 @@ import { ColumnsSection, ColumnsSectionSummary } from './sections/ColumnsSection
|
|
|
10
10
|
import { PivotColumnsSection, PivotColumnsSectionSummary } from './sections/PivotColumnsSection';
|
|
11
11
|
import { RowGroupingSection, RowGroupingSectionSummary } from './sections/RowGroupingSection';
|
|
12
12
|
import { AggregationsSection, AggregationsSectionSummary, isAggregationsSectionValid, } from './sections/AggregationsSection';
|
|
13
|
-
import { SortSection, SortSectionSummary } from './sections/SortSection';
|
|
14
13
|
import { FilterSection, FilterSectionSummary, isColumnFiltersValid, } from './sections/FilterSection';
|
|
15
14
|
import { GridFilterSection, GridFilterSectionSummary, isGridFiltersValid, } from './sections/GridFilterSection';
|
|
16
15
|
import { areSummaryRowsValid, RowSummarySection, RowSummarySectionSummary, } from './sections/RowSummarySection';
|
|
@@ -24,11 +23,22 @@ const getLayoutWizardTitle = (layout, moduleFriendlyName) => {
|
|
|
24
23
|
const layoutName = layout.Name?.trim();
|
|
25
24
|
return layoutName ? `${moduleFriendlyName} (${layoutName})` : moduleFriendlyName;
|
|
26
25
|
};
|
|
26
|
+
const getLayoutWizardMode = (popupParams, initialLayout) => {
|
|
27
|
+
const action = popupParams?.action;
|
|
28
|
+
if (action === 'Edit') {
|
|
29
|
+
return 'edit';
|
|
30
|
+
}
|
|
31
|
+
if (action === 'New' || action === 'Clone') {
|
|
32
|
+
return 'create';
|
|
33
|
+
}
|
|
34
|
+
return initialLayout ? 'edit' : 'create';
|
|
35
|
+
};
|
|
27
36
|
export const LayoutWizard = (props) => {
|
|
28
37
|
const dispatch = useDispatch();
|
|
29
38
|
const adaptable = useAdaptable();
|
|
30
39
|
const allLayouts = adaptable.api.layoutApi.getLayouts();
|
|
31
40
|
const initialLayout = props.data ?? props.popupParams?.value;
|
|
41
|
+
const layoutWizardMode = getLayoutWizardMode(props.popupParams, initialLayout);
|
|
32
42
|
const [layout, setLayout] = React.useState(() => {
|
|
33
43
|
let preparedLayout = null;
|
|
34
44
|
if (initialLayout) {
|
|
@@ -98,36 +108,29 @@ export const LayoutWizard = (props) => {
|
|
|
98
108
|
title: 'Pivot Row Groups',
|
|
99
109
|
isVisible: () => layoutSupportedFeatures.PivotColumns && layoutSupportedFeatures.RowGroupedColumns,
|
|
100
110
|
details: 'Configure Pivot Row Grouping',
|
|
101
|
-
renderSummary: () => _jsx(PivotRowGroupingSectionSummary, {}),
|
|
102
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotRowGroupingSection, { onChange: (newLayout) => {
|
|
111
|
+
renderSummary: (data) => _jsx(PivotRowGroupingSectionSummary, { layout: data }),
|
|
112
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotRowGroupingSection, { layoutWizardMode: layoutWizardMode, onChange: (newLayout) => {
|
|
103
113
|
setLayout(newLayout);
|
|
104
114
|
} }) })),
|
|
105
115
|
},
|
|
106
116
|
{
|
|
107
117
|
title: 'Pivot Columns',
|
|
108
|
-
details: 'Select Pivot Columns',
|
|
118
|
+
details: 'Select Pivot Columns and Column Sorting',
|
|
109
119
|
isVisible: () => layoutSupportedFeatures.PivotColumns,
|
|
110
120
|
renderSummary: () => _jsx(PivotColumnsSectionSummary, {}),
|
|
111
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotColumnsSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
121
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotColumnsSection, { layoutWizardMode: layoutWizardMode, onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
112
122
|
},
|
|
113
123
|
{
|
|
114
124
|
title: 'Pivot Aggregations',
|
|
115
125
|
isVisible: () => layoutSupportedFeatures.PivotAggregationColumns && layoutSupportedFeatures.PivotColumns,
|
|
116
126
|
details: 'Select Pivot Column Aggregations',
|
|
117
|
-
renderSummary: () => _jsx(PivotAggregationsSectionSummary, {}),
|
|
127
|
+
renderSummary: (data) => _jsx(PivotAggregationsSectionSummary, { layout: data }),
|
|
118
128
|
isValid: (data) => isPivotAggregationsSectionValid(data),
|
|
119
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotAggregationsSection, { onChange: (layout) => {
|
|
129
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(PivotAggregationsSection, { layoutWizardMode: layoutWizardMode, onChange: (layout) => {
|
|
120
130
|
const newLayout = cloneObject(layout);
|
|
121
131
|
setLayout(newLayout);
|
|
122
132
|
} }) })),
|
|
123
133
|
},
|
|
124
|
-
{
|
|
125
|
-
title: 'Sort',
|
|
126
|
-
isVisible: () => layoutSupportedFeatures.ColumnSorts,
|
|
127
|
-
renderSummary: () => _jsx(SortSectionSummary, {}),
|
|
128
|
-
details: 'Configure Aggregated Column Sorts',
|
|
129
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(SortSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
130
|
-
},
|
|
131
134
|
{
|
|
132
135
|
title: 'Column Filters',
|
|
133
136
|
isVisible: () => layoutSupportedFeatures.ColumnFilters,
|
|
@@ -176,23 +179,23 @@ export const LayoutWizard = (props) => {
|
|
|
176
179
|
title: 'Row Groups',
|
|
177
180
|
isVisible: () => layoutSupportedFeatures.RowGroupedColumns,
|
|
178
181
|
details: 'Configure Row Grouping and Display Behaviour',
|
|
179
|
-
renderSummary: () => _jsx(RowGroupingSectionSummary, {}),
|
|
180
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(RowGroupingSection, { onChange: setLayout }) })),
|
|
182
|
+
renderSummary: (data) => _jsx(RowGroupingSectionSummary, { layout: data }),
|
|
183
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(RowGroupingSection, { onChange: setLayout, layoutWizardMode: layoutWizardMode }) })),
|
|
181
184
|
},
|
|
182
185
|
{
|
|
183
186
|
title: 'Columns',
|
|
184
|
-
details: '
|
|
187
|
+
details: 'Configure Column Visibility, Order, Pinning, Sizing and Sorting',
|
|
185
188
|
isVisible: () => true,
|
|
186
|
-
renderSummary: () => _jsx(ColumnsSectionSummary, {}),
|
|
187
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(ColumnsSection, { onChange: setLayout }) })),
|
|
189
|
+
renderSummary: (data) => _jsx(ColumnsSectionSummary, { layout: data }),
|
|
190
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(ColumnsSection, { layoutWizardMode: layoutWizardMode, onChange: setLayout }) })),
|
|
188
191
|
},
|
|
189
192
|
{
|
|
190
193
|
title: 'Aggregations',
|
|
191
194
|
isVisible: () => layoutSupportedFeatures.TableAggregationColumns,
|
|
192
195
|
details: 'Select Aggregation Columns and Behaviour',
|
|
193
|
-
renderSummary: () => _jsx(AggregationsSectionSummary, {}),
|
|
196
|
+
renderSummary: (data) => _jsx(AggregationsSectionSummary, { layout: data }),
|
|
194
197
|
isValid: (data) => isAggregationsSectionValid(data),
|
|
195
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(AggregationsSection, { onChange: (layout) => {
|
|
198
|
+
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(AggregationsSection, { layoutWizardMode: layoutWizardMode, onChange: (layout) => {
|
|
196
199
|
let newLayout = cloneObject(layout);
|
|
197
200
|
// if we do not have an weighted avg col, we need to clear the row summary if one exists
|
|
198
201
|
if (newLayout.RowSummaries) {
|
|
@@ -231,13 +234,6 @@ export const LayoutWizard = (props) => {
|
|
|
231
234
|
isValid: areSummaryRowsValid,
|
|
232
235
|
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(RowSummarySection, { onChange: setLayout }) })),
|
|
233
236
|
},
|
|
234
|
-
{
|
|
235
|
-
title: 'Sort',
|
|
236
|
-
isVisible: () => layoutSupportedFeatures.ColumnSorts,
|
|
237
|
-
renderSummary: () => _jsx(SortSectionSummary, {}),
|
|
238
|
-
details: 'Configure Column Sorts',
|
|
239
|
-
render: () => (_jsx(Box, { className: "twa:p-2 twa:h-full", children: _jsx(SortSection, { onChange: (newLayout) => setLayout(newLayout) }) })),
|
|
240
|
-
},
|
|
241
237
|
{
|
|
242
238
|
title: 'Column Filters',
|
|
243
239
|
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 {};
|
|
@@ -1,20 +1,70 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import FormLayout, { FormRow } from '../../../../components/FormLayout';
|
|
5
|
-
import { Card } from '../../../../components/Card';
|
|
6
|
-
import { Tag } from '../../../../components/Tag';
|
|
3
|
+
import { ColumnTag, Tag } from '../../../../components/Tag';
|
|
7
4
|
import { getDisplayAggFuncNames, } from '../../../../AdaptableState/Common/AggregationColumns';
|
|
8
5
|
import { useAdaptable } from '../../../AdaptableContext';
|
|
9
6
|
import { ValueSelector } from '../../../Components/ValueSelector';
|
|
10
7
|
import { useOnePageAdaptableWizardContext } from '../../../Wizard/OnePageAdaptableWizard';
|
|
8
|
+
import { CollapsibleWizardCard, CollapsibleWizardValueSummary, getWizardAccordionSectionClassName, renderCompactColumnTags, useWizardCardAccordion, } from '../../../Wizard/CollapsibleWizardCard';
|
|
9
|
+
import { getLayoutWizardInitialExpandedCardId, isTableAggregationsSectionConfigured, } from './layoutWizardAccordionHelpers';
|
|
11
10
|
import { columnFilter } from './Utilities';
|
|
12
11
|
import { ColumnGroupTag } from '../../../Components/ColumnGroupTag';
|
|
13
12
|
import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
|
|
14
|
-
import
|
|
13
|
+
import { Card } from '../../../../components/Card';
|
|
15
14
|
import { Box, Flex } from '../../../../components/Flex';
|
|
16
15
|
import { SingleSelect } from '../../../../components/NewSelect';
|
|
16
|
+
import { LAYOUT_WIZARD_COLUMN_LIST_HEADER_CLASS, LAYOUT_WIZARD_COLUMN_LIST_OPTION_CLASS, LAYOUT_WIZARD_COLUMN_LIST_SEARCH_CLASS, } from './layoutWizardColumns';
|
|
17
|
+
import Radio, { RadioGroup } from '../../../../components/Radio';
|
|
18
|
+
import { TypeRadio } from '../../../Wizard/TypeRadio';
|
|
19
|
+
import { getTableAggregationSummaryValues } from '../../../../Strategy/Utilities/Layout/aggregationSummaryHelpers';
|
|
20
|
+
import { renderSummaryStringTags } from '../../../Wizard/SummaryColorTag';
|
|
17
21
|
const WEIGHTED_AVERAGE_AGG_FN_NAME = 'weightedAvg';
|
|
22
|
+
export const GRAND_TOTAL_ROW_LABELS = {
|
|
23
|
+
off: 'None',
|
|
24
|
+
top: 'Top',
|
|
25
|
+
bottom: 'Bottom',
|
|
26
|
+
pinnedTop: 'Pinned Top',
|
|
27
|
+
pinnedBottom: 'Pinned Bottom',
|
|
28
|
+
};
|
|
29
|
+
export const GRAND_TOTAL_ROW_DESCRIPTIONS = {
|
|
30
|
+
off: 'Grand Total Row is not displayed in the grid',
|
|
31
|
+
top: 'Grand Total Row is displayed at the top of the grid',
|
|
32
|
+
bottom: 'Grand Total Row is displayed at the bottom of the grid',
|
|
33
|
+
pinnedTop: 'Grand Total Row is pinned to the top of the grid',
|
|
34
|
+
pinnedBottom: 'Grand Total Row is pinned to the bottom of the grid',
|
|
35
|
+
};
|
|
36
|
+
export const GRAND_TOTAL_ROW_OPTIONS = [
|
|
37
|
+
'off',
|
|
38
|
+
'top',
|
|
39
|
+
'bottom',
|
|
40
|
+
'pinnedTop',
|
|
41
|
+
'pinnedBottom',
|
|
42
|
+
];
|
|
43
|
+
export function getGrandTotalRowKey(layout) {
|
|
44
|
+
const value = layout.GrandTotalRow;
|
|
45
|
+
if (value == null || value === false) {
|
|
46
|
+
return 'off';
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
export function getGrandTotalRowLabel(layout) {
|
|
51
|
+
return GRAND_TOTAL_ROW_LABELS[getGrandTotalRowKey(layout)];
|
|
52
|
+
}
|
|
53
|
+
export function getGrandTotalRowDescription(layout) {
|
|
54
|
+
return GRAND_TOTAL_ROW_DESCRIPTIONS[getGrandTotalRowKey(layout)];
|
|
55
|
+
}
|
|
56
|
+
export function getAggFuncSummaryLabel(columnId, aggFunc, aggregationColumnsMap) {
|
|
57
|
+
if (aggregationColumnsMap[columnId]) {
|
|
58
|
+
return aggregationColumnsMap[columnId];
|
|
59
|
+
}
|
|
60
|
+
if (typeof aggFunc === 'object' && aggFunc.type === 'weightedAverage') {
|
|
61
|
+
return WEIGHTED_AVERAGE_AGG_FN_NAME;
|
|
62
|
+
}
|
|
63
|
+
if (typeof aggFunc === 'string') {
|
|
64
|
+
return aggFunc;
|
|
65
|
+
}
|
|
66
|
+
return 'agg';
|
|
67
|
+
}
|
|
18
68
|
export const isAggregationsSectionValid = (data) => {
|
|
19
69
|
const weightedAvg = data.TableAggregationColumns
|
|
20
70
|
? (data.TableAggregationColumns || []).find(({ AggFunc }) => typeof AggFunc === 'object' &&
|
|
@@ -25,18 +75,15 @@ export const isAggregationsSectionValid = (data) => {
|
|
|
25
75
|
}
|
|
26
76
|
return true;
|
|
27
77
|
};
|
|
28
|
-
export const AggregationsSectionSummary = () => {
|
|
78
|
+
export const AggregationsSectionSummary = (props) => {
|
|
29
79
|
const adaptable = useAdaptable();
|
|
30
|
-
const { data:
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
content = _jsx(Tag, { children: "No Aggregations" });
|
|
80
|
+
const { data: contextLayout } = useOnePageAdaptableWizardContext();
|
|
81
|
+
const layout = props.layout ?? contextLayout;
|
|
82
|
+
const values = getTableAggregationSummaryValues(layout, adaptable.api);
|
|
83
|
+
if (!values.length) {
|
|
84
|
+
return _jsx(Tag, { children: "No Aggregations" });
|
|
38
85
|
}
|
|
39
|
-
return
|
|
86
|
+
return renderSummaryStringTags(values);
|
|
40
87
|
};
|
|
41
88
|
const ColumnRow = (props) => {
|
|
42
89
|
const aggValue = props.layout?.TableAggregationColumns?.find((agg) => agg.ColumnId === props.column.columnId)?.AggFunc;
|
|
@@ -103,10 +150,10 @@ const ColumnRow = (props) => {
|
|
|
103
150
|
label: col.friendlyName,
|
|
104
151
|
value: col.columnId,
|
|
105
152
|
}));
|
|
106
|
-
return (_jsxs(Flex, { alignItems: "center", children: [props.column.friendlyName, _jsx(ColumnGroupTag, { column: props.column }), aggValue && (_jsx(SingleSelect, { className: "twa:min-w-[
|
|
153
|
+
return (_jsxs(Flex, { alignItems: "center", className: "twa:min-w-0 twa:flex-wrap twa:gap-x-1.5 twa:gap-y-0.5", children: [_jsx(Box, { className: "twa:truncate", children: props.column.friendlyName }), _jsx(ColumnGroupTag, { column: props.column }), aggValue && (_jsx(SingleSelect, { size: "small", stopMouseDownPropagation: true, className: "twa:min-w-[6.5rem] twa:shrink-0", value: currentAggFnName, items: aggFunctionNames.map((fnName) => ({
|
|
107
154
|
label: fnName,
|
|
108
155
|
value: fnName,
|
|
109
|
-
})), onValueChange: updateAggFunc })), currentAggFnName === WEIGHTED_AVERAGE_AGG_FN_NAME && (_jsxs(Flex, { className: "twa:
|
|
156
|
+
})), onValueChange: updateAggFunc })), currentAggFnName === WEIGHTED_AVERAGE_AGG_FN_NAME && (_jsxs(Flex, { alignItems: "center", className: "twa:gap-1 twa:shrink-0", children: [_jsx(Box, { className: "twa:text-3", children: "Weight" }), _jsx(SingleSelect, { size: "small", stopMouseDownPropagation: true, className: "twa:min-w-[6.5rem]", placeholder: "Select Weight", value: weightColumnId, items: weightColumnOptions, onValueChange: updateWeightedColumn })] }))] }));
|
|
110
157
|
};
|
|
111
158
|
export const AggregationsSection = (props) => {
|
|
112
159
|
const adaptable = useAdaptable();
|
|
@@ -174,20 +221,13 @@ export const AggregationsSection = (props) => {
|
|
|
174
221
|
SuppressAggFuncInHeader: checked,
|
|
175
222
|
});
|
|
176
223
|
};
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
};
|
|
187
|
-
})), placeholder: "Off", value: layout.GrandTotalRow, onValueChange: (value) => {
|
|
188
|
-
props.onChange({
|
|
189
|
-
...layout,
|
|
190
|
-
GrandTotalRow: value,
|
|
191
|
-
});
|
|
192
|
-
} }) })] })] })] }));
|
|
224
|
+
const aggregationEntries = layout.TableAggregationColumns || [];
|
|
225
|
+
const initialExpandedCardId = getLayoutWizardInitialExpandedCardId(props.layoutWizardMode, 'columns', isTableAggregationsSectionConfigured(layout));
|
|
226
|
+
const { bindCard, hasExpandedCard, expandedFillsSpace } = useWizardCardAccordion(initialExpandedCardId);
|
|
227
|
+
return (_jsxs(Box, { className: getWizardAccordionSectionClassName(hasExpandedCard, expandedFillsSpace), children: [_jsx(CollapsibleWizardCard, { ...bindCard('columns', { fillAvailable: true }), surface: "panel", "data-name": "aggregation-columns", title: "Aggregation Columns", help: "Select a column and an aggregation function", collapsedHelp: "", compactSummary: renderCompactColumnTags(aggregationEntries.map(({ ColumnId }) => ColumnId), (columnId) => adaptable.api.columnApi.getFriendlyNameForColumnId(columnId), { emptyLabel: 'No columns' }), summary: aggregationEntries.length ? (_jsx(Flex, { flexWrap: "wrap", className: "twa:gap-1", children: aggregationEntries.map(({ ColumnId, AggFunc }) => (_jsxs(ColumnTag, { children: [adaptable.api.columnApi.getFriendlyNameForColumnId(ColumnId), " (", getAggFuncSummaryLabel(ColumnId, AggFunc, aggregationColumnsMap), ")"] }, ColumnId))) })) : (_jsx(Tag, { children: "No columns" })), 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: _jsx(Card, { shadow: false, className: "twa:h-full twa:overflow-hidden twa:flex twa:flex-col", children: _jsx(Card.Body, { className: "twa:flex-1 twa:min-h-0 twa:overflow-hidden twa:px-1 twa:pt-0 twa:pb-0", children: _jsx(Box, { className: "twa:flex twa:flex-col twa:gap-1.5 twa:h-full twa:overflow-hidden twa:flex-1 twa:min-h-0", "data-name": "aggregation-columns-container", children: _jsx(ValueSelector, { compact: true, showFilterInput: true, filter: columnFilter, filterPlaceholder: "Search Columns...", compactHeaderClassName: LAYOUT_WIZARD_COLUMN_LIST_HEADER_CLASS, compactFilterClassName: LAYOUT_WIZARD_COLUMN_LIST_SEARCH_CLASS, optionLayout: "label-beside-checkbox", toggleSelectionOnRowClick: true, optionClassName: LAYOUT_WIZARD_COLUMN_LIST_OPTION_CLASS, toIdentifier: (option) => `${option.columnId}`, toLabel: (option) => option.friendlyName ?? option.columnId, toListLabel: (column) => (_jsx(ColumnRow, { onChangeAggFunction: handleAggregationChange, layout: layout, column: column, aggregationColumnsMap: aggregationColumnsMap, numberColumns: numberColumns })), options: sortedAggregableColumns, value: aggregationEntries.map((agg) => agg.ColumnId), allowReorder: () => true, onChange: handleColumnsSelectionChange }) }) }) }) }), _jsx(CollapsibleWizardCard, { ...bindCard('suppress-header'), surface: "panel", "data-name": "omit-aggregation-from-header", title: "Aggregation Column Header", help: "Set behaviour for aggregation function names", collapsedHelp: "Behaviour for aggregation function names", compactSummary: _jsx(Tag, { children: layout.SuppressAggFuncInHeader ? 'Hide Function Name in Header' : 'Show Function Name in Header' }), summary: _jsx(CollapsibleWizardValueSummary, { value: _jsx(Tag, { children: layout.SuppressAggFuncInHeader ? 'Hide Function Name in Header' : 'Show Function Name in Header' }) }), children: _jsxs(RadioGroup, { orientation: "vertical", value: layout.SuppressAggFuncInHeader ?? false, onRadioChange: handleSuppressAggFuncInHeader, children: [_jsx(Radio, { value: false, children: "Show Aggregation function names" }), _jsx(Radio, { value: true, children: "Hide Aggregation function names" })] }) }), _jsx(CollapsibleWizardCard, { ...bindCard('grand-total'), surface: "panel", "data-name": "grand-total-row", title: "Grand Total Row", help: "Set position of the Grand Total Row in the grid", collapsedHelp: "Position of the Grand Total Row in the grid", compactSummary: _jsx(Tag, { children: getGrandTotalRowLabel(layout) }), summary: _jsx(CollapsibleWizardValueSummary, { value: _jsx(Tag, { children: getGrandTotalRowLabel(layout) }) }), children: _jsx(RadioGroup, { orientation: "vertical", value: getGrandTotalRowKey(layout), onRadioChange: (key) => {
|
|
228
|
+
props.onChange({
|
|
229
|
+
...layout,
|
|
230
|
+
GrandTotalRow: key === 'off' ? null : key,
|
|
231
|
+
});
|
|
232
|
+
}, children: GRAND_TOTAL_ROW_OPTIONS.map((key) => (_jsx(TypeRadio, { value: key, text: GRAND_TOTAL_ROW_LABELS[key], description: GRAND_TOTAL_ROW_DESCRIPTIONS[key] }, key))) }) })] }));
|
|
193
233
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Layout } from '../../../../../types';
|
|
3
|
-
export declare const ColumnsSectionSummary: React.FunctionComponent
|
|
3
|
+
export declare const ColumnsSectionSummary: React.FunctionComponent<{
|
|
4
|
+
layout?: Layout;
|
|
5
|
+
}>;
|
|
4
6
|
interface ColumnsSectionProps {
|
|
5
7
|
onChange: (data: Layout) => void;
|
|
8
|
+
layoutWizardMode?: 'create' | 'edit';
|
|
6
9
|
}
|
|
7
10
|
export declare const ColumnsSection: React.FunctionComponent<ColumnsSectionProps>;
|
|
8
11
|
export {};
|