You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by vi...@apache.org on 2021/01/30 08:12:10 UTC

[superset] branch 1.0 updated: fix(explore): add current savedMetric to dropdown (#12835)

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

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


The following commit(s) were added to refs/heads/1.0 by this push:
     new ad41e6d  fix(explore): add current savedMetric to dropdown (#12835)
ad41e6d is described below

commit ad41e6d973441a8d55b72dcb9cbc3be6bb37bccb
Author: Ville Brofeldt <33...@users.noreply.github.com>
AuthorDate: Fri Jan 29 22:51:35 2021 +0200

    fix(explore): add current savedMetric to dropdown (#12835)
---
 .../components/controls/MetricControl/MetricsControl.jsx      | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx b/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx
index a4916e9..69e8f57 100644
--- a/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx
+++ b/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx
@@ -64,11 +64,16 @@ const defaultProps = {
   columns: [],
 };
 
-function getOptionsForSavedMetrics(savedMetrics, currentMetricValues) {
+function getOptionsForSavedMetrics(
+  savedMetrics,
+  currentMetricValues,
+  currentMetric,
+) {
   return (
     savedMetrics?.filter(savedMetric =>
       Array.isArray(currentMetricValues)
-        ? !currentMetricValues.includes(savedMetric.metric_name)
+        ? !currentMetricValues.includes(savedMetric.metric_name) ||
+          savedMetric.metric_name === currentMetric
         : savedMetric,
     ) ?? []
   );
@@ -144,6 +149,7 @@ class MetricsControl extends React.PureComponent {
         savedMetricsOptions={getOptionsForSavedMetrics(
           this.props.savedMetrics,
           this.props.value,
+          this.props.value?.[index],
         )}
         datasourceType={this.props.datasourceType}
         onMoveLabel={this.moveLabel}
@@ -285,6 +291,7 @@ class MetricsControl extends React.PureComponent {
         savedMetricsOptions={getOptionsForSavedMetrics(
           this.props.savedMetrics,
           this.props.value,
+          null,
         )}
         savedMetric={{}}
         datasourceType={this.props.datasourceType}