This is an automated email from the ASF dual-hosted git repository.

kgabryje pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 354a89950c feat(explore): Denormalize form data in echarts, world map 
and nvd3 bar and line charts (#20313)
354a89950c is described below

commit 354a89950c4d001da3e107f60788cea873bd6bf6
Author: Kamil Gabryjelski <[email protected]>
AuthorDate: Thu Jun 9 11:54:09 2022 +0200

    feat(explore): Denormalize form data in echarts, world map and nvd3 bar and 
line charts (#20313)
    
    * feat(explore): Apply denormalize form data function to echarts and world 
map
    
    * Denormalize form data in mixed timeseries
    
    * Add dist bar chart
---
 .../src/controlPanel.ts                            |  4 ++++
 .../src/Bar/controlPanel.ts                        |  5 +++++
 .../src/DistBar/controlPanel.ts                    | 12 +++++++++++-
 .../src/Line/controlPanel.ts                       |  5 +++++
 .../src/BoxPlot/controlPanel.ts                    | 13 ++++++++++++-
 .../src/Funnel/controlPanel.tsx                    |  5 +++++
 .../src/Gauge/controlPanel.tsx                     |  6 +++++-
 .../src/Graph/controlPanel.tsx                     |  4 ++++
 .../src/MixedTimeseries/controlPanel.tsx           | 22 +++++++++++++++++++++-
 .../src/Radar/controlPanel.tsx                     |  5 +++++
 .../src/Timeseries/Area/controlPanel.tsx           |  5 +++++
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |  5 +++++
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |  5 +++++
 .../src/Timeseries/Regular/controlPanel.tsx        |  1 +
 .../src/Timeseries/Step/controlPanel.tsx           |  5 +++++
 .../src/Timeseries/controlPanel.tsx                |  5 +++++
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |  4 ++++
 .../src/Treemap/controlPanel.tsx                   |  5 +++++
 18 files changed, 112 insertions(+), 4 deletions(-)

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;

Reply via email to