diff --git a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts index 93fc1ab1c9..f9f7dfb09d 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts +++ b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/controlPanel.ts @@ -152,6 +152,10 @@ const config: ControlPanelConfig = { Boolean(controls?.color_by.value === ColorBy.country), }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + }), }; export default config; diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/controlPanel.ts b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/controlPanel.ts index 61d3f14add..91af47f1f7 100644 --- a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/controlPanel.ts +++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bar/controlPanel.ts @@ -122,6 +122,11 @@ const config: ControlPanelConfig = { timeSeriesSection[1], sections.annotations, ], + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/controlPanel.ts b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/controlPanel.ts index 278743d472..5d526b43e3 100644 --- a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/controlPanel.ts +++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/DistBar/controlPanel.ts @@ -106,7 +106,6 @@ const config: ControlPanelConfig = { ], controlOverrides: { groupby: { - label: t('Dimensions'), validators: [validateNonEmpty], mapStateToProps: (state, controlState) => { const groupbyProps = @@ -134,6 +133,17 @@ const config: ControlPanelConfig = { rerender: ['groupby'], }, }, + denormalizeFormData: formData => { + const columns = + formData.standardizedFormData.standardizedState.columns.filter( + col => !ensureIsArray(formData.groupby).includes(col), + ); + return { + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + columns, + }; + }, }; export default config; diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/controlPanel.ts b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/controlPanel.ts index 5b277cf671..fa4738ebfd 100644 --- a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/controlPanel.ts +++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/Line/controlPanel.ts @@ -96,6 +96,11 @@ const config: ControlPanelConfig = { default: 50000, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts index f8e5cbb629..b92c289bb4 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/controlPanel.ts @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -import { t } from '@superset-ui/core'; +import { ensureIsArray, t } from '@superset-ui/core'; import { D3_FORMAT_DOCS, D3_FORMAT_OPTIONS, @@ -136,5 +136,16 @@ const config: ControlPanelConfig = { ), }, }, + denormalizeFormData: formData => { + const groupby = + formData.standardizedFormData.standardizedState.columns.filter( + col => !ensureIsArray(formData.columns).includes(col), + ); + return { + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby, + }; + }, }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/controlPanel.tsx index fe2269cf89..39ce57d498 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/controlPanel.tsx @@ -143,6 +143,11 @@ const config: ControlPanelConfig = { }, }; }, + denormalizeFormData: formData => ({ + ...formData, + metric: formData.standardizedFormData.standardizedState.metrics[0], + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/controlPanel.tsx index ff03da4153..d9dbb3025e 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/controlPanel.tsx @@ -39,7 +39,6 @@ const config: ControlPanelConfig = { name: 'groupby', config: { ...sharedControls.groupby, - label: t('Dimensions'), description: t('Columns to group by'), }, }, @@ -309,6 +308,11 @@ const config: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => ({ + ...formData, + metric: formData.standardizedFormData.standardizedState.metrics[0], + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Graph/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Graph/controlPanel.tsx index cb2f586110..39547f683a 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Graph/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Graph/controlPanel.tsx @@ -320,6 +320,10 @@ const controlPanel: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => ({ + ...formData, + metric: formData.standardizedFormData.standardizedState.metrics[0], + }), }; export default controlPanel; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx index 8566fa5999..74c0ac8890 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx @@ -17,7 +17,12 @@ * under the License. */ import React from 'react'; -import { FeatureFlag, isFeatureEnabled, t } from '@superset-ui/core'; +import { + ensureIsArray, + FeatureFlag, + isFeatureEnabled, + t, +} from '@superset-ui/core'; import { cloneDeep } from 'lodash'; import { ControlPanelConfig, @@ -435,6 +440,21 @@ const config: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => { + const groupby = + formData.standardizedFormData.standardizedState.columns.filter( + col => !ensureIsArray(formData.groupby_b).includes(col), + ); + const metrics = + formData.standardizedFormData.standardizedState.metrics.filter( + metric => !ensureIsArray(formData.metrics_b).includes(metric), + ); + return { + ...formData, + metrics, + groupby, + }; + }, }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx index d24497280a..d78d935a79 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Radar/controlPanel.tsx @@ -210,6 +210,11 @@ const config: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx index e43dda8903..c2aeb2916b 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx @@ -312,6 +312,11 @@ const config: ControlPanelConfig = { default: rowLimit, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx index 8716bffe2d..f0c8aa52ac 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx @@ -398,6 +398,11 @@ const config: ControlPanelConfig = { default: rowLimit, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx index abc5e9a29e..52e7993098 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx @@ -223,6 +223,11 @@ const config: ControlPanelConfig = { default: rowLimit, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/controlPanel.tsx index eaf3cb2615..c56c4a2ab2 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/controlPanel.tsx @@ -243,6 +243,7 @@ const config: ControlPanelConfig = { denormalizeFormData: formData => ({ ...formData, metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, }), }; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx index b8d3a31b2c..94d179c5a4 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx @@ -296,6 +296,11 @@ const config: ControlPanelConfig = { default: rowLimit, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/controlPanel.tsx index 8f22acadee..843affc3d0 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/controlPanel.tsx @@ -299,6 +299,11 @@ const config: ControlPanelConfig = { default: rowLimit, }, }, + denormalizeFormData: formData => ({ + ...formData, + metrics: formData.standardizedFormData.standardizedState.metrics, + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Tree/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Tree/controlPanel.tsx index cd48e0f636..097a882fa3 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Tree/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Tree/controlPanel.tsx @@ -285,6 +285,10 @@ const controlPanel: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => ({ + ...formData, + metric: formData.standardizedFormData.standardizedState.metrics[0], + }), }; export default controlPanel; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx index 63ca40225f..8887377d2d 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/controlPanel.tsx @@ -137,6 +137,11 @@ const config: ControlPanelConfig = { ], }, ], + denormalizeFormData: formData => ({ + ...formData, + metric: formData.standardizedFormData.standardizedState.metrics[0], + groupby: formData.standardizedFormData.standardizedState.columns, + }), }; export default config;