@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
|
@@ -4,13 +4,12 @@ exports.renderCellStyleSummaryTags = exports.getCellBoxStyleSummaryItems = expor
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
|
-
const CheckBox_1 = require("../../../components/CheckBox");
|
|
8
7
|
const ColorPicker_1 = require("../../../components/ColorPicker");
|
|
9
8
|
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
10
9
|
const Flex_1 = require("../../../components/Flex");
|
|
11
10
|
const NumberInput_1 = require("../../../components/Input/NumberInput");
|
|
12
11
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
13
|
-
const
|
|
12
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
14
13
|
const Toggle_1 = require("../../../components/Toggle");
|
|
15
14
|
const FORM_SIZES = ['200px', '1fr'];
|
|
16
15
|
const FONT_SIZE_ITEMS = [
|
|
@@ -50,18 +49,13 @@ const StyledColumnFontStyleEditor = (props) => {
|
|
|
50
49
|
props.onChange(next);
|
|
51
50
|
}
|
|
52
51
|
};
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
update({ ForeColor: font.ForeColor ?? '#000000' });
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
update({ ForeColor: undefined });
|
|
59
|
-
}
|
|
52
|
+
const onForeColorChange = (color) => {
|
|
53
|
+
update({ ForeColor: color });
|
|
60
54
|
};
|
|
61
55
|
const onAlignmentChange = (alignment) => {
|
|
62
56
|
update({ Alignment: alignment });
|
|
63
57
|
};
|
|
64
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { className: "twa:ml-2", sizes: [...FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Text Colour:", children: (0, jsx_runtime_1.
|
|
58
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { className: "twa:ml-2", sizes: [...FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Text Colour:", children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { className: "twa:ml-2", disabled: disabled, api: props.api, value: font.ForeColor, defaultColor: "#000000", onChange: onForeColorChange }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Font:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: disabledClass, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2 twa:flex-wrap", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2", children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { standalone: true, pressed: font.FontStyle === 'Italic', onPressedChange: (pressed) => update({ FontStyle: pressed ? 'Italic' : undefined }), icon: "italic" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { standalone: true, pressed: font.FontWeight === 'Bold', onPressedChange: (pressed) => update({ FontWeight: pressed ? 'Bold' : undefined }), icon: "bold" })] }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: font.TextDecoration === 'Underline', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'Underline' : undefined }), icon: "underline" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: font.TextDecoration === 'LineThrough', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'LineThrough' : undefined }), icon: "strikethrough" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: font.TextDecoration === 'Overline', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'Overline' : undefined }), icon: "overline" })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-32", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { placeholder: "Default size", items: FONT_SIZE_ITEMS, value: font.FontSize ?? '', onValueChange: (value) => update({
|
|
65
59
|
FontSize: (value || undefined),
|
|
66
60
|
}) }) })] }) }) }), !hideAlignment && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Alignment:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: disabledClass, children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2", children: (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-left", pressed: font.Alignment === 'Left', onPressedChange: (pressed) => onAlignmentChange(pressed ? 'Left' : undefined) }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-center", pressed: font.Alignment === 'Center', onPressedChange: (pressed) => onAlignmentChange(pressed ? 'Center' : undefined) }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { icon: "align-right", pressed: font.Alignment === 'Right', onPressedChange: (pressed) => onAlignmentChange(pressed ? 'Right' : undefined) })] }) }) }) }))] }) }));
|
|
67
61
|
};
|
|
@@ -93,7 +87,7 @@ const StyledColumnCellStyleEditor = (props) => {
|
|
|
93
87
|
props.onChange(next);
|
|
94
88
|
}
|
|
95
89
|
};
|
|
96
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { className: "twa:ml-2", sizes: [...FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Background:", children: (0, jsx_runtime_1.
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { className: "twa:ml-2", sizes: [...FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Background:", children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { className: "twa:ml-2", disabled: disabled, api: props.api, value: cell.BackColor, defaultColor: "#ffffff", onChange: (c) => update({ BackColor: c }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Border colour:", children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { className: "twa:ml-2", disabled: disabled, api: props.api, value: cell.BorderColor, defaultColor: "#000000", onChange: (c) => update({ BorderColor: c }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Border radius:", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2", children: [(0, jsx_runtime_1.jsx)(NumberInput_1.NumberInput, { disabled: disabled, className: "twa:w-20", value: cell.BorderRadius, min: 0, max: 64, step: 1, onChange: (v) => update({ BorderRadius: v === undefined || isNaN(Number(v)) ? undefined : v }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70", children: "px" })] }) })] }) }));
|
|
97
91
|
};
|
|
98
92
|
exports.StyledColumnCellStyleEditor = StyledColumnCellStyleEditor;
|
|
99
93
|
/**
|
|
@@ -133,7 +127,7 @@ const renderFontStyleSummaryTags = (font) => {
|
|
|
133
127
|
if (!items.length) {
|
|
134
128
|
return null;
|
|
135
129
|
}
|
|
136
|
-
return (
|
|
130
|
+
return (0, SummaryColorTag_1.renderSummaryLabelValueTags)(items);
|
|
137
131
|
};
|
|
138
132
|
exports.renderFontStyleSummaryTags = renderFontStyleSummaryTags;
|
|
139
133
|
/**
|
|
@@ -164,6 +158,6 @@ const renderCellStyleSummaryTags = (cell) => {
|
|
|
164
158
|
if (!items.length) {
|
|
165
159
|
return null;
|
|
166
160
|
}
|
|
167
|
-
return (
|
|
161
|
+
return (0, SummaryColorTag_1.renderSummaryLabelValueTags)(items);
|
|
168
162
|
};
|
|
169
163
|
exports.renderCellStyleSummaryTags = renderCellStyleSummaryTags;
|
|
@@ -8,6 +8,7 @@ const NewSelect_1 = require("../../../components/NewSelect");
|
|
|
8
8
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
9
9
|
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
10
10
|
const Tag_1 = require("../../../components/Tag");
|
|
11
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
11
12
|
const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
|
|
12
13
|
const ColorPicker_1 = require("../../../components/ColorPicker");
|
|
13
14
|
const CheckBox_1 = require("../../../components/CheckBox");
|
|
@@ -100,7 +101,7 @@ const renderSparklineSummary = (data) => {
|
|
|
100
101
|
const items = buildStyledColumnSparklineStyleSummaryStrings(sparkline, {
|
|
101
102
|
includeEmptyFeatures: true,
|
|
102
103
|
});
|
|
103
|
-
return (
|
|
104
|
+
return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
|
|
104
105
|
};
|
|
105
106
|
exports.renderSparklineSummary = renderSparklineSummary;
|
|
106
107
|
/**
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type StyledColumnTypeThumbnailKey = 'gradient' | 'percent' | 'sparkline' | 'badge' | 'bullet' | 'rating' | 'rangeBar' | 'icon';
|
|
3
|
+
export declare const StyledColumnTypeThumbnail: React.FunctionComponent<{
|
|
4
|
+
type: StyledColumnTypeThumbnailKey;
|
|
5
|
+
}>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StyledColumnTypeThumbnail = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const Flex_1 = require("../../../components/Flex");
|
|
6
|
+
const Badge_1 = require("../../Components/Badge");
|
|
7
|
+
const StyledColumnRatingPreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview");
|
|
8
|
+
const WizardTypeSelection_1 = require("../../Wizard/WizardTypeSelection");
|
|
9
|
+
const THUMBNAIL_FRAME_CLASS = WizardTypeSelection_1.WIZARD_TYPE_SELECTION_PREVIEW_FRAME_CLASS;
|
|
10
|
+
const THUMBNAIL_SVG_CLASS = 'twa:block twa:h-[22px] twa:w-full';
|
|
11
|
+
const DEFAULT_BAR = 'var(--ab-color-accent, #07c)';
|
|
12
|
+
const DEFAULT_TRACK = 'color-mix(in srgb, var(--ab-color-foreground) 30%, transparent)';
|
|
13
|
+
const DEFAULT_MARKER = 'var(--ab-color-foreground, #333)';
|
|
14
|
+
const flagEmoji = (countryCodeAlpha2) => {
|
|
15
|
+
const cc = countryCodeAlpha2.toUpperCase();
|
|
16
|
+
if (cc.length !== 2) {
|
|
17
|
+
return cc;
|
|
18
|
+
}
|
|
19
|
+
const regionalIndicatorBase = 0x1f1a5;
|
|
20
|
+
return String.fromCodePoint(regionalIndicatorBase + cc.charCodeAt(0), regionalIndicatorBase + cc.charCodeAt(1));
|
|
21
|
+
};
|
|
22
|
+
const BadgeThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${THUMBNAIL_FRAME_CLASS} twa:justify-start`, children: (0, jsx_runtime_1.jsxs)("div", { className: "ab-Badge__wrapper ab-Badge__wrapper--truncate", style: { gap: 4 }, children: [(0, jsx_runtime_1.jsx)(Badge_1.Badge, { pillStyle: { BackColor: '#e8f5e9', ForeColor: '#2e7d32' }, shape: "Pill", density: "Compact", children: "Buy" }), (0, jsx_runtime_1.jsx)(Badge_1.Badge, { pillStyle: { BackColor: '#ffebee', ForeColor: '#c62828' }, shape: "Pill", density: "Compact", children: "Sell" })] }) }));
|
|
23
|
+
const IconThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, style: { gap: 10 }, children: ['US', 'GB', 'FR'].map((code) => ((0, jsx_runtime_1.jsx)("span", { className: "ab-IconStyle__glyph", style: {
|
|
24
|
+
fontSize: 18,
|
|
25
|
+
lineHeight: 1,
|
|
26
|
+
display: 'inline-flex',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
justifyContent: 'center',
|
|
29
|
+
}, children: flagEmoji(code) }, code))) }));
|
|
30
|
+
const RatingThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, children: (0, jsx_runtime_1.jsx)(StyledColumnRatingPreview_1.RatingPreview, { rating: { Max: 5, AllowHalf: true }, value: 3.5 }) }));
|
|
31
|
+
const GradientThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `${THUMBNAIL_FRAME_CLASS} twa:gap-1 twa:px-1`, children: [
|
|
32
|
+
{ label: '42', background: '#63be7b' },
|
|
33
|
+
{ label: '68', background: '#ffeb84' },
|
|
34
|
+
{ label: '91', background: '#f8696b' },
|
|
35
|
+
].map((cell) => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:rounded-sm twa:px-1 twa:py-0.5 twa:text-center twa:text-2 twa:leading-tight", style: { background: cell.background, color: '#1a1a1a' }, children: cell.label }, cell.label))) }));
|
|
36
|
+
const PercentBarThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:relative twa:h-[6px] twa:w-full twa:rounded-sm", style: { background: DEFAULT_TRACK }, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:absolute twa:top-0 twa:h-full twa:rounded-sm", style: { left: '8%', width: '62%', background: DEFAULT_BAR } }) }) }));
|
|
37
|
+
const BulletThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, children: (0, jsx_runtime_1.jsxs)("svg", { className: THUMBNAIL_SVG_CLASS, viewBox: "0 0 100 22", preserveAspectRatio: "none", "aria-hidden": true, children: [(0, jsx_runtime_1.jsx)("rect", { x: "0", y: "2", width: "33", height: "18", fill: "#f8696b", opacity: "0.45" }), (0, jsx_runtime_1.jsx)("rect", { x: "33", y: "2", width: "34", height: "18", fill: "#ffeb84", opacity: "0.45" }), (0, jsx_runtime_1.jsx)("rect", { x: "67", y: "2", width: "33", height: "18", fill: "#63be7b", opacity: "0.45" }), (0, jsx_runtime_1.jsx)("rect", { x: "4", y: "7", width: "52", height: "8", rx: "1", fill: DEFAULT_BAR }), (0, jsx_runtime_1.jsx)("line", { x1: "78", y1: "3", x2: "78", y2: "19", stroke: DEFAULT_MARKER, strokeWidth: "2.5", vectorEffect: "non-scaling-stroke" })] }) }));
|
|
38
|
+
const RangeBarThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, children: (0, jsx_runtime_1.jsxs)("svg", { className: THUMBNAIL_SVG_CLASS, viewBox: "0 0 100 22", preserveAspectRatio: "none", "aria-hidden": true, children: [(0, jsx_runtime_1.jsx)("rect", { x: "0", y: "0", width: "100", height: "22", fill: "transparent" }), (0, jsx_runtime_1.jsx)("rect", { x: "2", y: "8", width: "96", height: "6", rx: "1", fill: DEFAULT_TRACK }), (0, jsx_runtime_1.jsx)("line", { x1: "38", y1: "4", x2: "38", y2: "18", stroke: DEFAULT_MARKER, strokeWidth: "2", vectorEffect: "non-scaling-stroke" }), (0, jsx_runtime_1.jsx)("polygon", { points: "72,4 82,11 72,18", fill: DEFAULT_BAR })] }) }));
|
|
39
|
+
const SparklineThumbnail = () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: THUMBNAIL_FRAME_CLASS, children: (0, jsx_runtime_1.jsxs)("svg", { className: THUMBNAIL_SVG_CLASS, viewBox: "0 0 100 22", preserveAspectRatio: "none", "aria-hidden": true, children: [(0, jsx_runtime_1.jsx)("polyline", { points: "0,16 12,12 24,14 36,8 48,10 60,4 72,7 84,3 100,6", fill: "none", stroke: DEFAULT_BAR, strokeWidth: "1.75", vectorEffect: "non-scaling-stroke" }), (0, jsx_runtime_1.jsx)("polygon", { points: "0,22 0,16 12,12 24,14 36,8 48,10 60,4 72,7 84,3 100,6 100,22", fill: DEFAULT_BAR, opacity: "0.15" })] }) }));
|
|
40
|
+
const THUMBNAIL_BY_TYPE = {
|
|
41
|
+
badge: BadgeThumbnail,
|
|
42
|
+
icon: IconThumbnail,
|
|
43
|
+
rating: RatingThumbnail,
|
|
44
|
+
gradient: GradientThumbnail,
|
|
45
|
+
percent: PercentBarThumbnail,
|
|
46
|
+
bullet: BulletThumbnail,
|
|
47
|
+
rangeBar: RangeBarThumbnail,
|
|
48
|
+
sparkline: SparklineThumbnail,
|
|
49
|
+
};
|
|
50
|
+
const StyledColumnTypeThumbnail = ({ type }) => {
|
|
51
|
+
const Thumbnail = THUMBNAIL_BY_TYPE[type];
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "aria-hidden": true, className: "twa:w-full", children: (0, jsx_runtime_1.jsx)(Thumbnail, {}) }));
|
|
53
|
+
};
|
|
54
|
+
exports.StyledColumnTypeThumbnail = StyledColumnTypeThumbnail;
|
|
@@ -4,4 +4,6 @@ import { StyledColumn } from '../../../AdaptableState/StyledColumnState';
|
|
|
4
4
|
export interface StyledColumnWizardProps extends AdaptableOnePageWizardProps<StyledColumn> {
|
|
5
5
|
isNew: boolean;
|
|
6
6
|
}
|
|
7
|
+
/** First wizard step to open when editing an existing Styled Column (column menu, settings list, etc.). */
|
|
8
|
+
export declare const getStyledColumnEditDefaultSectionName: (styledColumn: StyledColumn) => string;
|
|
7
9
|
export declare const StyledColumnWizard: (props: StyledColumnWizardProps) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StyledColumnWizard = void 0;
|
|
3
|
+
exports.StyledColumnWizard = exports.getStyledColumnEditDefaultSectionName = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_1 = require("react");
|
|
@@ -57,10 +57,34 @@ const computeDefaultStyledColumnName = (sc) => {
|
|
|
57
57
|
}
|
|
58
58
|
return `${typeKey}-${sc.ColumnId || 'column'}`;
|
|
59
59
|
};
|
|
60
|
+
/** First wizard step to open when editing an existing Styled Column (column menu, settings list, etc.). */
|
|
61
|
+
const getStyledColumnEditDefaultSectionName = (styledColumn) => {
|
|
62
|
+
if (styledColumn.BadgeStyle) {
|
|
63
|
+
return 'Badges';
|
|
64
|
+
}
|
|
65
|
+
if (styledColumn.GradientStyle || styledColumn.PercentBarStyle) {
|
|
66
|
+
return 'Ranges';
|
|
67
|
+
}
|
|
68
|
+
if (styledColumn.BulletChartStyle) {
|
|
69
|
+
return 'Ranges';
|
|
70
|
+
}
|
|
71
|
+
if (styledColumn.RangeBarStyle) {
|
|
72
|
+
return 'Style';
|
|
73
|
+
}
|
|
74
|
+
if (styledColumn.IconStyle) {
|
|
75
|
+
return 'Mappings';
|
|
76
|
+
}
|
|
77
|
+
return 'Style';
|
|
78
|
+
};
|
|
79
|
+
exports.getStyledColumnEditDefaultSectionName = getStyledColumnEditDefaultSectionName;
|
|
60
80
|
const StyledColumnWizard = (props) => {
|
|
61
81
|
const data = props.data ?? props.popupParams?.value;
|
|
62
82
|
const popupDefaultCurrentSectionName = props?.popupParams?.config?.defaultCurrentSectionName ?? undefined;
|
|
63
|
-
const
|
|
83
|
+
const hasExistingData = Boolean(data);
|
|
84
|
+
const isEdit = hasExistingData && props.popupParams?.action !== 'New';
|
|
85
|
+
const defaultCurrentSectionName = props.defaultCurrentSectionName ??
|
|
86
|
+
popupDefaultCurrentSectionName ??
|
|
87
|
+
(isEdit ? (0, exports.getStyledColumnEditDefaultSectionName)(data) : undefined);
|
|
64
88
|
const allStyledColumns = (0, react_redux_1.useSelector)((state) => state.StyledColumn?.StyledColumns ?? []);
|
|
65
89
|
const [styledColumn, setStyledColumn] = (0, react_1.useState)(() => {
|
|
66
90
|
if (data) {
|
|
@@ -115,7 +139,7 @@ const StyledColumnWizard = (props) => {
|
|
|
115
139
|
}
|
|
116
140
|
else if (styledColumn.GradientStyle || styledColumn.PercentBarStyle) {
|
|
117
141
|
specificSteps.push({
|
|
118
|
-
details: '
|
|
142
|
+
details: 'Select type of Cell Range and configure contents',
|
|
119
143
|
renderSummary: StyledColumnWizardStyleSection_1.renderStyledColumnRangesSummary,
|
|
120
144
|
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(StyledColumnWizardStyleSection_1.StyledColumnWizardRangesSection, { onChange: setStyledColumn }) })),
|
|
121
145
|
title: 'Ranges',
|
|
@@ -273,9 +297,7 @@ const StyledColumnWizard = (props) => {
|
|
|
273
297
|
isValid: StyledColumnWizardScopeSection_1.isValidStyledColumnScope,
|
|
274
298
|
renderSummary: StyledColumnWizardScopeSection_1.renderStyledColumnScopeSummary,
|
|
275
299
|
details: 'Select the Column and Rows where Style should render',
|
|
276
|
-
render: () => {
|
|
277
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2 twa:h-full", children: (0, jsx_runtime_1.jsx)(StyledColumnWizardScopeSection_1.StyledColumnWizardScopeSection, { isNew: props.isNew, onChange: setStyledColumn }) }));
|
|
278
|
-
},
|
|
300
|
+
render: () => ((0, jsx_runtime_1.jsx)(StyledColumnWizardScopeSection_1.StyledColumnWizardScopeSection, { isNew: props.isNew, onChange: setStyledColumn })),
|
|
279
301
|
title: 'Scope',
|
|
280
302
|
},
|
|
281
303
|
...specificSteps,
|
|
@@ -13,7 +13,6 @@ const RangesComponent_1 = require("../../Components/RangesComponent");
|
|
|
13
13
|
const ColumnSelector_1 = require("../../Components/Selectors/ColumnSelector");
|
|
14
14
|
const UIHelper_1 = require("../../UIHelper");
|
|
15
15
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
16
|
-
const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
|
|
17
16
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
|
|
18
17
|
const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
|
|
19
18
|
const Flex_1 = require("../../../components/Flex");
|
|
@@ -22,6 +21,7 @@ const StyledColumnBulletPreview_1 = require("./StyledColumnWizardStyleSection/Co
|
|
|
22
21
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
23
22
|
const StyledColumnSliceStyleEditors_1 = require("./StyledColumnSliceStyleEditors");
|
|
24
23
|
const Card_1 = require("../../../components/Card");
|
|
24
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
25
25
|
const BULLET_STYLE_FORM_SIZES = ['200px', '1fr'];
|
|
26
26
|
// ---------------------------------------------------------------------------
|
|
27
27
|
// Summary helpers
|
|
@@ -141,7 +141,7 @@ const renderStyledColumnBulletRangesSummary = (data) => {
|
|
|
141
141
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No bands defined" });
|
|
142
142
|
}
|
|
143
143
|
const tagItems = (0, exports.getStyledColumnBulletRangesViewValues)(data);
|
|
144
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0,
|
|
144
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0, SummaryColorTag_1.renderSummaryStringTags)(tagItems), (0, jsx_runtime_1.jsx)(BulletRangesSummaryPreview_1.BulletRangesSummaryPreview, { bulletStyle: bullet })] }));
|
|
145
145
|
};
|
|
146
146
|
exports.renderStyledColumnBulletRangesSummary = renderStyledColumnBulletRangesSummary;
|
|
147
147
|
const StyledColumnBulletRangesView = ({ data }) => (0, exports.renderStyledColumnBulletRangesSummary)(data);
|
|
@@ -159,7 +159,7 @@ const renderStyledColumnBulletStyleSummary = (data) => {
|
|
|
159
159
|
if (!items.length) {
|
|
160
160
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Style Defined" });
|
|
161
161
|
}
|
|
162
|
-
return (
|
|
162
|
+
return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
|
|
163
163
|
};
|
|
164
164
|
exports.renderStyledColumnBulletStyleSummary = renderStyledColumnBulletStyleSummary;
|
|
165
165
|
/** Full combined summary (ranges + style); kept for callers that expect one block. */
|
|
@@ -383,20 +383,11 @@ const StyledColumnWizardBulletSection = (props) => {
|
|
|
383
383
|
}, items: [
|
|
384
384
|
{ value: 'Auto', label: 'Auto' },
|
|
385
385
|
{ value: 'Zero', label: 'Zero' },
|
|
386
|
-
] }) }) })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Cell Text" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether to display text in the cell (and if so, then position and font))" })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...BULLET_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Cell Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: bullet.CellText?.includes('CellValue'), onChange: (checked) => toggleCellText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, className: "twa:ml-3", checked: bullet.CellText?.includes('PercentageValue'), onChange: (checked) => toggleCellText('PercentageValue', checked), children: "Percent Value" })] }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Cell Display Position:", children: (0, jsx_runtime_1.jsx)(
|
|
387
|
-
|
|
388
|
-
label: '
|
|
389
|
-
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
label: 'Below Bar',
|
|
393
|
-
onClick: () => handleCellTextPositionChange('Below'),
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
label: 'Merged',
|
|
397
|
-
onClick: () => handleCellTextPositionChange('Merged'),
|
|
398
|
-
},
|
|
399
|
-
], children: bullet.CellTextPosition ?? 'Below' }) })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `twa:mt-3 twa:pt-3 twa:border-t twa:border-foreground/15 ${cellTextDisabled ? 'twa:opacity-50' : ''}`, children: (0, jsx_runtime_1.jsx)(StyledColumnSliceStyleEditors_1.StyledColumnFontStyleEditor, { api: api, disabled: cellTextDisabled, value: bullet.Font, onChange: (next) => {
|
|
386
|
+
] }) }) })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Cell Text" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether to display text in the cell (and if so, then position and font))" })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...BULLET_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Cell Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: bullet.CellText?.includes('CellValue'), onChange: (checked) => toggleCellText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, className: "twa:ml-3", checked: bullet.CellText?.includes('PercentageValue'), onChange: (checked) => toggleCellText('PercentageValue', checked), children: "Percent Value" })] }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Cell Display Position:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", disabled: cellTextDisabled, value: bullet.CellTextPosition ?? 'Below', onValueChange: (v) => handleCellTextPositionChange(v), items: [
|
|
387
|
+
{ value: 'Above', label: 'Above Bar' },
|
|
388
|
+
{ value: 'Below', label: 'Below Bar' },
|
|
389
|
+
{ value: 'Merged', label: 'Merged' },
|
|
390
|
+
] }) }) })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `twa:mt-3 twa:pt-3 twa:border-t twa:border-foreground/15 ${cellTextDisabled ? 'twa:opacity-50' : ''}`, children: (0, jsx_runtime_1.jsx)(StyledColumnSliceStyleEditors_1.StyledColumnFontStyleEditor, { api: api, disabled: cellTextDisabled, value: bullet.Font, onChange: (next) => {
|
|
400
391
|
if (next) {
|
|
401
392
|
update({ Font: next });
|
|
402
393
|
}
|
|
@@ -14,6 +14,7 @@ const NumberInput_1 = require("../../../components/Input/NumberInput");
|
|
|
14
14
|
const StyledColumnGradientHelper_1 = require("../../../Utilities/Helpers/StyledColumnGradientHelper");
|
|
15
15
|
const StyledColumnSliceStyleEditors_1 = require("./StyledColumnSliceStyleEditors");
|
|
16
16
|
const Card_1 = require("../../../components/Card");
|
|
17
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
17
18
|
const StyledColumnGradientPreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview");
|
|
18
19
|
const STYLE_FORM_SIZES = ['200px', '1fr'];
|
|
19
20
|
function formatGradientToolTipSummary(opts) {
|
|
@@ -56,7 +57,7 @@ const renderStyledColumnGradientStyleSummary = (data) => {
|
|
|
56
57
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Styling Defined" });
|
|
57
58
|
}
|
|
58
59
|
const items = buildStyledColumnGradientStyleSummaryStrings(gs, { includeEmptyTooltip: true });
|
|
59
|
-
return (
|
|
60
|
+
return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
|
|
60
61
|
};
|
|
61
62
|
exports.renderStyledColumnGradientStyleSummary = renderStyledColumnGradientStyleSummary;
|
|
62
63
|
const StyledColumnWizardGradientSection = (props) => {
|
|
@@ -9,17 +9,22 @@ const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayou
|
|
|
9
9
|
const Tag_1 = require("../../../components/Tag");
|
|
10
10
|
const CheckBox_1 = require("../../../components/CheckBox");
|
|
11
11
|
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
12
|
+
const ButtonNew_1 = require("../../Components/Buttons/ButtonNew");
|
|
12
13
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
13
14
|
const NumberInput_1 = require("../../../components/Input/NumberInput");
|
|
14
15
|
const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
16
|
+
const popover_1 = require("../../../components/ui/popover");
|
|
17
|
+
const IconSelector_1 = require("../../../components/IconSelector");
|
|
15
18
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
16
|
-
const
|
|
19
|
+
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
17
20
|
const AdaptableIconComponent_1 = require("../../Components/AdaptableIconComponent");
|
|
18
21
|
const IconStylePresets_1 = require("../../../Utilities/Helpers/IconStylePresets");
|
|
19
22
|
const IconRenderer_1 = require("../../../agGrid/cellRenderers/IconRenderer");
|
|
20
23
|
const Card_1 = require("../../../components/Card");
|
|
24
|
+
const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
|
|
21
25
|
const StyledColumnSliceStyleEditors_1 = require("./StyledColumnSliceStyleEditors");
|
|
22
26
|
const StyledColumnIconPreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnIconPreview");
|
|
27
|
+
const wizardSelection_1 = require("../../../Utilities/wizardSelection");
|
|
23
28
|
const STYLE_FORM_SIZES = ['200px', '1fr'];
|
|
24
29
|
const detectIconKind = (spec) => {
|
|
25
30
|
if (typeof spec === 'string')
|
|
@@ -131,7 +136,7 @@ const renderStyledColumnIconMappingsSummary = (data) => {
|
|
|
131
136
|
}
|
|
132
137
|
const tagItems = (0, exports.getStyledColumnIconMappingsViewValues)(data);
|
|
133
138
|
const previewMappings = (0, IconRenderer_1.resolveIconStyleMappingsForSummaryPreview)(ic);
|
|
134
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0,
|
|
139
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0, SummaryColorTag_1.renderSummaryStringTags)(tagItems), renderMappingsPreview(previewMappings)] }));
|
|
135
140
|
};
|
|
136
141
|
exports.renderStyledColumnIconMappingsSummary = renderStyledColumnIconMappingsSummary;
|
|
137
142
|
const StyledColumnIconMappingsView = ({ data }) => (0, exports.renderStyledColumnIconMappingsSummary)(data);
|
|
@@ -149,7 +154,7 @@ const renderStyledColumnIconStyleSummary = (data) => {
|
|
|
149
154
|
if (!items.length) {
|
|
150
155
|
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Style Defined" });
|
|
151
156
|
}
|
|
152
|
-
return (
|
|
157
|
+
return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
|
|
153
158
|
};
|
|
154
159
|
exports.renderStyledColumnIconStyleSummary = renderStyledColumnIconStyleSummary;
|
|
155
160
|
/**
|
|
@@ -183,11 +188,7 @@ const StyledColumnWizardIconSection = (props) => {
|
|
|
183
188
|
const iconStyle = data.IconStyle ?? {};
|
|
184
189
|
const mappings = iconStyle.Mappings ?? [];
|
|
185
190
|
const disabled = !data.ColumnId;
|
|
186
|
-
|
|
187
|
-
// a single row at a time to keep the table tidy and to avoid having
|
|
188
|
-
// multiple editors fighting for screen space.
|
|
189
|
-
const [editingRow, setEditingRow] = React.useState(null);
|
|
190
|
-
const [fallbackIconEditing, setFallbackIconEditing] = React.useState(false);
|
|
191
|
+
const [autoOpenPickerIndex, setAutoOpenPickerIndex] = React.useState(null);
|
|
191
192
|
const update = (patch) => {
|
|
192
193
|
props.onChange({
|
|
193
194
|
...data,
|
|
@@ -247,9 +248,7 @@ const StyledColumnWizardIconSection = (props) => {
|
|
|
247
248
|
};
|
|
248
249
|
const removeMapping = (index) => {
|
|
249
250
|
setMappings(mappings.filter((_, i) => i !== index));
|
|
250
|
-
|
|
251
|
-
// want the wrong row to suddenly appear expanded.
|
|
252
|
-
setEditingRow(null);
|
|
251
|
+
setAutoOpenPickerIndex(null);
|
|
253
252
|
};
|
|
254
253
|
const addMapping = () => {
|
|
255
254
|
const next = [
|
|
@@ -260,8 +259,7 @@ const StyledColumnWizardIconSection = (props) => {
|
|
|
260
259
|
},
|
|
261
260
|
];
|
|
262
261
|
setMappings(next);
|
|
263
|
-
|
|
264
|
-
setEditingRow(next.length - 1);
|
|
262
|
+
setAutoOpenPickerIndex(next.length - 1);
|
|
265
263
|
};
|
|
266
264
|
// -----------------------------------------------------------------------
|
|
267
265
|
// CellText helpers
|
|
@@ -287,24 +285,24 @@ const StyledColumnWizardIconSection = (props) => {
|
|
|
287
285
|
const presetMappingsPreview = iconStyle.Preset
|
|
288
286
|
? (0, IconStylePresets_1.getIconStylePresetMappings)(iconStyle.Preset)
|
|
289
287
|
: [];
|
|
290
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Presets" }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: ["Contains most commonly used values; add anything missing in", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "Custom mappings" }), " below"] })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Select Preset:", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:flex-wrap", children: [['Flags', 'Currencies', 'Trend', 'Status'].map((p) => ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, {
|
|
288
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Presets" }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: ["Contains most commonly used values; add anything missing in", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "Custom mappings" }), " below"] })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Select Preset:", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:flex-wrap", children: [['Flags', 'Currencies', 'Trend', 'Status'].map((p) => ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { ...(0, wizardSelection_1.wizardSelectionSimpleButtonProps)(iconStyle.Preset === p), onClick: () => applyPreset(p), children: IconStylePresets_1.ICON_STYLE_PRESET_LABELS[p] }, p))), iconStyle.Preset && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { variant: "text", icon: "undo", tooltip: "Stop using this preset (custom mappings are kept)", onClick: clearPreset, children: "Clear preset" }))] }) }), iconStyle.Preset && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Active:", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-1 twa:max-w-[640px]", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70", children: [IconStylePresets_1.ICON_STYLE_PRESET_DESCRIPTIONS[iconStyle.Preset], " \u2014", ' ', presetMappingsPreview.length, " mappings shipped with the preset."] }), renderMappingsPreview(presetMappingsPreview)] }) }))] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Custom Mappings" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: iconStyle.Preset
|
|
291
289
|
? 'Add any mappings that are not present in the selected preset'
|
|
292
290
|
: 'Add custom mappings entries (icon, key and description)' })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card.Body, { children: [mappings.length === 0 ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-60 twa:max-w-[520px] twa:mb-2", children: iconStyle.Preset
|
|
293
291
|
? 'No custom mappings — the preset above is being used as-is'
|
|
294
|
-
: 'No mappings applied - select a preset above or click "Add Mapping" to define your own' })) : ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:max-w-[720px]", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:px-2 twa:py-1 twa:text-xs twa:opacity-60", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-[44px] twa:shrink-0" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: "Key" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: "Description" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-8 twa:shrink-0" })] }), mappings.map((m, i) => {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
{ value: 'Exact', label: 'Exact
|
|
292
|
+
: 'No mappings applied - select a preset above or click "Add Mapping" to define your own' })) : ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:max-w-[720px]", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:px-2 twa:py-1 twa:text-xs twa:opacity-60", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-[44px] twa:shrink-0" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: "Key" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: "Description" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-8 twa:shrink-0" })] }), mappings.map((m, i) => ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:px-2 twa:py-1 twa:rounded twa:hover:bg-[var(--ab-color-primarylight)]", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-[44px] twa:shrink-0 twa:flex twa:justify-center", children: (0, jsx_runtime_1.jsx)(IconPickerButton, { value: m.Icon, defaultOpen: autoOpenPickerIndex === i, onOpenChange: (open) => {
|
|
293
|
+
if (!open && autoOpenPickerIndex === i) {
|
|
294
|
+
setAutoOpenPickerIndex(null);
|
|
295
|
+
}
|
|
296
|
+
}, onChange: (next) => updateMapping(i, { Icon: next }) }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { className: "twa:w-full", value: String(m.Key ?? ''), onChange: (e) => updateMapping(i, { Key: e.target.value }), placeholder: "Cell value" }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:min-w-0 twa:flex-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { className: "twa:w-full", value: m.Description ?? '', onChange: (e) => updateMapping(i, {
|
|
297
|
+
Description: e.target.value || undefined,
|
|
298
|
+
}), placeholder: "Tooltip label (optional)" }) }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:w-8 twa:shrink-0 twa:flex twa:justify-center", children: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { icon: "delete", variant: "text", tooltip: "Remove mapping", onClick: () => removeMapping(i) }) })] }, i)))] })), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:mt-2", children: (0, jsx_runtime_1.jsx)(ButtonNew_1.ButtonNew, { onClick: addMapping, children: "Add Mapping" }) })] })] }), (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: "Matching" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "How keys are compared to cell values, and what to render when no mapping matches" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Match Mode:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[200px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: iconStyle.MatchMode ?? 'Exact', onValueChange: (v) => update({ MatchMode: v }), items: [
|
|
299
|
+
{ value: 'Exact', label: 'Exact Match Required' },
|
|
302
300
|
{ value: 'CaseInsensitive', label: 'Case-insensitive (strings)' },
|
|
303
301
|
] }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Fallback:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[200px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: iconStyle.Fallback ?? 'Hide', onValueChange: (v) => update({ Fallback: v }), items: [
|
|
304
302
|
{ value: 'Hide', label: 'Show No Value' },
|
|
305
303
|
{ value: 'ShowText', label: 'Show Raw Value' },
|
|
306
304
|
{ value: 'Icon', label: 'Show Fallback Icon' },
|
|
307
|
-
] }) }) }), iconStyle.Fallback === 'Icon' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Fallback Icon:", children: (0, jsx_runtime_1.
|
|
305
|
+
] }) }) }), iconStyle.Fallback === 'Icon' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Fallback Icon:", children: (0, jsx_runtime_1.jsx)(IconPickerButton, { value: iconStyle.FallbackIcon, onChange: (next) => update({ FallbackIcon: next }) }) }))] }) })] })] }));
|
|
308
306
|
}
|
|
309
307
|
// ----- Style variant (wizard step title: "Style") ------------------------
|
|
310
308
|
const cellText = iconStyle.CellText ?? [];
|
|
@@ -328,7 +326,30 @@ const StyledColumnWizardIconSection = (props) => {
|
|
|
328
326
|
] }) }) })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: `twa:mt-3 twa:pt-3 twa:border-t twa:border-foreground/15 ${cellTextDisabled ? 'twa:opacity-50' : ''}`, children: (0, jsx_runtime_1.jsx)(StyledColumnSliceStyleEditors_1.StyledColumnFontStyleEditor, { api: api, disabled: disabled || cellTextDisabled, value: iconStyle.Font, onChange: onFontChange }) })] })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Tooltip" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether and how to display a tooltip" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsx)(FormLayout_1.default, { sizes: [...STYLE_FORM_SIZES], children: (0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Tooltip Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { checked: toolTipText.includes('CellValue'), onChange: (checked) => toggleToolTipText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { className: "twa:ml-3", checked: toolTipText.includes('IconDescription'), onChange: (checked) => toggleToolTipText('IconDescription', checked), children: "Description" })] }) }) })] }), (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: "Cell" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional cell box styling (overrides Format Column properties)" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsx)(StyledColumnSliceStyleEditors_1.StyledColumnCellStyleEditor, { api: api, disabled: disabled, value: iconStyle.Cell, onChange: onCellChange }) })] }), (0, jsx_runtime_1.jsx)(StyledColumnIconPreview_1.StyledColumnIconPreviewCard, { data: data })] }));
|
|
329
327
|
};
|
|
330
328
|
exports.StyledColumnWizardIconSection = StyledColumnWizardIconSection;
|
|
329
|
+
// ---------------------------------------------------------------------------
|
|
330
|
+
// Icon picker — click-to-open popover (closes on outside click or system pick)
|
|
331
|
+
// ---------------------------------------------------------------------------
|
|
332
|
+
const ICON_KIND_OPTIONS = [
|
|
333
|
+
{ value: 'Emoji', label: 'Emoji' },
|
|
334
|
+
{ value: 'System', label: 'Built-in' },
|
|
335
|
+
{ value: 'Url', label: 'Image URL' },
|
|
336
|
+
];
|
|
337
|
+
const IconPickerButton = (props) => {
|
|
338
|
+
const [open, setOpen] = React.useState(props.defaultOpen ?? false);
|
|
339
|
+
React.useEffect(() => {
|
|
340
|
+
if (props.defaultOpen) {
|
|
341
|
+
setOpen(true);
|
|
342
|
+
}
|
|
343
|
+
}, [props.defaultOpen]);
|
|
344
|
+
const handleOpenChange = (next) => {
|
|
345
|
+
setOpen(next);
|
|
346
|
+
props.onOpenChange?.(next);
|
|
347
|
+
};
|
|
348
|
+
return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: handleOpenChange, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { nativeButton: true, render: (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { type: "button", tooltip: "Choose icon", ...(0, wizardSelection_1.wizardSelectionSimpleButtonProps)(open, 'twa:!min-w-[40px] twa:!w-10 twa:!h-10 twa:!p-0 twa:justify-center twa:items-center'), children: previewIcon(props.value) }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { align: "start", side: "bottom", sideOffset: 8, className: "twa:!w-[300px] twa:max-w-[300px] twa:p-3 twa:gap-0", children: (0, jsx_runtime_1.jsx)(IconSpecEditorFields, { value: props.value, onChange: props.onChange, onSystemIconSelected: () => handleOpenChange(false) }) })] }));
|
|
349
|
+
};
|
|
331
350
|
const IconSpecEditorFields = (props) => {
|
|
351
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
352
|
+
const customIcons = adaptable.api.userInterfaceApi.getCustomIcons();
|
|
332
353
|
const kind = detectIconKind(props.value);
|
|
333
354
|
const [pendingKind, setPendingKind] = React.useState(null);
|
|
334
355
|
const prevValueRef = React.useRef(props.value);
|
|
@@ -356,13 +377,10 @@ const IconSpecEditorFields = (props) => {
|
|
|
356
377
|
? props.value.name
|
|
357
378
|
: undefined;
|
|
358
379
|
const urlSrc = isObject && 'src' in props.value ? props.value.src : '';
|
|
359
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-
|
|
360
|
-
{ value: 'Emoji', label: 'Emoji / text' },
|
|
361
|
-
{ value: 'System', label: 'System' },
|
|
362
|
-
{ value: 'Url', label: 'Image URL' },
|
|
363
|
-
] }), effectiveKind === 'Emoji' && ((0, jsx_runtime_1.jsx)(Input_1.default, { className: "twa:w-full", value: typeof props.value === 'string' ? props.value : '', onChange: (e) => props.onChange(e.target.value), placeholder: "\uD83C\uDDFA\uD83C\uDDF8 $ \u2B06" })), effectiveKind === 'System' && ((0, jsx_runtime_1.jsx)(AdaptableIconSelector_1.AdaptableIconSelector, { clearable: false, value: systemName, onChange: (iconName) => {
|
|
380
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:w-full", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:grid twa:grid-cols-3 twa:gap-1 twa:w-full", role: "tablist", "aria-label": "Icon type", children: ICON_KIND_OPTIONS.map((option) => ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { type: "button", role: "tab", "aria-selected": effectiveKind === option.value, ...(0, wizardSelection_1.wizardSelectionSimpleButtonProps)(effectiveKind === option.value, 'twa:w-full twa:min-h-[32px] twa:h-8 twa:px-1 twa:text-xs twa:leading-tight'), onClick: () => onKindChange(option.value), children: option.label }, option.value))) }), effectiveKind === 'Emoji' && ((0, jsx_runtime_1.jsx)(Input_1.default, { className: "twa:w-full", value: typeof props.value === 'string' ? props.value : '', onChange: (e) => props.onChange(e.target.value), placeholder: "\uD83C\uDDFA\uD83C\uDDF8 $ \u2B06" })), effectiveKind === 'System' && ((0, jsx_runtime_1.jsx)(IconSelector_1.IconSelectorPanel, { className: "twa:p-0", showTitle: false, customIcons: customIcons, value: systemName, onChange: (iconName) => {
|
|
364
381
|
if (iconName) {
|
|
365
382
|
props.onChange({ name: iconName });
|
|
383
|
+
props.onSystemIconSelected?.();
|
|
366
384
|
}
|
|
367
385
|
} })), effectiveKind === 'Url' && ((0, jsx_runtime_1.jsx)(Input_1.default, { className: "twa:w-full", value: urlSrc, onChange: (e) => props.onChange({ src: e.target.value }), placeholder: "https://\u2026" }))] }));
|
|
368
386
|
};
|