diff --git a/ui/v2.5/src/components/List/ItemList.tsx b/ui/v2.5/src/components/List/ItemList.tsx index 8b3aa5898b1..973755f4015 100644 --- a/ui/v2.5/src/components/List/ItemList.tsx +++ b/ui/v2.5/src/components/List/ItemList.tsx @@ -137,6 +137,7 @@ export function makeItemList({ const RenderList: React.FC & IRenderListProps> = ({ filter, + filterHook, onChangePage: _onChangePage, updateFilter, persistState, @@ -156,7 +157,14 @@ export function makeItemList({ const [editingCriterion, setEditingCriterion] = useState(); const [showEditFilter, setShowEditFilter] = useState(false); - const result = useResult(filter); + const effectiveFilter = useMemo(() => { + if (filterHook) { + return filterHook(cloneDeep(filter)); + } + return filter; + }, [filter, filterHook]); + + const result = useResult(effectiveFilter); const [totalCount, setTotalCount] = useState(0); const [metadataByline, setMetadataByline] = useState(); const items = useMemo(() => getItems(result), [result]); @@ -525,7 +533,6 @@ export function makeItemList({ persistState, persistanceKey = filterMode, defaultSort = filterOptions.defaultSortBy, - filterHook, defaultZoomIndex, alterQuery = true, } = props; @@ -712,17 +719,11 @@ export function makeItemList({ [filter, updateFilter] ); - const renderFilter = useMemo(() => { - if (filterInitialised) { - return filterHook ? filterHook(cloneDeep(filter)) : filter; - } - }, [filterInitialised, filter, filterHook]); - - if (!renderFilter) return null; + if (!filterInitialised) return null; return (