mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 21:04:37 +03:00
Fix filter hooks (#3482)
This commit is contained in:
@@ -15,25 +15,29 @@ export const usePerformerFilterHook = (
|
|||||||
return c.criterionOption.type === "performers";
|
return c.criterionOption.type === "performers";
|
||||||
}) as PerformersCriterion;
|
}) as PerformersCriterion;
|
||||||
|
|
||||||
if (
|
if (performerCriterion) {
|
||||||
performerCriterion &&
|
|
||||||
(performerCriterion.modifier === GQL.CriterionModifier.IncludesAll ||
|
|
||||||
performerCriterion.modifier === GQL.CriterionModifier.Includes)
|
|
||||||
) {
|
|
||||||
// add the performer if not present
|
|
||||||
if (
|
if (
|
||||||
!performerCriterion.value.find((p) => {
|
performerCriterion.modifier === GQL.CriterionModifier.IncludesAll ||
|
||||||
return p.id === performer.id;
|
performerCriterion.modifier === GQL.CriterionModifier.Includes
|
||||||
})
|
|
||||||
) {
|
) {
|
||||||
performerCriterion.value.push(performerValue);
|
// add the performer if not present
|
||||||
|
if (
|
||||||
|
!performerCriterion.value.find((p) => {
|
||||||
|
return p.id === performer.id;
|
||||||
|
})
|
||||||
|
) {
|
||||||
|
performerCriterion.value.push(performerValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// overwrite
|
||||||
|
performerCriterion.value = [performerValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
performerCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
performerCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
||||||
} else {
|
} else {
|
||||||
// overwrite
|
|
||||||
performerCriterion = new PerformersCriterion();
|
performerCriterion = new PerformersCriterion();
|
||||||
performerCriterion.value = [performerValue];
|
performerCriterion.value = [performerValue];
|
||||||
|
performerCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
||||||
filter.criteria.push(performerCriterion);
|
filter.criteria.push(performerCriterion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,21 +14,11 @@ export const useStudioFilterHook = (studio: GQL.StudioDataFragment) => {
|
|||||||
return c.criterionOption.type === "studios";
|
return c.criterionOption.type === "studios";
|
||||||
}) as StudiosCriterion;
|
}) as StudiosCriterion;
|
||||||
|
|
||||||
if (
|
if (studioCriterion) {
|
||||||
studioCriterion &&
|
|
||||||
(studioCriterion.modifier === GQL.CriterionModifier.IncludesAll ||
|
|
||||||
studioCriterion.modifier === GQL.CriterionModifier.Includes)
|
|
||||||
) {
|
|
||||||
// we should be showing studio only. Remove other values
|
// we should be showing studio only. Remove other values
|
||||||
studioCriterion.value.items = studioCriterion.value.items.filter(
|
studioCriterion.value.items = [studioValue];
|
||||||
(v) => v.id === studio.id
|
studioCriterion.modifier = GQL.CriterionModifier.Includes;
|
||||||
);
|
|
||||||
|
|
||||||
if (studioCriterion.value.items.length === 0) {
|
|
||||||
studioCriterion.value.items.push(studioValue);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// overwrite
|
|
||||||
studioCriterion = new StudiosCriterion();
|
studioCriterion = new StudiosCriterion();
|
||||||
studioCriterion.value = {
|
studioCriterion.value = {
|
||||||
items: [studioValue],
|
items: [studioValue],
|
||||||
@@ -36,6 +26,7 @@ export const useStudioFilterHook = (studio: GQL.StudioDataFragment) => {
|
|||||||
? -1
|
? -1
|
||||||
: 0,
|
: 0,
|
||||||
};
|
};
|
||||||
|
studioCriterion.modifier = GQL.CriterionModifier.Includes;
|
||||||
filter.criteria.push(studioCriterion);
|
filter.criteria.push(studioCriterion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,23 +19,26 @@ export const useTagFilterHook = (tag: GQL.TagDataFragment) => {
|
|||||||
return c.criterionOption.type === "tags";
|
return c.criterionOption.type === "tags";
|
||||||
}) as TagsCriterion;
|
}) as TagsCriterion;
|
||||||
|
|
||||||
if (
|
if (tagCriterion) {
|
||||||
tagCriterion &&
|
|
||||||
(tagCriterion.modifier === GQL.CriterionModifier.IncludesAll ||
|
|
||||||
tagCriterion.modifier === GQL.CriterionModifier.Includes)
|
|
||||||
) {
|
|
||||||
// add the tag if not present
|
|
||||||
if (
|
if (
|
||||||
!tagCriterion.value.items.find((p) => {
|
tagCriterion.modifier === GQL.CriterionModifier.IncludesAll ||
|
||||||
return p.id === tag.id;
|
tagCriterion.modifier === GQL.CriterionModifier.Includes
|
||||||
})
|
|
||||||
) {
|
) {
|
||||||
tagCriterion.value.items.push(tagValue);
|
// add the tag if not present
|
||||||
|
if (
|
||||||
|
!tagCriterion.value.items.find((p) => {
|
||||||
|
return p.id === tag.id;
|
||||||
|
})
|
||||||
|
) {
|
||||||
|
tagCriterion.value.items.push(tagValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// overwrite
|
||||||
|
tagCriterion.value.items = [tagValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
tagCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
tagCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
||||||
} else {
|
} else {
|
||||||
// overwrite
|
|
||||||
tagCriterion = new TagsCriterion(TagsCriterionOption);
|
tagCriterion = new TagsCriterion(TagsCriterionOption);
|
||||||
tagCriterion.value = {
|
tagCriterion.value = {
|
||||||
items: [tagValue],
|
items: [tagValue],
|
||||||
@@ -43,6 +46,7 @@ export const useTagFilterHook = (tag: GQL.TagDataFragment) => {
|
|||||||
? -1
|
? -1
|
||||||
: 0,
|
: 0,
|
||||||
};
|
};
|
||||||
|
tagCriterion.modifier = GQL.CriterionModifier.IncludesAll;
|
||||||
filter.criteria.push(tagCriterion);
|
filter.criteria.push(tagCriterion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user