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/09 14:06:15 UTC

[superset] branch master updated: Fix new metric popover showing previous popover's title (#12385)

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

villebro 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 14ccbe4  Fix new metric popover showing previous popover's title (#12385)
14ccbe4 is described below

commit 14ccbe43b3219f7c2bdea953d84a94da4b3cc2ef
Author: Kamil Gabryjelski <ka...@gmail.com>
AuthorDate: Sat Jan 9 15:05:25 2021 +0100

    Fix new metric popover showing previous popover's title (#12385)
---
 .../explore/components/AdhocMetricEditPopoverTitle.jsx    |  1 -
 .../src/explore/components/AdhocMetricPopoverTrigger.tsx  | 15 ++++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/superset-frontend/src/explore/components/AdhocMetricEditPopoverTitle.jsx b/superset-frontend/src/explore/components/AdhocMetricEditPopoverTitle.jsx
index 61347b4..08eb9e8 100644
--- a/superset-frontend/src/explore/components/AdhocMetricEditPopoverTitle.jsx
+++ b/superset-frontend/src/explore/components/AdhocMetricEditPopoverTitle.jsx
@@ -26,7 +26,6 @@ const propTypes = {
     label: PropTypes.string,
     hasCustomLabel: PropTypes.bool,
   }),
-  defaultLabel: PropTypes.string,
   onChange: PropTypes.func.isRequired,
 };
 
diff --git a/superset-frontend/src/explore/components/AdhocMetricPopoverTrigger.tsx b/superset-frontend/src/explore/components/AdhocMetricPopoverTrigger.tsx
index 8b9fd47..6179816 100644
--- a/superset-frontend/src/explore/components/AdhocMetricPopoverTrigger.tsx
+++ b/superset-frontend/src/explore/components/AdhocMetricPopoverTrigger.tsx
@@ -37,6 +37,7 @@ export type AdhocMetricPopoverTriggerProps = {
 export type AdhocMetricPopoverTriggerState = {
   popoverVisible: boolean;
   title: { label: string; hasCustomLabel: boolean };
+  labelModified: boolean;
 };
 
 class AdhocMetricPopoverTrigger extends React.PureComponent<
@@ -55,6 +56,7 @@ class AdhocMetricPopoverTrigger extends React.PureComponent<
         label: props.adhocMetric.label,
         hasCustomLabel: props.adhocMetric.hasCustomLabel,
       },
+      labelModified: false,
     };
   }
 
@@ -65,6 +67,7 @@ class AdhocMetricPopoverTrigger extends React.PureComponent<
         label: label || this.props.adhocMetric.label,
         hasCustomLabel: !!label,
       },
+      labelModified: true,
     });
   }
 
@@ -74,6 +77,9 @@ class AdhocMetricPopoverTrigger extends React.PureComponent<
 
   closePopover() {
     this.togglePopover(false);
+    this.setState({
+      labelModified: false,
+    });
   }
 
   togglePopover(visible: boolean) {
@@ -84,11 +90,15 @@ class AdhocMetricPopoverTrigger extends React.PureComponent<
 
   render() {
     const { adhocMetric } = this.props;
+    const { label, hasCustomLabel } = adhocMetric;
+    const title = this.state.labelModified
+      ? this.state.title
+      : { label, hasCustomLabel };
 
     const overlayContent = (
       <AdhocMetricEditPopover
         adhocMetric={adhocMetric}
-        title={this.state.title}
+        title={title}
         columns={this.props.columns}
         savedMetrics={this.props.savedMetrics}
         savedMetric={this.props.savedMetric}
@@ -101,8 +111,7 @@ class AdhocMetricPopoverTrigger extends React.PureComponent<
 
     const popoverTitle = (
       <AdhocMetricEditPopoverTitle
-        title={this.state.title}
-        defaultLabel={adhocMetric.label}
+        title={title}
         onChange={this.onLabelChange}
       />
     );