@@ -18,6 +18,7 @@ const emptySearch = {
1818 terms : '' ,
1919 facets : { } ,
2020 external : '' ,
21+ data_types : '' ,
2122 page : 1 ,
2223 preset_search : undefined ,
2324 order : undefined
@@ -75,12 +76,12 @@ export function useContextStudySearch() {
7576 return useContext ( StudySearchContext )
7677}
7778
78- /** Merges the external parameter into the searchParams object */
79- export function mergeExternalParam ( searchParams , newParams ) {
80- if ( Object . keys ( newParams ) . length === 1 && Object . keys ( newParams ) [ 0 ] === 'external' ) {
81- return newParams . external
79+ /** Merges any optional parameter into the searchParams object */
80+ export function mergeOptionalParam ( searchParams , newParams , paramName ) {
81+ if ( Object . keys ( newParams ) . length === 1 && Object . keys ( newParams ) [ 0 ] === paramName ) {
82+ return newParams [ paramName ]
8283 } else {
83- return searchParams . external
84+ return searchParams [ paramName ]
8485 }
8586}
8687
@@ -107,7 +108,8 @@ export function PropsStudySearchProvider(props) {
107108 // reset the page to 1 for new searches, unless otherwise specified
108109 search . page = newParams . page ? newParams . page : 1
109110 search . preset = undefined // for now, exclude preset from the page URL--it's in the component props instead
110- search . external = mergeExternalParam ( searchParams , newParams )
111+ search . external = mergeOptionalParam ( searchParams , newParams , 'external' )
112+ search . data_types = mergeOptionalParam ( searchParams , newParams , 'data_types' )
111113 const mergedParams = Object . assign ( buildGeneParamsFromQuery ( window . location . search ) , search )
112114 const queryString = buildSearchQueryString ( 'study' , mergedParams )
113115 navigate ( `?${ queryString } ` )
@@ -165,6 +167,7 @@ export function buildParamsFromQuery(query, preset) {
165167 terms : queryParams . terms ? queryParams . terms : '' ,
166168 facets : buildFacetsFromQueryString ( queryParams . facets ) ,
167169 external : queryParams . external ? queryParams . external : '' ,
170+ data_types : queryParams . data_types ? queryParams . data_types : '' ,
168171 preset : preset ? preset : queryString . preset_search ,
169172 order : queryParams . order
170173 }
0 commit comments