From 61e56b5027da6d6417b8d275a93a2cf7b4a03d1b Mon Sep 17 00:00:00 2001 From: Ville Brofeldt <33317356+villebro@users.noreply.github.com> Date: Fri, 29 Jan 2021 22:51:35 +0200 Subject: [PATCH] fix(explore): add current savedMetric to dropdown (#12835) --- .../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 3e501cab4a..8e2283bbe6 100644 --- a/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx +++ b/superset-frontend/src/explore/components/controls/MetricControl/MetricsControl.jsx @@ -63,11 +63,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, ) ?? [] ); @@ -143,6 +148,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} @@ -284,6 +290,7 @@ class MetricsControl extends React.PureComponent { savedMetricsOptions={getOptionsForSavedMetrics( this.props.savedMetrics, this.props.value, + null, )} savedMetric={{}} datasourceType={this.props.datasourceType}