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/29 15:01:47 UTC

[superset] 02/02: chore(explore): Metric/Column and Filter popover unexpectedly closes on scroll (#12817)

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

commit 8d44afe6ea657a7e25d173d4f257b49e8876207d
Author: Nikola Gigić <ni...@gmail.com>
AuthorDate: Fri Jan 29 15:53:00 2021 +0100

    chore(explore): Metric/Column and Filter popover unexpectedly closes on scroll (#12817)
    
    * fix
    
    * address filter popup
---
 .../AdhocFilterEditPopoverSimpleTabContent.jsx         |  8 +++++++-
 .../AdhocFilterEditPopoverSqlTabContent.jsx            |  1 +
 .../controls/MetricControl/AdhocMetricEditPopover.jsx  | 18 +++++++++++++++---
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent.jsx b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent.jsx
index 0664369..26f5766 100644
--- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent.jsx
+++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent.jsx
@@ -341,6 +341,7 @@ export default class AdhocFilterEditPopoverSimpleTabContent extends React.Compon
             {...this.selectProps}
             {...subjectSelectProps}
             name="filter-column"
+            getPopupContainer={triggerNode => triggerNode.parentNode}
           >
             {columns.map(column => (
               <Select.Option
@@ -359,6 +360,7 @@ export default class AdhocFilterEditPopoverSimpleTabContent extends React.Compon
           <Select
             {...this.selectProps}
             {...operatorSelectProps}
+            getPopupContainer={triggerNode => triggerNode.parentNode}
             name="filter-operator"
           >
             {OPERATORS_OPTIONS.filter(op =>
@@ -373,7 +375,11 @@ export default class AdhocFilterEditPopoverSimpleTabContent extends React.Compon
         <FormGroup data-test="adhoc-filter-simple-value">
           {MULTI_OPERATORS.has(operator) ||
           this.state.suggestions.length > 0 ? (
-            <SelectWithLabel name="filter-value" {...comparatorSelectProps}>
+            <SelectWithLabel
+              name="filter-value"
+              {...comparatorSelectProps}
+              getPopupContainer={triggerNode => triggerNode.parentNode}
+            >
               {this.state.suggestions.map(suggestion => (
                 <Select.Option value={suggestion} key={suggestion}>
                   {suggestion}
diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent.jsx b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent.jsx
index 429414b..dde53c9 100644
--- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent.jsx
+++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent.jsx
@@ -116,6 +116,7 @@ export default class AdhocFilterEditPopoverSqlTabContent extends React.Component
             {...this.selectProps}
             {...clauseSelectProps}
             className="filter-edit-clause-dropdown"
+            getPopupContainer={triggerNode => triggerNode.parentNode}
           >
             {Object.keys(CLAUSES).map(clause => (
               <Select.Option value={clause} key={clause}>
diff --git a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover.jsx b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover.jsx
index 93135e6..63ae310 100644
--- a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover.jsx
+++ b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover.jsx
@@ -354,7 +354,11 @@ export default class AdhocMetricEditPopover extends React.PureComponent {
               <FormLabel>
                 <strong>{t('Saved metric')}</strong>
               </FormLabel>
-              <Select name="select-saved" {...savedSelectProps}>
+              <Select
+                {...savedSelectProps}
+                name="select-saved"
+                getPopupContainer={triggerNode => triggerNode.parentNode}
+              >
                 {Array.isArray(savedMetricsOptions) &&
                   savedMetricsOptions.map(savedMetric => (
                     <Select.Option
@@ -375,7 +379,11 @@ export default class AdhocMetricEditPopover extends React.PureComponent {
               <FormLabel>
                 <strong>{t('column')}</strong>
               </FormLabel>
-              <Select name="select-column" {...columnSelectProps}>
+              <Select
+                {...columnSelectProps}
+                name="select-column"
+                getPopupContainer={triggerNode => triggerNode.parentNode}
+              >
                 {columns.map(column => (
                   <Select.Option
                     value={column.id}
@@ -391,7 +399,11 @@ export default class AdhocMetricEditPopover extends React.PureComponent {
               <FormLabel>
                 <strong>{t('aggregate')}</strong>
               </FormLabel>
-              <Select name="select-aggregate" {...aggregateSelectProps}>
+              <Select
+                {...aggregateSelectProps}
+                name="select-aggregate"
+                getPopupContainer={triggerNode => triggerNode.parentNode}
+              >
                 {AGGREGATES_OPTIONS.map(option => (
                   <Select.Option value={option} key={option}>
                     {option}