@adaptabletools/adaptable 23.0.0-canary.3 → 23.0.0-canary.5
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/index.css +116 -61
- package/package.json +9 -4
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -4
- package/src/AdaptableOptions/EditOptions.d.ts +2 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
- package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
- package/src/AdaptableState/Common/AdaptableForm.js +31 -0
- package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
- package/src/AdaptableState/Common/AggregationColumns.js +27 -2
- package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
- package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
- package/src/AdaptableState/Common/Enums.d.ts +5 -10
- package/src/AdaptableState/Common/Enums.js +4 -10
- package/src/AdaptableState/PlusMinusState.d.ts +3 -3
- package/src/AdaptableState/ShortcutState.d.ts +2 -6
- package/src/AdaptableState/StyledColumnState.d.ts +3 -5
- package/src/AdaptableState/ThemeState.d.ts +33 -28
- package/src/Api/EventApi.d.ts +14 -1
- package/src/Api/Events/ThemeChanged.d.ts +6 -0
- package/src/Api/Events/ThemeSelected.d.ts +11 -0
- package/src/Api/Events/ThemeSelected.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +4 -0
- package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -14
- package/src/Api/Implementation/LayoutHelpers.d.ts +2 -0
- package/src/Api/Implementation/LayoutHelpers.js +29 -7
- package/src/Api/Implementation/ThemeApiImpl.d.ts +3 -2
- package/src/Api/Implementation/ThemeApiImpl.js +19 -15
- package/src/Api/Internal/EventInternalApi.d.ts +2 -0
- package/src/Api/Internal/EventInternalApi.js +8 -1
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +4 -4
- package/src/Api/Internal/StyledColumnInternalApi.js +4 -4
- package/src/Api/Internal/ThemeInternalApi.d.ts +0 -1
- package/src/Api/Internal/ThemeInternalApi.js +0 -10
- package/src/Api/LayoutApi.d.ts +1 -8
- package/src/Api/ThemeApi.d.ts +6 -2
- package/src/Redux/ActionsReducers/ThemeRedux.d.ts +3 -3
- package/src/Strategy/CalculatedColumnModule.js +3 -1
- package/src/Strategy/FormatColumnModule.js +14 -7
- package/src/Strategy/LayoutModule.js +13 -8
- package/src/Strategy/StyledColumnModule.js +64 -36
- package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
- package/src/Utilities/Constants/ReduxConstants.js +1 -14
- package/src/Utilities/Helpers/FormatHelper.js +20 -1
- package/src/Utilities/Helpers/SparklineOptionsHelper.d.ts +7 -0
- package/src/Utilities/Helpers/SparklineOptionsHelper.js +65 -0
- package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +23 -1
- package/src/Utilities/Helpers/StyledColumnGradientHelper.js +204 -0
- package/src/Utilities/Helpers/ThemeHelpers.d.ts +5 -0
- package/src/Utilities/Helpers/ThemeHelpers.js +38 -0
- package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +19 -0
- package/src/Utilities/Helpers/percentBarPreviewHelper.js +143 -0
- package/src/Utilities/ObjectFactory.d.ts +1 -3
- package/src/Utilities/ObjectFactory.js +0 -8
- package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +1 -0
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +7 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +4 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +115 -0
- package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
- package/src/Utilities/Services/ThemeService.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +17 -16
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +114 -103
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +13 -14
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +55 -55
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +3 -2
- package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +31 -39
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +3 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -13
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +30 -17
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -9
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +3 -3
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +3 -10
- package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
- package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +35 -52
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +4 -31
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.d.ts +5 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.js +21 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +10 -7
- package/src/View/Comments/CommentsEditor.js +1 -1
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
- package/src/View/Components/ModuleProfile.js +1 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -1
- package/src/View/Components/RangesComponent.d.ts +7 -2
- package/src/View/Components/RangesComponent.js +94 -22
- package/src/View/Components/Selectors/ColumnSelector.js +5 -0
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +1 -1
- package/src/View/Components/ValueSelector/index.js +70 -57
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -13
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -8
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +11 -12
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +6 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +3 -2
- package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +5 -15
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +24 -26
- package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -13
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +20 -22
- package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +2 -0
- package/src/View/Export/Wizard/ScheduledReportSettings.js +13 -13
- package/src/View/Export/Wizard/ScheduledReportWizard.js +4 -5
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -6
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +24 -23
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -11
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +21 -5
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +7 -0
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +117 -12
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.d.ts +15 -0
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +66 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +4 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +30 -0
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +13 -8
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +62 -13
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +5 -3
- package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.d.ts +2 -0
- package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +15 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.d.ts +10 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.js +53 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +2 -3
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +33 -68
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +15 -11
- package/src/View/Layout/LayoutViewPanel.js +23 -21
- package/src/View/Layout/TransposedPopup.js +2 -2
- package/src/View/Layout/Wizard/LayoutWizard.js +3 -3
- package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +2 -3
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +115 -26
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +79 -79
- package/src/View/Layout/Wizard/sections/FilterSection.js +31 -32
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +11 -11
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +1 -2
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +101 -52
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +9 -8
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +4 -4
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +36 -33
- package/src/View/Layout/Wizard/sections/RowSelectionSection.js +2 -2
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +95 -73
- package/src/View/Layout/Wizard/sections/SettingsSection.js +4 -5
- package/src/View/Layout/Wizard/sections/SortSection.js +2 -2
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +9 -14
- package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +1 -3
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.d.ts +4 -0
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +43 -13
- package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +11 -18
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -6
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +6 -22
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +15 -21
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +2 -2
- package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +11 -18
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +17 -6
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +3 -3
- package/src/View/Shortcut/shortcutOperations.d.ts +3 -0
- package/src/View/Shortcut/shortcutOperations.js +28 -0
- package/src/View/SpecialColumnSettingsWizardStep.js +9 -8
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +24 -15
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +10 -2
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +96 -16
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +14 -0
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +45 -24
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +2 -3
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +108 -33
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +21 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +121 -23
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +34 -11
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +86 -12
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +121 -34
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +55 -75
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.js +16 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +7 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +5 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +12 -14
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.js +16 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +3 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +31 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +58 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +30 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +91 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +52 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +53 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +18 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +58 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +126 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +12 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +1 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +52 -29
- package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
- package/src/View/Theme/ThemePopup.d.ts +2 -14
- package/src/View/Theme/ThemePopup.js +1 -36
- package/src/View/UIHelper.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.js +7 -21
- package/src/View/renderWithAdaptableContext.js +2 -3
- package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
- package/src/agGrid/AdaptableAgGrid.js +38 -43
- package/src/agGrid/AgGridAdapter.d.ts +1 -1
- package/src/agGrid/AgGridAdapter.js +27 -17
- package/src/agGrid/AgGridColumnAdapter.js +10 -19
- package/src/agGrid/AgGridMenuAdapter.d.ts +0 -1
- package/src/agGrid/AgGridMenuAdapter.js +20 -37
- package/src/agGrid/buildValueAggregationMenuItem.d.ts +19 -0
- package/src/agGrid/buildValueAggregationMenuItem.js +111 -0
- package/src/agGrid/cellRenderers/IconRenderer.d.ts +6 -0
- package/src/agGrid/cellRenderers/IconRenderer.js +43 -15
- package/src/agGrid/createAgGridIcon.d.ts +10 -0
- package/src/agGrid/createAgGridIcon.js +16 -0
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +11 -6
- package/src/components/Combobox/VirtualizedList.js +5 -5
- package/src/components/Combobox/comboboxUtils.d.ts +4 -1
- package/src/components/Combobox/comboboxUtils.js +2 -0
- package/src/components/Combobox/index.d.ts +1 -0
- package/src/components/Combobox/index.js +35 -15
- package/src/components/DragAndDropContext/UnusedPanel.js +1 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
- package/src/components/Input/NumberInput.js +1 -1
- package/src/components/Panel/index.js +1 -1
- package/src/components/SimpleButton/index.js +4 -4
- package/src/components/Toggle/Toggle.js +1 -1
- package/src/components/Toggle/ToggleGroup.js +1 -1
- package/src/components/Tree/TreeDropdown/index.js +2 -6
- package/src/env.js +2 -2
- package/src/layout-manager/src/LayoutManagerModel.d.ts +5 -1
- package/src/layout-manager/src/index.js +2 -9
- package/src/metamodel/adaptable.metamodel.d.ts +39 -46
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +5 -5
- package/themes/dark.css +1 -68
- package/themes/light.css +1 -5
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
- package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -4
- package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +0 -35
- package/src/Aggregation/ParameterizedAggregationRegistry.js +0 -63
- package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +0 -3
- package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +0 -55
- package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +0 -8
- package/src/Aggregation/parameterizedAggregationColumnMenu.js +0 -137
- package/src/Aggregation/parameterizedAggregationHeader.d.ts +0 -13
- package/src/Aggregation/parameterizedAggregationHeader.js +0 -60
- package/src/Aggregation/parameterizedAggregationHelpers.d.ts +0 -23
- package/src/Aggregation/parameterizedAggregationHelpers.js +0 -111
- package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +0 -9
- package/src/Aggregation/parameterizedAggregationWizardHelpers.js +0 -66
- package/src/Aggregation/validateParameterizedAggregations.d.ts +0 -4
- package/src/Aggregation/validateParameterizedAggregations.js +0 -20
- package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
- package/src/View/AdaptableComputedCSSVarsContext.js +0 -29
- package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +0 -12
- package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +0 -43
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.d.ts +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +0 -28
- package/src/View/Theme/VariantSelector.d.ts +0 -8
- package/src/View/Theme/VariantSelector.js +0 -20
- package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
- package/src/components/Select/CSSNumericVariableWatch.js +0 -45
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { AgChartsEnterpriseModule } from 'ag-charts-enterprise';
|
|
4
|
+
import { AdaptableHelper } from '../../../../../Utilities/Helpers/AdaptableHelper';
|
|
5
|
+
import { resolveSparklineOptionsForRender } from '../../../../../Utilities/Helpers/SparklineOptionsHelper';
|
|
6
|
+
import { convertAdaptableStyleToCSS, hasCellBoxStyle, } from '../../../../../Utilities/Helpers/StyleHelper';
|
|
7
|
+
import { Box } from '../../../../../components/Flex';
|
|
8
|
+
import { Card } from '../../../../../components/Card';
|
|
9
|
+
import { Tag } from '../../../../../components/Tag';
|
|
10
|
+
import { useAdaptable } from '../../../../AdaptableContext';
|
|
11
|
+
const FALLBACK_NUMBER_ARRAY = [12, 18, 9, 22, 15, 28, 19, 24, 17, 21];
|
|
12
|
+
const PREVIEW_HEIGHT = 36;
|
|
13
|
+
const PREVIEW_CELL_CLASS = 'ab-SparklinePreviewCell twa:block twa:min-w-[200px] twa:min-h-[36px] twa:px-2 twa:py-1 twa:rounded-standard twa:border twa:border-[color-mix(in_srgb,var(--ab-color-foreground)_15%,transparent)]';
|
|
14
|
+
export function getSparklineCellChromeCss(cell) {
|
|
15
|
+
if (!cell || !hasCellBoxStyle(cell)) {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
return convertAdaptableStyleToCSS(cell);
|
|
19
|
+
}
|
|
20
|
+
const resolveSparklinePreviewData = (columnId, getColumnWithColumnId, getRowNodeForIndex) => {
|
|
21
|
+
if (!columnId) {
|
|
22
|
+
return FALLBACK_NUMBER_ARRAY;
|
|
23
|
+
}
|
|
24
|
+
const column = getColumnWithColumnId(columnId);
|
|
25
|
+
if (!column) {
|
|
26
|
+
return FALLBACK_NUMBER_ARRAY;
|
|
27
|
+
}
|
|
28
|
+
for (let row = 0; row < 20; row++) {
|
|
29
|
+
const rowNode = getRowNodeForIndex(row);
|
|
30
|
+
const cellData = rowNode?.data?.[column.field];
|
|
31
|
+
if (Array.isArray(cellData) && cellData.length > 0) {
|
|
32
|
+
return cellData;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return FALLBACK_NUMBER_ARRAY;
|
|
36
|
+
};
|
|
37
|
+
const buildSparklinePreviewOptions = (sparklineStyle, container, data, width, height) => {
|
|
38
|
+
const persisted = sparklineStyle.options ?? { type: 'line' };
|
|
39
|
+
const sanitized = AdaptableHelper.removeAdaptableObjectPrimitives({
|
|
40
|
+
...persisted,
|
|
41
|
+
});
|
|
42
|
+
const options = resolveSparklineOptionsForRender({
|
|
43
|
+
...sanitized,
|
|
44
|
+
type: sanitized.type ?? 'line',
|
|
45
|
+
container,
|
|
46
|
+
width,
|
|
47
|
+
height,
|
|
48
|
+
data: data,
|
|
49
|
+
});
|
|
50
|
+
// Custom tooltip renderers expect AG Grid row context — use the default tooltip in preview.
|
|
51
|
+
if (options.tooltip?.renderer) {
|
|
52
|
+
const { renderer: _renderer, ...tooltipRest } = options.tooltip;
|
|
53
|
+
options.tooltip = tooltipRest;
|
|
54
|
+
}
|
|
55
|
+
return options;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* AG Grid registers chart modules via `AgChartsEnterpriseModule.setup()` when
|
|
59
|
+
* sparklines are enabled. Standalone `AgCharts.createSparkline` needs the same
|
|
60
|
+
* setup — otherwise the settings-panel preview throws "No modules registered".
|
|
61
|
+
*/
|
|
62
|
+
let agChartsPreviewModulesReady = false;
|
|
63
|
+
const ensureAgChartsEnterpriseModules = () => {
|
|
64
|
+
if (agChartsPreviewModulesReady) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
AgChartsEnterpriseModule.setup();
|
|
68
|
+
agChartsPreviewModulesReady = true;
|
|
69
|
+
};
|
|
70
|
+
const createSparkline = (options) => {
|
|
71
|
+
ensureAgChartsEnterpriseModules();
|
|
72
|
+
return AgChartsEnterpriseModule.createSparkline(options);
|
|
73
|
+
};
|
|
74
|
+
const SparklinePreviewCanvas = ({ sparklineStyle, columnId }) => {
|
|
75
|
+
const adaptable = useAdaptable();
|
|
76
|
+
const containerRef = React.useRef(null);
|
|
77
|
+
const instanceRef = React.useRef(null);
|
|
78
|
+
const [previewError, setPreviewError] = React.useState(null);
|
|
79
|
+
const canDisplay = adaptable.api.styledColumnApi.canDisplaySparklines();
|
|
80
|
+
const optionsKey = JSON.stringify(sparklineStyle.options ?? {});
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
return () => {
|
|
83
|
+
instanceRef.current?.destroy();
|
|
84
|
+
instanceRef.current = null;
|
|
85
|
+
};
|
|
86
|
+
}, []);
|
|
87
|
+
React.useEffect(() => {
|
|
88
|
+
const container = containerRef.current;
|
|
89
|
+
if (!container || !canDisplay) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const data = resolveSparklinePreviewData(columnId, (id) => adaptable.api.columnApi.getColumnWithColumnId(id), (index) => adaptable.api.gridApi.getRowNodeForIndex(index));
|
|
93
|
+
const width = Math.max(container.clientWidth, 200);
|
|
94
|
+
const options = buildSparklinePreviewOptions(sparklineStyle, container, data, width, PREVIEW_HEIGHT);
|
|
95
|
+
try {
|
|
96
|
+
if (!instanceRef.current) {
|
|
97
|
+
instanceRef.current = createSparkline(options);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
instanceRef.current.update(options);
|
|
101
|
+
}
|
|
102
|
+
setPreviewError(null);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
instanceRef.current?.destroy();
|
|
106
|
+
instanceRef.current = null;
|
|
107
|
+
setPreviewError(error instanceof Error ? error.message : 'Unable to render sparkline preview');
|
|
108
|
+
}
|
|
109
|
+
}, [sparklineStyle, columnId, canDisplay, adaptable.api, optionsKey]);
|
|
110
|
+
if (!canDisplay) {
|
|
111
|
+
return _jsx(Tag, { children: "Sparklines module not registered" });
|
|
112
|
+
}
|
|
113
|
+
if (previewError) {
|
|
114
|
+
return _jsx(Tag, { children: previewError });
|
|
115
|
+
}
|
|
116
|
+
return (_jsx("div", { ref: containerRef, className: "ab-SparklinePreviewCanvas", style: { width: '100%', height: PREVIEW_HEIGHT } }));
|
|
117
|
+
};
|
|
118
|
+
export const StyledColumnSparklinePreview = ({ data }) => {
|
|
119
|
+
const sparklineStyle = data.SparklineStyle;
|
|
120
|
+
if (!sparklineStyle) {
|
|
121
|
+
return _jsx(Tag, { children: "No Sparkline Style" });
|
|
122
|
+
}
|
|
123
|
+
const previewCellChrome = getSparklineCellChromeCss(sparklineStyle.Cell);
|
|
124
|
+
return (_jsx(Box, { className: PREVIEW_CELL_CLASS, style: previewCellChrome, children: _jsx(SparklinePreviewCanvas, { sparklineStyle: sparklineStyle, columnId: data.ColumnId }) }));
|
|
125
|
+
};
|
|
126
|
+
export const StyledColumnSparklinePreviewCard = ({ data }) => (_jsxs(Card, { shadow: false, children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Preview" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[500px]", children: "Sample sparkline using first non-empty cell in Column (or demo data when unavailable)" })] }), _jsx(Card.Body, { className: "twa:p-1", children: _jsx(StyledColumnSparklinePreview, { data: data }) })] }));
|
|
@@ -44,19 +44,24 @@ export const renderStyledColumnRangesSummary = (data, api) => {
|
|
|
44
44
|
};
|
|
45
45
|
export const StyledColumnWizardRangesSection = (props) => {
|
|
46
46
|
const { data, api } = useOnePageAdaptableWizardContext();
|
|
47
|
-
const
|
|
47
|
+
const column = React.useMemo(() => {
|
|
48
48
|
const columnId = data.ColumnId;
|
|
49
49
|
if (!columnId) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return api.columnApi.getColumnWithColumnId(columnId);
|
|
53
|
+
}, [data.ColumnId, api]);
|
|
54
|
+
const minMaxRangeValues = React.useMemo(() => {
|
|
55
|
+
if (!column) {
|
|
50
56
|
return null;
|
|
51
57
|
}
|
|
52
|
-
const column = api.columnApi.getColumnWithColumnId(columnId);
|
|
53
58
|
return {
|
|
54
59
|
min: api.styledColumnApi.internalApi.getMinValueForNumericColumn(column),
|
|
55
60
|
max: api.styledColumnApi.internalApi.getMaxValueForNumericColumn(column),
|
|
56
61
|
};
|
|
57
|
-
}, [
|
|
62
|
+
}, [column, api]);
|
|
58
63
|
const scope = { ColumnIds: [data.ColumnId] };
|
|
59
|
-
const disabled = !data.ColumnId;
|
|
64
|
+
const disabled = !data.ColumnId || !column;
|
|
60
65
|
// Gradient updates
|
|
61
66
|
const onUpdateGradientStyleRanges = (ranges) => {
|
|
62
67
|
const gradientStyle = {
|
|
@@ -149,5 +154,7 @@ export const StyledColumnWizardRangesSection = (props) => {
|
|
|
149
154
|
}
|
|
150
155
|
props.onChange(newStyledColumn);
|
|
151
156
|
}, [data]);
|
|
152
|
-
return (_jsxs(Box, { children: [data?.GradientStyle && (_jsx(RangesComponent, { disabled: disabled, minMaxRangeValues: minMaxRangeValues, api: api, scope: scope, showZeroCentredTab: true, showRangeDirection: true, zeroCentred: data.GradientStyle.ZeroCentred, onApplyZeroCentred: onApplyGradientZeroCentred, ranges: data.GradientStyle.CellRanges ?? [], rangeValueType: data.GradientStyle?.RangeValueType, onRangeValueTypeChange: handleRangeValueTypeChange, columnComparison: data?.GradientStyle?.ColumnComparison, updateRanges: onUpdateGradientStyleRanges, updateColumnComparison: onUpdateGradientStyleColumnComparison })), data?.PercentBarStyle && (_jsx(RangesComponent, { disabled: disabled, minMaxRangeValues: minMaxRangeValues, api: api, scope: scope, ranges: data.PercentBarStyle?.CellRanges, rangeValueType: data.PercentBarStyle?.RangeValueType, onRangeValueTypeChange: handleRangeValueTypeChange, columnComparison: data?.PercentBarStyle?.ColumnComparison, updateRanges: onUpdatePercentBarStyleRanges, updateColumnComparison: onUpdatePercentBarStyleColumnComparison })), !data.ColumnId && (_jsx(ErrorBox, { className: "twa:mt-2", children:
|
|
157
|
+
return (_jsxs(Box, { children: [data?.GradientStyle && (_jsx(RangesComponent, { disabled: disabled, minMaxRangeValues: minMaxRangeValues, api: api, scope: scope, showZeroCentredTab: true, showRangeDirection: true, zeroCentred: data.GradientStyle.ZeroCentred, onApplyZeroCentred: onApplyGradientZeroCentred, ranges: data.GradientStyle.CellRanges ?? [], rangeValueType: data.GradientStyle?.RangeValueType, onRangeValueTypeChange: handleRangeValueTypeChange, columnComparison: data?.GradientStyle?.ColumnComparison, updateRanges: onUpdateGradientStyleRanges, updateColumnComparison: onUpdateGradientStyleColumnComparison })), data?.PercentBarStyle && (_jsx(RangesComponent, { disabled: disabled, minMaxRangeValues: minMaxRangeValues, api: api, scope: scope, ranges: data.PercentBarStyle?.CellRanges, rangeValueType: data.PercentBarStyle?.RangeValueType, onRangeValueTypeChange: handleRangeValueTypeChange, columnComparison: data?.PercentBarStyle?.ColumnComparison, updateRanges: onUpdatePercentBarStyleRanges, updateColumnComparison: onUpdatePercentBarStyleColumnComparison })), (!data.ColumnId || !column) && (_jsx(ErrorBox, { className: "twa:mt-2", children: !data.ColumnId
|
|
158
|
+
? 'You need to select a column before defining Ranges.'
|
|
159
|
+
: `Column "${data.ColumnId}" was not found in the grid.` }))] }));
|
|
153
160
|
};
|
|
@@ -2,13 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import { StyledColumn } from '../../../../AdaptableState/StyledColumnState';
|
|
3
3
|
import { AdaptableApi } from '../../../../types';
|
|
4
4
|
export { renderStyledColumnRangesSummary, StyledColumnWizardRangesSection, } from './StyledColumnWizardRangesSection';
|
|
5
|
+
export declare const getStyledColumnPercentBarStyleViewValues: (data: StyledColumn) => string[];
|
|
5
6
|
/**
|
|
6
7
|
* Compact summary of the *non-range* style properties of a Percent Bar.
|
|
7
|
-
* (Gradient uses `renderStyledColumnGradientStyleSummary`.)
|
|
8
|
-
*
|
|
9
|
-
* Used by:
|
|
10
|
-
* - the wizard's "Style" step `renderSummary`
|
|
11
|
-
* - the Styled Column module's `toView` (read-only summary popup)
|
|
12
8
|
*/
|
|
13
9
|
export declare const renderStyledColumnStyleSummary: (data: StyledColumn, _api?: AdaptableApi) => React.JSX.Element;
|
|
14
10
|
export declare const renderFormatColumnStyleWizardSummary: (data: StyledColumn) => React.JSX.Element;
|
|
@@ -10,55 +10,78 @@ import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
|
|
|
10
10
|
import { Box, Flex } from '../../../../components/Flex';
|
|
11
11
|
import Radio, { RadioGroup } from '../../../../components/Radio';
|
|
12
12
|
import { Toggle, ToggleGroup } from '../../../../components/Toggle';
|
|
13
|
-
import {
|
|
13
|
+
import { getCellFontStyleSummaryItems, StyledColumnFontStyleEditor, } from '../StyledColumnSliceStyleEditors';
|
|
14
14
|
import { Card } from '../../../../components/Card';
|
|
15
|
+
import { StyledColumnPercentBarPreviewCard } from './Components/StyledColumnPercentBarPreview';
|
|
15
16
|
// Re-export the Ranges section + summary for legacy import paths.
|
|
16
17
|
export { renderStyledColumnRangesSummary, StyledColumnWizardRangesSection, } from './StyledColumnWizardRangesSection';
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
18
19
|
// Summary helpers
|
|
19
20
|
// ---------------------------------------------------------------------------
|
|
20
21
|
const formatOriginLabel = (origin) => {
|
|
21
|
-
if (origin == undefined)
|
|
22
|
+
if (origin == undefined) {
|
|
22
23
|
return 'Auto';
|
|
23
|
-
|
|
24
|
+
}
|
|
25
|
+
if (typeof origin === 'number') {
|
|
24
26
|
return `Custom (${origin})`;
|
|
27
|
+
}
|
|
25
28
|
return origin;
|
|
26
29
|
};
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const formatPercentBarCellTextSummary = (cellText) => cellText
|
|
31
|
+
?.map((t) => (t === 'CellValue' ? 'Cell Value' : 'Percent Value'))
|
|
32
|
+
.join(' + ') ?? '';
|
|
33
|
+
const formatPercentBarToolTipSummary = (toolTipText) => toolTipText
|
|
34
|
+
?.map((t) => (t === 'CellValue' ? 'Cell Value' : 'Percent Value'))
|
|
35
|
+
.join(' + ') ?? '';
|
|
36
|
+
const buildStyledColumnPercentBarStyleSummaryStrings = (pb, options) => {
|
|
37
|
+
const items = [`Origin: ${formatOriginLabel(pb.Origin)}`];
|
|
38
|
+
if (pb.CellText?.length) {
|
|
39
|
+
items.push(`Cell Text: ${formatPercentBarCellTextSummary(pb.CellText)}`);
|
|
40
|
+
items.push(`Cell Text Position: ${pb.CellTextPosition ?? 'Below'}`);
|
|
41
|
+
if (pb.CellTextAlignment != null) {
|
|
42
|
+
items.push(`Cell Text Alignment: ${pb.CellTextAlignment}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else if (options.includeEmptyCellText) {
|
|
46
|
+
items.push('Cell Text: None');
|
|
47
|
+
}
|
|
48
|
+
if (pb.ToolTipText?.length) {
|
|
49
|
+
items.push(`Tooltip: ${formatPercentBarToolTipSummary(pb.ToolTipText)}`);
|
|
50
|
+
}
|
|
51
|
+
else if (options.includeEmptyTooltip) {
|
|
52
|
+
items.push('Tooltip: No Tooltip');
|
|
53
|
+
}
|
|
54
|
+
if (pb.BackColor) {
|
|
55
|
+
items.push(`Back Colour: ${pb.BackColor}`);
|
|
56
|
+
}
|
|
57
|
+
getCellFontStyleSummaryItems(pb.Font).forEach(({ label, value }) => {
|
|
58
|
+
items.push(`${label}: ${value}`);
|
|
59
|
+
});
|
|
60
|
+
return items;
|
|
31
61
|
};
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
62
|
+
export const getStyledColumnPercentBarStyleViewValues = (data) => {
|
|
63
|
+
const pb = data.PercentBarStyle;
|
|
64
|
+
if (!pb) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
return buildStyledColumnPercentBarStyleSummaryStrings(pb, {
|
|
68
|
+
includeEmptyCellText: false,
|
|
69
|
+
includeEmptyTooltip: false,
|
|
70
|
+
});
|
|
36
71
|
};
|
|
37
72
|
/**
|
|
38
73
|
* Compact summary of the *non-range* style properties of a Percent Bar.
|
|
39
|
-
* (Gradient uses `renderStyledColumnGradientStyleSummary`.)
|
|
40
|
-
*
|
|
41
|
-
* Used by:
|
|
42
|
-
* - the wizard's "Style" step `renderSummary`
|
|
43
|
-
* - the Styled Column module's `toView` (read-only summary popup)
|
|
44
74
|
*/
|
|
45
75
|
export const renderStyledColumnStyleSummary = (data, _api) => {
|
|
46
76
|
const pb = data.PercentBarStyle;
|
|
47
77
|
if (!pb) {
|
|
48
78
|
return _jsx(Tag, { children: "No Styling Defined" });
|
|
49
79
|
}
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
parts.push(_jsxs(Box, { className: "twa:mr-2", children: ["Align: ", _jsx(Tag, { children: formatAlignmentLabel(pb.CellTextAlignment) })] }, "align"));
|
|
56
|
-
}
|
|
57
|
-
const fontTags = renderFontStyleSummaryTags(pb.Font);
|
|
58
|
-
if (fontTags) {
|
|
59
|
-
parts.push(_jsxs(Box, { className: "twa:mr-2", children: ["Font: ", fontTags] }, "font"));
|
|
60
|
-
}
|
|
61
|
-
return (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap", children: parts }));
|
|
80
|
+
const items = buildStyledColumnPercentBarStyleSummaryStrings(pb, {
|
|
81
|
+
includeEmptyCellText: true,
|
|
82
|
+
includeEmptyTooltip: true,
|
|
83
|
+
});
|
|
84
|
+
return (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => (_jsx(Tag, { children: item }, item))) }));
|
|
62
85
|
};
|
|
63
86
|
// Legacy wrapper kept for any external consumers; safe no-op here.
|
|
64
87
|
export const renderFormatColumnStyleWizardSummary = (data) => {
|
|
@@ -170,5 +193,5 @@ export const StyledColumnWizardStyleSection = (props) => {
|
|
|
170
193
|
delete cleaned.Font;
|
|
171
194
|
props.onChange({ ...data, PercentBarStyle: cleaned });
|
|
172
195
|
}
|
|
173
|
-
} }) })] })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Cell Style" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Configure Tooltip and Background Colour" })] }), _jsx(Card.Body, { children: _jsxs(FormLayout, { sizes: [...STYLE_FORM_SIZES], children: [_jsxs(FormRow, { label: "Tooltip Display:", children: [_jsx(CheckBox, { disabled: disabled, checked: pb.ToolTipText?.includes('CellValue'), onChange: (checked) => onToolTipTextChanged('CellValue', checked), children: "Cell Value" }), ' ', _jsx(CheckBox, { disabled: disabled, className: "twa:ml-3", checked: pb.ToolTipText?.includes('PercentageValue'), onChange: (checked) => onToolTipTextChanged('PercentageValue', checked), children: "Percent Value" })] }), _jsx(FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: _jsxs(Flex, { alignItems: "center", children: [_jsx(CheckBox, { disabled: disabled, checked: !!pb.BackColor, onChange: onUseBackColorChanged, className: "twa:mr-2" }), pb.BackColor != undefined && (_jsx(ColorPicker, { disabled: disabled, api: api, value: pb.BackColor, onChange: onBackColorChange }))] }) })] }) })] })] }));
|
|
196
|
+
} }) })] })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Cell Style" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Configure Tooltip and Background Colour" })] }), _jsx(Card.Body, { children: _jsxs(FormLayout, { sizes: [...STYLE_FORM_SIZES], children: [_jsxs(FormRow, { label: "Tooltip Display:", children: [_jsx(CheckBox, { disabled: disabled, checked: pb.ToolTipText?.includes('CellValue'), onChange: (checked) => onToolTipTextChanged('CellValue', checked), children: "Cell Value" }), ' ', _jsx(CheckBox, { disabled: disabled, className: "twa:ml-3", checked: pb.ToolTipText?.includes('PercentageValue'), onChange: (checked) => onToolTipTextChanged('PercentageValue', checked), children: "Percent Value" })] }), _jsx(FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: _jsxs(Flex, { alignItems: "center", children: [_jsx(CheckBox, { disabled: disabled, checked: !!pb.BackColor, onChange: onUseBackColorChanged, className: "twa:mr-2" }), pb.BackColor != undefined && (_jsx(ColorPicker, { disabled: disabled, api: api, value: pb.BackColor, onChange: onBackColorChange }))] }) })] }) })] }), _jsx(StyledColumnPercentBarPreviewCard, { data: data })] }));
|
|
174
197
|
};
|
|
@@ -3,7 +3,7 @@ export const getStatusItemStyle = (systemStatusMessageInfo) => {
|
|
|
3
3
|
const background = UIHelper.getColorByMessageType(systemStatusMessageInfo?.statusType ?? 'Success');
|
|
4
4
|
const color = systemStatusMessageInfo
|
|
5
5
|
? UIHelper.getButtonTextColourForMessageType(systemStatusMessageInfo.statusType)
|
|
6
|
-
: 'var(--ab-color-
|
|
6
|
+
: 'var(--ab-color-primary-foreground)';
|
|
7
7
|
return {
|
|
8
8
|
background,
|
|
9
9
|
color,
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import * as ThemeRedux from '../../Redux/ActionsReducers/ThemeRedux';
|
|
3
2
|
import { ModuleViewPopupProps } from '../Components/SharedProps/ModuleViewPopupProps';
|
|
4
|
-
|
|
5
|
-
interface ThemePopupProps extends ModuleViewPopupProps<ThemePopupComponent> {
|
|
6
|
-
CurrentTheme: string;
|
|
7
|
-
UserThemes: AdaptableTheme[];
|
|
8
|
-
SelectTheme: (newTheme: string) => ThemeRedux.ThemeSelectAction;
|
|
9
|
-
hideShowInWindow?: boolean;
|
|
10
|
-
}
|
|
11
|
-
declare class ThemePopupComponent extends React.Component<ThemePopupProps, {}> {
|
|
3
|
+
declare class ThemePopupComponent extends React.Component<ModuleViewPopupProps<ThemePopupComponent>, {}> {
|
|
12
4
|
render(): React.JSX.Element;
|
|
13
|
-
onChangeTheme(value: string): void;
|
|
14
|
-
handleCreateNewTheme: (variant: "dark" | "light") => void;
|
|
15
5
|
}
|
|
16
|
-
export declare let ThemePopup:
|
|
17
|
-
[x: string]: any;
|
|
18
|
-
}>;
|
|
6
|
+
export declare let ThemePopup: typeof ThemePopupComponent;
|
|
19
7
|
export {};
|
|
@@ -1,47 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { connect } from 'react-redux';
|
|
4
|
-
import * as ThemeRedux from '../../Redux/ActionsReducers/ThemeRedux';
|
|
5
3
|
import { PopupPanel } from '../Components/Popups/AdaptablePopup/PopupPanel';
|
|
6
4
|
import FormLayout, { FormRow } from '../../components/FormLayout';
|
|
7
|
-
import ObjectFactory from '../../Utilities/ObjectFactory';
|
|
8
|
-
import { ACCESS_LEVEL_READ_ONLY } from '../../Utilities/Constants/GeneralConstants';
|
|
9
5
|
import { ThemeSelector } from './ThemeSelector';
|
|
10
6
|
import { Box } from '../../components/Flex';
|
|
11
7
|
class ThemePopupComponent extends React.Component {
|
|
12
8
|
render() {
|
|
13
|
-
const isCustomTheme = this.props.api.themeApi
|
|
14
|
-
.getUserThemes()
|
|
15
|
-
.some((theme) => theme.Name === this.props.CurrentTheme);
|
|
16
|
-
const disabled = this.props.accessLevel === ACCESS_LEVEL_READ_ONLY;
|
|
17
9
|
return (_jsx(PopupPanel, { headerText: this.props.moduleInfo.FriendlyName, glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed(), children: _jsx(FormLayout, { children: _jsx(FormRow, { label: "Select Current Theme:", children: _jsx(Box, { className: "twa:max-w-[150px]", children: _jsx(ThemeSelector, {}) }) }) }) }));
|
|
18
10
|
}
|
|
19
|
-
onChangeTheme(value) {
|
|
20
|
-
this.props.SelectTheme(value);
|
|
21
|
-
}
|
|
22
|
-
handleCreateNewTheme = (variant) => {
|
|
23
|
-
let nthItem = this.props.UserThemes.length + 1;
|
|
24
|
-
let name = 'Custom-Theme-' + nthItem;
|
|
25
|
-
// make sure it is unique
|
|
26
|
-
while (this.props.UserThemes.some((theme) => theme.Name === name)) {
|
|
27
|
-
nthItem++;
|
|
28
|
-
name = 'Custom-Theme-' + nthItem;
|
|
29
|
-
}
|
|
30
|
-
const newTheme = ObjectFactory.CreateEmptyTheme(name);
|
|
31
|
-
newTheme.Variant = variant;
|
|
32
|
-
this.props.api.themeApi.addUserTheme(newTheme);
|
|
33
|
-
this.props.api.themeApi.loadTheme(newTheme.Name);
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function mapStateToProps(state, ownProps) {
|
|
37
|
-
return {
|
|
38
|
-
CurrentTheme: state.Theme.CurrentTheme,
|
|
39
|
-
UserThemes: state.Theme.UserThemes,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function mapDispatchToProps(dispatch) {
|
|
43
|
-
return {
|
|
44
|
-
SelectTheme: (newTheme) => dispatch(ThemeRedux.ThemeSelect(newTheme)),
|
|
45
|
-
};
|
|
46
11
|
}
|
|
47
|
-
export let ThemePopup =
|
|
12
|
+
export let ThemePopup = ThemePopupComponent;
|
package/src/View/UIHelper.js
CHANGED
|
@@ -314,7 +314,7 @@ export function getButtonColourForAdaptableAlerts(adaptableAlerts, messageTypeCo
|
|
|
314
314
|
}
|
|
315
315
|
export function getButtonTextColourForArrayandMessageType(adaptableAlerts, messageType) {
|
|
316
316
|
if (ArrayExtensions.IsNullOrEmpty(adaptableAlerts)) {
|
|
317
|
-
return '
|
|
317
|
+
return 'primary-foreground';
|
|
318
318
|
}
|
|
319
319
|
return this.getButtonTextColourForMessageType(messageType);
|
|
320
320
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { useDispatch } from 'react-redux';
|
|
5
5
|
import * as NamedQueryRedux from '../../Redux/ActionsReducers/NamedQueryRedux';
|
|
6
|
-
import SimpleButton from '../../components/SimpleButton';
|
|
7
6
|
import { useAdaptable } from '../AdaptableContext';
|
|
8
|
-
import {
|
|
7
|
+
import { Card } from '../../components/Card';
|
|
8
|
+
import { ButtonEdit } from '../Components/Buttons/ButtonEdit';
|
|
9
9
|
import { NamedQueryContext, } from '../../components/ExpressionEditor/NamedQueryContext';
|
|
10
10
|
import { OnePageWizard, useOnePageWizardContext } from './OnePageWizards';
|
|
11
11
|
import kebabCase from '../../Utilities/utils/kebabCase';
|
|
@@ -74,20 +74,9 @@ export const OnePageAdaptableWizard = (props) => {
|
|
|
74
74
|
return (_jsx(OnePageAdaptableWizardContext.Provider, { value: extraContext, children: _jsx(NamedQueryContext.Provider, { value: { namedQuery, setNamedQuery }, children: _jsx(OnePageWizard, { ...props, name: name, sections: sections, onFinish: handleClickFinish, moduleName: props.moduleName ?? props.moduleInfo.FriendlyName }) }) }));
|
|
75
75
|
};
|
|
76
76
|
export const OnePageWizardSummary = () => {
|
|
77
|
-
const {
|
|
78
|
-
const { setCurrentSection } = useOnePageWizardContext();
|
|
79
|
-
|
|
80
|
-
const renderEdit = (index) => (_jsx(SimpleButton, { className: "twa:px-1 twa:inline-block twa:text-2 twa:underline", variant: "text", onClick: () => {
|
|
81
|
-
setCurrentSection(index);
|
|
82
|
-
}, children: "edit" }));
|
|
83
|
-
const extraContext = {
|
|
84
|
-
data,
|
|
85
|
-
api,
|
|
86
|
-
namedQuery,
|
|
87
|
-
moduleInfo: moduleInfo,
|
|
88
|
-
sections,
|
|
89
|
-
};
|
|
90
|
-
return (_jsx(Box, { className: "ab-OnePageWizardSummary twa:flex twa:flex-col twa:gap-2", children: sections
|
|
77
|
+
const { data, api } = useOnePageAdaptableWizardContext();
|
|
78
|
+
const { sections: visibleSections, setCurrentSection } = useOnePageWizardContext();
|
|
79
|
+
return (_jsx(Box, { className: "ab-OnePageWizardSummary twa:flex twa:flex-col twa:gap-3", children: visibleSections
|
|
91
80
|
.map((section, index) => {
|
|
92
81
|
if (section === '-') {
|
|
93
82
|
return null;
|
|
@@ -95,10 +84,7 @@ export const OnePageWizardSummary = () => {
|
|
|
95
84
|
if (!section.renderSummary) {
|
|
96
85
|
return null;
|
|
97
86
|
}
|
|
98
|
-
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
return (_jsx(_Fragment, { children: _jsxs(Tabs, { keyboardNavigation: false, children: [_jsxs(Tabs.Tab, { children: [section.title, " ", renderEdit(index)] }), _jsx(Tabs.Content, { children: section.renderSummary(data, api) })] }, index) }));
|
|
87
|
+
return (_jsxs(Card, { shadow: false, children: [_jsxs(Card.Title, { className: "twa:w-full", children: [_jsx(Box, { className: "twa:font-medium twa:flex-1", children: section.title }), _jsx(ButtonEdit, { onClick: () => setCurrentSection(index) })] }), _jsx(Card.Body, { className: "twa:p-1", children: section.renderSummary?.(data, api) })] }, `${section.title}-${index}`));
|
|
102
88
|
})
|
|
103
89
|
.filter(Boolean) }));
|
|
104
90
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Provider } from 'react-redux';
|
|
3
3
|
import AdaptableContext from './AdaptableContext';
|
|
4
|
-
import {
|
|
5
|
-
import { TooltipProvider } from '../components/ui/tooltip';
|
|
4
|
+
import { TooltipProvider } from "../components/ui/tooltip";
|
|
6
5
|
export const renderWithAdaptableContext = (children, adaptable) => {
|
|
7
|
-
return (_jsx(TooltipProvider, { delay: 300, children: _jsx(Provider, { store: adaptable.adaptableStore.TheStore, children: _jsx(
|
|
6
|
+
return (_jsx(TooltipProvider, { delay: 300, children: _jsx(Provider, { store: adaptable.adaptableStore.TheStore, children: _jsx(AdaptableContext.Provider, { value: adaptable, children: children }) }) }));
|
|
8
7
|
};
|
|
@@ -97,7 +97,6 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
97
97
|
private LicenseService;
|
|
98
98
|
private ChartingService;
|
|
99
99
|
private rowListeners;
|
|
100
|
-
private throttleFilterOnDataChange;
|
|
101
100
|
private debouncedSetSelectedRows;
|
|
102
101
|
private debouncedSetSelectedCells;
|
|
103
102
|
private agGridListenerKeydown;
|
|
@@ -361,6 +360,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
|
|
|
361
360
|
private hasFloatingFilterOnAtLeastOneColumn;
|
|
362
361
|
getChartRef(chartId: string): ChartRef;
|
|
363
362
|
updateLayoutInManagerAfterStoreHasChanged(layout?: Layout): void;
|
|
363
|
+
private getActiveAdaptableAggFuncForCol;
|
|
364
364
|
private onRowDataChanged;
|
|
365
365
|
private onCellDataChanged;
|
|
366
366
|
private isUndoChange;
|