fix(native-filters): cascading filters not rendering in tab (#14964)

This commit is contained in:
Ville Brofeldt 2021-06-03 12:04:23 +03:00 committed by GitHub
parent e6bc7c99e7
commit f94c6d2763
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 16 deletions

View File

@ -72,6 +72,7 @@ const FilterControls: FC<FilterControlsProps> = ({
}));
return buildCascadeFiltersTree(filtersWithValue);
}, [filterValues, dataMaskSelected]);
const cascadeFilterIds = new Set(cascadeFilters.map(item => item.id));
let filtersInScope: CascadeFilter[] = [];
const filtersOutOfScope: CascadeFilter[] = [];
@ -93,23 +94,25 @@ const FilterControls: FC<FilterControlsProps> = ({
return (
<Wrapper>
{portalNodes.map((node, index) => (
<portals.InPortal node={node}>
<CascadePopover
data-test="cascade-filters-control"
key={cascadeFilters[index].id}
visible={visiblePopoverId === cascadeFilters[index].id}
onVisibleChange={visible =>
setVisiblePopoverId(visible ? cascadeFilters[index].id : null)
}
filter={cascadeFilters[index]}
onFilterSelectionChange={onFilterSelectionChange}
directPathToChild={directPathToChild}
/>
</portals.InPortal>
))}
{portalNodes
.filter((node, index) => cascadeFilterIds.has(filterValues[index].id))
.map((node, index) => (
<portals.InPortal node={node}>
<CascadePopover
data-test="cascade-filters-control"
key={cascadeFilters[index].id}
visible={visiblePopoverId === cascadeFilters[index].id}
onVisibleChange={visible =>
setVisiblePopoverId(visible ? cascadeFilters[index].id : null)
}
filter={cascadeFilters[index]}
onFilterSelectionChange={onFilterSelectionChange}
directPathToChild={directPathToChild}
/>
</portals.InPortal>
))}
{filtersInScope.map(filter => {
const index = cascadeFilters.findIndex(f => f.id === filter.id);
const index = filterValues.findIndex(f => f.id === filter.id);
return <portals.OutPortal node={portalNodes[index]} />;
})}
{showCollapsePanel && (