@@ -71,6 +71,8 @@ const SearchPage: React.FC = () => {
7171
7272 const [ formData , setFormData ] = useState < Record < string , any > > ( { } ) ;
7373 const [ showSubjectFilters , setShowSubjectFilters ] = useState ( false ) ;
74+ const [ showDatasetFilters , setShowDatasetFilters ] = useState ( true ) ; // for dataset-level filters
75+
7476 const [ results , setResults ] = useState <
7577 any [ ] | { status : string ; msg : string }
7678 > ( [ ] ) ;
@@ -130,6 +132,8 @@ const SearchPage: React.FC = () => {
130132 setFormData ( initial ) ;
131133 setAppliedFilters ( initial ) ;
132134 setHasSearched ( false ) ; // set it to true if want to auto-run search
135+ setShowSubjectFilters ( true ) ; // expand the subject-level section
136+ setShowDatasetFilters ( false ) ; // collapse the dataset-level section
133137 }
134138 } , [ ] ) ;
135139
@@ -184,8 +188,8 @@ const SearchPage: React.FC = () => {
184188
185189 // form UI
186190 const uiSchema = useMemo (
187- ( ) => generateUiSchema ( formData , showSubjectFilters ) ,
188- [ formData , showSubjectFilters ]
191+ ( ) => generateUiSchema ( formData , showSubjectFilters , showDatasetFilters ) ,
192+ [ formData , showSubjectFilters , showDatasetFilters ]
189193 ) ;
190194
191195 // Create the "Subject-level Filters" button as a custom field
@@ -208,6 +212,22 @@ const SearchPage: React.FC = () => {
208212 </ Button >
209213 </ Box >
210214 ) ,
215+ datasetFiltersToggle : ( ) => (
216+ < Box sx = { { mt : 1 , mb : 1 } } >
217+ < Button
218+ variant = "outlined"
219+ onClick = { ( ) => setShowDatasetFilters ( ( prev ) => ! prev ) }
220+ sx = { {
221+ color : Colors . purple ,
222+ borderColor : Colors . purple ,
223+ "&:hover" : { transform : "scale(1.05)" , borderColor : Colors . purple } ,
224+ } }
225+ aria-expanded = { showDatasetFilters }
226+ >
227+ Dataset-Level Filters
228+ </ Button >
229+ </ Box >
230+ ) ,
211231 } ;
212232
213233 // determine the results are subject-level or dataset-level
0 commit comments