diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.tsx index 535e2e0bd..7d335e553 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControl.tsx @@ -17,6 +17,11 @@ * under the License. */ import React, { useContext, useMemo, useState } from 'react'; +import { + createHtmlPortalNode, + InPortal, + OutPortal, +} from 'react-reverse-portal'; import { styled, SupersetTheme } from '@superset-ui/core'; import { FormItem as StyledFormItem, Form } from 'src/components/Form'; import { Tooltip } from 'src/components/Tooltip'; @@ -224,6 +229,7 @@ const FilterControl = ({ orientation = FilterBarOrientation.VERTICAL, overflow = false, }: FilterControlProps) => { + const portalNode = useMemo(() => createHtmlPortalNode(), []); const [isFilterActive, setIsFilterActive] = useState(false); const { name = '' } = filter; @@ -276,40 +282,45 @@ const FilterControl = ({ }, [orientation, overflow]); return ( - - + + + + -
- - - -
-
-
+ +
+ + + +
+
+ + ); }; diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx index 213329c4b..308361622 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx @@ -319,4 +319,4 @@ const FilterValue: React.FC = ({ ); }; -export default FilterValue; +export default React.memo(FilterValue);