From 1ea46defac861f8029e08d8315ea2a9b43cabc58 Mon Sep 17 00:00:00 2001 From: caustico Date: Wed, 9 Sep 2020 19:55:01 +0200 Subject: [PATCH 1/2] Add filter country when click the performer flag --- .../src/components/Performers/PerformerCard.tsx | 4 +++- .../src/models/list-filter/criteria/country.ts | 16 ++++++++++++++++ ui/v2.5/src/utils/navigation.ts | 13 +++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 ui/v2.5/src/models/list-filter/criteria/country.ts diff --git a/ui/v2.5/src/components/Performers/PerformerCard.tsx b/ui/v2.5/src/components/Performers/PerformerCard.tsx index 79d147f122e..486e48c1aec 100644 --- a/ui/v2.5/src/components/Performers/PerformerCard.tsx +++ b/ui/v2.5/src/components/Performers/PerformerCard.tsx @@ -38,8 +38,10 @@ export const PerformerCard: React.FC = ({
{performer.name}
{age !== 0 ?
{ageString}
: ""} + -
+ +
Stars in    diff --git a/ui/v2.5/src/models/list-filter/criteria/country.ts b/ui/v2.5/src/models/list-filter/criteria/country.ts new file mode 100644 index 00000000000..b36e6e3c8c7 --- /dev/null +++ b/ui/v2.5/src/models/list-filter/criteria/country.ts @@ -0,0 +1,16 @@ +import { CriterionModifier } from "src/core/generated-graphql"; +import { Criterion, CriterionType, ICriterionOption } from "./criterion"; + +export class CountryCriterion extends Criterion { + public type: CriterionType = "country"; + public parameterName: string = "performers"; + public modifier = CriterionModifier.Equals; + public modifierOptions = []; + public options: string[] = [true.toString(), false.toString()]; + public value: string = ""; +} + +export class CountryCriterionOption implements ICriterionOption { + public label: string = Criterion.getLabel("performers"); + public value: CriterionType = "country"; +} \ No newline at end of file diff --git a/ui/v2.5/src/utils/navigation.ts b/ui/v2.5/src/utils/navigation.ts index a4867bf6c99..825cb539ddf 100644 --- a/ui/v2.5/src/utils/navigation.ts +++ b/ui/v2.5/src/utils/navigation.ts @@ -1,5 +1,6 @@ import * as GQL from "src/core/generated-graphql"; import { PerformersCriterion } from "src/models/list-filter/criteria/performers"; +import { CountryCriterion } from "src/models/list-filter/criteria/country"; import { StudiosCriterion, ParentStudiosCriterion, @@ -22,6 +23,17 @@ const makePerformerScenesUrl = ( return `/scenes?${filter.makeQueryParameters()}`; }; +const makePerformersCountryUrl = ( + performer: Partial +) => { + if (!performer.id) return "#"; + const filter = new ListFilterModel(FilterMode.Performers); + const criterion = new CountryCriterion(); + criterion.value = `${performer.country}` + filter.criteria.push(criterion); + return `/performers?${filter.makeQueryParameters()}`; +}; + const makeStudioScenesUrl = (studio: Partial) => { if (!studio.id) return "#"; const filter = new ListFilterModel(FilterMode.Scenes); @@ -82,6 +94,7 @@ const makeSceneMarkerUrl = ( export default { makePerformerScenesUrl, + makePerformersCountryUrl, makeStudioScenesUrl, makeTagSceneMarkersUrl, makeTagScenesUrl, From c13595903dd290912118d9d47bb6277174b078cd Mon Sep 17 00:00:00 2001 From: caustico Date: Fri, 11 Sep 2020 11:21:08 +0200 Subject: [PATCH 2/2] Format ts files to get rid of the travis error --- ui/v2.5/src/components/Performers/PerformerCard.tsx | 4 ++-- ui/v2.5/src/models/list-filter/criteria/country.ts | 2 +- ui/v2.5/src/utils/navigation.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/v2.5/src/components/Performers/PerformerCard.tsx b/ui/v2.5/src/components/Performers/PerformerCard.tsx index 486e48c1aec..fd21b0e9202 100644 --- a/ui/v2.5/src/components/Performers/PerformerCard.tsx +++ b/ui/v2.5/src/components/Performers/PerformerCard.tsx @@ -39,9 +39,9 @@ export const PerformerCard: React.FC = ({
{performer.name}
{age !== 0 ?
{ageString}
: ""} - + -
+
Stars in    diff --git a/ui/v2.5/src/models/list-filter/criteria/country.ts b/ui/v2.5/src/models/list-filter/criteria/country.ts index b36e6e3c8c7..b5e7cf8719f 100644 --- a/ui/v2.5/src/models/list-filter/criteria/country.ts +++ b/ui/v2.5/src/models/list-filter/criteria/country.ts @@ -13,4 +13,4 @@ export class CountryCriterion extends Criterion { export class CountryCriterionOption implements ICriterionOption { public label: string = Criterion.getLabel("performers"); public value: CriterionType = "country"; -} \ No newline at end of file +} diff --git a/ui/v2.5/src/utils/navigation.ts b/ui/v2.5/src/utils/navigation.ts index 825cb539ddf..3a3cfadf8dc 100644 --- a/ui/v2.5/src/utils/navigation.ts +++ b/ui/v2.5/src/utils/navigation.ts @@ -29,7 +29,7 @@ const makePerformersCountryUrl = ( if (!performer.id) return "#"; const filter = new ListFilterModel(FilterMode.Performers); const criterion = new CountryCriterion(); - criterion.value = `${performer.country}` + criterion.value = `${performer.country}`; filter.criteria.push(criterion); return `/performers?${filter.makeQueryParameters()}`; };