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