Skip to content

Commit

Permalink
Merge pull request #430 from datacite/client-type-filter
Browse files Browse the repository at this point in the history
Adds `Repository Type` facet based on `client.client_type`
  • Loading branch information
codycooperross authored Jan 10, 2025
2 parents 1bd04a8 + 2ddf3c5 commit c4565d9
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 2 deletions.
1 change: 1 addition & 0 deletions cypress/e2e/searchWork.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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')
})
})

Expand Down
3 changes: 2 additions & 1 deletion src/app/doi.org/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions src/app/ror.org/[rorid]/mapSearchParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 9 additions & 0 deletions src/components/WorkFacets/WorkFacets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ interface Facets {
registrationAgencies?: Facet[]
authors?: Facet[]
creatorsAndContributors?: Facet[]
clientTypes?: Facet[]
nodes: Work[]
}

Expand Down Expand Up @@ -139,6 +140,14 @@ export default function WorkFacets({
url={url}
/>

<FacetList
data={data.clientTypes}
title="Repository Type"
id="repository-type-facets"
param="repository-type"
tooltipText='The type of DataCite Repository where a DOI is stored.'
url={url}
/>
</>
)
}
1 change: 1 addition & 0 deletions src/data/queries/organizationRelatedContentQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ export interface QueryVar {
fieldOfScience?: string
license?: string
registrationAgency?: string
clientType?: string
}

export interface QueryData {
Expand Down
4 changes: 3 additions & 1 deletion src/data/queries/searchDoiFacetsQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const FACETS = [
'registrationAgencies',
'authors',
'creatorsAndContributors',
'clientTypes',
// personToWorkTypesMultilevel: []
]

Expand All @@ -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
}
Expand All @@ -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: []
}
}
Expand Down
2 changes: 2 additions & 0 deletions src/data/queries/searchDoiQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down Expand Up @@ -130,6 +131,7 @@ export interface QueryVar {
fieldOfScience?: string
license?: string
registrationAgency?: string
clientType?: string
}


Expand Down
1 change: 1 addition & 0 deletions src/data/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ export type Works = {
affiliations?: Facet[]
authors?: Facet[]
creatorsAndContributors?: Facet[]
clientTypes?: Facet[]

nodes: Work[]
personToWorkTypesMultilevel: MultilevelFacet[]
Expand Down

0 comments on commit c4565d9

Please sign in to comment.