mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
Apply filter hook to results filter only (#4705)
This commit is contained in:
@@ -137,6 +137,7 @@ export function makeItemList<T extends QueryResult, E extends IDataItem>({
|
||||
|
||||
const RenderList: React.FC<IItemListProps<T, E> & IRenderListProps> = ({
|
||||
filter,
|
||||
filterHook,
|
||||
onChangePage: _onChangePage,
|
||||
updateFilter,
|
||||
persistState,
|
||||
@@ -156,7 +157,14 @@ export function makeItemList<T extends QueryResult, E extends IDataItem>({
|
||||
const [editingCriterion, setEditingCriterion] = useState<string>();
|
||||
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<React.ReactNode>();
|
||||
const items = useMemo(() => getItems(result), [result]);
|
||||
@@ -525,7 +533,6 @@ export function makeItemList<T extends QueryResult, E extends IDataItem>({
|
||||
persistState,
|
||||
persistanceKey = filterMode,
|
||||
defaultSort = filterOptions.defaultSortBy,
|
||||
filterHook,
|
||||
defaultZoomIndex,
|
||||
alterQuery = true,
|
||||
} = props;
|
||||
@@ -712,17 +719,11 @@ export function makeItemList<T extends QueryResult, E extends IDataItem>({
|
||||
[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 (
|
||||
<RenderList
|
||||
filter={renderFilter}
|
||||
filter={filter}
|
||||
onChangePage={onChangePage}
|
||||
updateFilter={updateFilter}
|
||||
{...props}
|
||||
|
||||
Reference in New Issue
Block a user