From 9f16d053e17f76e8286711a35defa475ddf86bb0 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Mon, 9 Dec 2019 21:59:53 -0800 Subject: [PATCH] fix: don't show filter popover on explore view load (#8729) * fix: don't show filter popover on explore view load There's this confusing "feature" that I thought was a bug that shows the metric popover opened when entering the explore view when the filter comes from an active dashboard filter, based on the "fromFormData" attribute of the filter. The popover is confusing and often shows as misaligned with the actual element it's supposed to float over when overflowing. * warn * fix cypress * also shut off metrics --- superset/assets/cypress/integration/explore/control.test.js | 3 ++- superset/assets/src/explore/components/AdhocFilterOption.jsx | 3 +-- superset/assets/src/explore/components/AdhocMetricOption.jsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/superset/assets/cypress/integration/explore/control.test.js b/superset/assets/cypress/integration/explore/control.test.js index 7d0da009ec..24092d173b 100644 --- a/superset/assets/cypress/integration/explore/control.test.js +++ b/superset/assets/cypress/integration/explore/control.test.js @@ -168,7 +168,7 @@ describe('AdhocFilters', () => { .trigger('mousedown') .click(); }); - + cy.get('.adhoc-filter-option').click({ force: true }); cy.get('#filter-edit-popover').within(() => { cy.get('[data-test=adhoc-filter-simple-value]').within(() => { cy.get('div.select-input').click({ force: true }); @@ -201,6 +201,7 @@ describe('AdhocFilters', () => { .click(); }); + cy.get('.adhoc-filter-option').click({ force: true }); cy.get('#filter-edit-popover').within(() => { cy.get('#adhoc-filter-edit-tabs-tab-SQL').click(); cy.get('.ace_content').click(); diff --git a/superset/assets/src/explore/components/AdhocFilterOption.jsx b/superset/assets/src/explore/components/AdhocFilterOption.jsx index 8b6adf621d..0c9ce81c1c 100644 --- a/superset/assets/src/explore/components/AdhocFilterOption.jsx +++ b/superset/assets/src/explore/components/AdhocFilterOption.jsx @@ -45,7 +45,7 @@ export default class AdhocFilterOption extends React.PureComponent { this.onPopoverResize = this.onPopoverResize.bind(this); this.onOverlayEntered = this.onOverlayEntered.bind(this); this.onOverlayExited = this.onOverlayExited.bind(this); - this.state = { overlayShown: !this.props.adhocFilter.fromFormData }; + this.state = { overlayShown: false }; } onPopoverResize() { @@ -90,7 +90,6 @@ export default class AdhocFilterOption extends React.PureComponent { overlay={overlay} rootClose shouldUpdatePosition - defaultOverlayShown={!adhocFilter.fromFormData} onEntered={this.onOverlayEntered} onExited={this.onOverlayExited} > diff --git a/superset/assets/src/explore/components/AdhocMetricOption.jsx b/superset/assets/src/explore/components/AdhocMetricOption.jsx index ae168ca416..6fdfa3f956 100644 --- a/superset/assets/src/explore/components/AdhocMetricOption.jsx +++ b/superset/assets/src/explore/components/AdhocMetricOption.jsx @@ -39,7 +39,7 @@ export default class AdhocMetricOption extends React.PureComponent { this.onOverlayEntered = this.onOverlayEntered.bind(this); this.onOverlayExited = this.onOverlayExited.bind(this); this.onPopoverResize = this.onPopoverResize.bind(this); - this.state = { overlayShown: !this.props.adhocMetric.fromFormData }; + this.state = { overlayShown: false }; } onPopoverResize() { @@ -47,7 +47,7 @@ export default class AdhocMetricOption extends React.PureComponent { } onOverlayEntered() { - this.setState({ overlayShown: true }); + this.setState({ overlayShown: false }); } onOverlayExited() {