From 4dc81c003b32c6daa4405a326fafbeb7b2d0d3f8 Mon Sep 17 00:00:00 2001
From: codycooperross <50597551+codycooperross@users.noreply.github.com>
Date: Fri, 27 Dec 2024 13:30:38 -0500
Subject: [PATCH 1/3] Adds client.client_type facet
---
cypress/e2e/searchWork.test.ts | 1 +
src/app/doi.org/page.tsx | 3 ++-
src/components/WorkFacets/WorkFacets.tsx | 9 +++++++++
src/data/queries/searchDoiFacetsQuery.ts | 4 +++-
src/data/queries/searchDoiQuery.ts | 2 ++
src/data/types.ts | 1 +
6 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/cypress/e2e/searchWork.test.ts b/cypress/e2e/searchWork.test.ts
index e99c476b..f27fe6b9 100644
--- a/cypress/e2e/searchWork.test.ts
+++ b/cypress/e2e/searchWork.test.ts
@@ -32,6 +32,7 @@ describe('Search Works', () => {
expect($facet.eq(4)).to.contain('Language')
expect($facet.eq(5)).to.contain('Field of Science')
expect($facet.eq(6)).to.contain('Registration Agency')
+ expect($facet.eq(7)).to.contain('Repository Type')
})
})
diff --git a/src/app/doi.org/page.tsx b/src/app/doi.org/page.tsx
index dff17fd7..54d38d87 100644
--- a/src/app/doi.org/page.tsx
+++ b/src/app/doi.org/page.tsx
@@ -20,7 +20,8 @@ export default async function SearchDoiPage ({ searchParams }: Props) {
...vars,
resourceTypeId: vars['resource-type'],
fieldOfScience: vars['field-of-science'],
- registrationAgency: vars['registration-agency']
+ registrationAgency: vars['registration-agency'],
+ clientType: vars['repository-type']
}
// Show examply text if there is no query
diff --git a/src/components/WorkFacets/WorkFacets.tsx b/src/components/WorkFacets/WorkFacets.tsx
index 55629e50..bc065463 100644
--- a/src/components/WorkFacets/WorkFacets.tsx
+++ b/src/components/WorkFacets/WorkFacets.tsx
@@ -28,6 +28,7 @@ interface Facets {
registrationAgencies?: Facet[]
authors?: Facet[]
creatorsAndContributors?: Facet[]
+ clientTypes?: Facet[]
nodes: Work[]
}
@@ -139,6 +140,14 @@ export default function WorkFacets({
url={url}
/>
+
>
)
}
diff --git a/src/data/queries/searchDoiFacetsQuery.ts b/src/data/queries/searchDoiFacetsQuery.ts
index 0817d4de..f87e4cf0 100644
--- a/src/data/queries/searchDoiFacetsQuery.ts
+++ b/src/data/queries/searchDoiFacetsQuery.ts
@@ -14,6 +14,7 @@ const FACETS = [
'registrationAgencies',
'authors',
'creatorsAndContributors',
+ 'clientTypes',
// personToWorkTypesMultilevel: []
]
@@ -38,6 +39,7 @@ function buildDoiSearchParams(variables: QueryVar): URLSearchParams {
if (variables.published) searchParams.append('published', variables.published)
if (variables.resourceTypeId) searchParams.append('resource-type-id', variables.resourceTypeId)
if (variables.fieldOfScience) searchParams.append('field-of-science', variables.fieldOfScience)
+ if (variables.clientType) searchParams.append('client-type', variables.clientType)
return searchParams
}
@@ -59,7 +61,7 @@ function convertToQueryData(json: any): QueryData {
registrationAgencies: meta.registrationAgencies,
authors: [].slice(0, 10),
creatorsAndContributors: meta.creatorsAndContributors.slice(0, 10),
-
+ clientTypes: meta.clientTypes.slice(0, 10),
personToWorkTypesMultilevel: []
}
}
diff --git a/src/data/queries/searchDoiQuery.ts b/src/data/queries/searchDoiQuery.ts
index 03da74bb..ea7e015c 100644
--- a/src/data/queries/searchDoiQuery.ts
+++ b/src/data/queries/searchDoiQuery.ts
@@ -24,6 +24,7 @@ function buildDoiSearchParams(variables: QueryVar): URLSearchParams {
if (variables.published) searchParams.append('published', variables.published)
if (variables.resourceTypeId) searchParams.append('resource-type-id', variables.resourceTypeId)
if (variables.fieldOfScience) searchParams.append('field-of-science', variables.fieldOfScience)
+ if (variables.clientType) searchParams.append('client-type', variables.clientType)
return searchParams
}
@@ -130,6 +131,7 @@ export interface QueryVar {
fieldOfScience?: string
license?: string
registrationAgency?: string
+ clientType?: string
}
diff --git a/src/data/types.ts b/src/data/types.ts
index 82b6e936..debdbbe4 100644
--- a/src/data/types.ts
+++ b/src/data/types.ts
@@ -73,6 +73,7 @@ export type Works = {
affiliations?: Facet[]
authors?: Facet[]
creatorsAndContributors?: Facet[]
+ clientTypes?: Facet[]
nodes: Work[]
personToWorkTypesMultilevel: MultilevelFacet[]
From bee2d4d50fd460a09a92d17e1af07b6c40a1c7a6 Mon Sep 17 00:00:00 2001
From: codycooperross <50597551+codycooperross@users.noreply.github.com>
Date: Fri, 27 Dec 2024 13:32:52 -0500
Subject: [PATCH 2/3] Rename facet id
---
src/components/WorkFacets/WorkFacets.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/WorkFacets/WorkFacets.tsx b/src/components/WorkFacets/WorkFacets.tsx
index bc065463..088a6ecb 100644
--- a/src/components/WorkFacets/WorkFacets.tsx
+++ b/src/components/WorkFacets/WorkFacets.tsx
@@ -143,7 +143,7 @@ export default function WorkFacets({
Date: Fri, 10 Jan 2025 10:37:11 -0500
Subject: [PATCH 3/3] Add Repository Type facet functionality to Organization
related content
---
src/app/ror.org/[rorid]/mapSearchParams.ts | 1 +
src/data/queries/organizationRelatedContentQuery.ts | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/app/ror.org/[rorid]/mapSearchParams.ts b/src/app/ror.org/[rorid]/mapSearchParams.ts
index 6b37f0a2..2875d1a9 100644
--- a/src/app/ror.org/[rorid]/mapSearchParams.ts
+++ b/src/app/ror.org/[rorid]/mapSearchParams.ts
@@ -23,6 +23,7 @@ export default function mapSearchparams(searchParams: SearchParams) {
fieldOfScience: searchParams['field-of-science'],
license: searchParams.license,
registrationAgency: searchParams['registration-agency'],
+ clientType: searchParams['repository-type']
},
isBot: false
diff --git a/src/data/queries/organizationRelatedContentQuery.ts b/src/data/queries/organizationRelatedContentQuery.ts
index fe47f919..77ef6216 100644
--- a/src/data/queries/organizationRelatedContentQuery.ts
+++ b/src/data/queries/organizationRelatedContentQuery.ts
@@ -100,6 +100,7 @@ export interface QueryVar {
fieldOfScience?: string
license?: string
registrationAgency?: string
+ clientType?: string
}
export interface QueryData {