@@ -35,7 +35,6 @@ export const DataLibrary: React.FC = () => {
3535 // Local selection state (dataset IDs)
3636 const [ selectedDatasetIds , setSelectedDatasetIds ] = useState < number [ ] > ( [ ] )
3737
38- // Library configuration (could be made dynamic based on urlState.library)
3938 const libraryConfig : LibraryVersion = {
4039 key : 'duos' ,
4140 query : null ,
@@ -46,13 +45,11 @@ export const DataLibrary: React.FC = () => {
4645 order : 0 ,
4746 }
4847
49- // Tab configuration
5048 const tabs : TabConfig [ ] = [
5149 { key : AssetType . STUDIES , label : 'Studies' } ,
5250 { key : AssetType . DATASETS , label : 'Datasets' } ,
5351 ]
5452
55- // Available filters (in a real app, these might come from an API)
5653 const availableFilters : AvailableFilters = {
5754 accessManagement : [
5855 { value : 'controlled' , label : 'Controlled' } ,
@@ -70,7 +67,7 @@ export const DataLibrary: React.FC = () => {
7067 { value : 'Genomic' , label : 'Genomic' } ,
7168 { value : 'Transcriptomic' , label : 'Transcriptomic' } ,
7269 ] ,
73- dac : [ ] , // Would be populated from API
70+ dac : [ ] ,
7471 participantCountRange : {
7572 min : 0 ,
7673 max : 100000 ,
@@ -89,34 +86,29 @@ export const DataLibrary: React.FC = () => {
8986 : undefined ,
9087 )
9188
92- // Handle tab change
9389 const handleTabChange = ( newAssetType : AssetType ) => {
9490 updateUrlState ( { tab : newAssetType } )
95- setSelectedDatasetIds ( [ ] ) // Clear selection when switching tabs
91+ setSelectedDatasetIds ( [ ] )
9692 }
9793
98- // Handle search change
9994 const handleSearchChange = ( searchTerm : string ) => {
10095 updateUrlState ( {
10196 search : searchTerm ,
102- page : 0 , // Reset to first page
97+ page : 0 ,
10398 } )
10499 }
105100
106- // Handle clear search
107101 const handleClearSearch = ( ) => {
108102 updateUrlState ( { search : '' } )
109103 }
110104
111- // Handle filter changes
112105 const handleFiltersChange = ( newFilters : typeof urlState . filters ) => {
113106 updateUrlState ( {
114107 filters : newFilters ,
115- page : 0 , // Reset to first page
108+ page : 0 ,
116109 } )
117110 }
118111
119- // Handle clear filters
120112 const handleClearFilters = ( ) => {
121113 updateUrlState ( {
122114 filters : {
@@ -130,15 +122,13 @@ export const DataLibrary: React.FC = () => {
130122 } )
131123 }
132124
133- // Convert sort model for DataGrid
134125 const sortModel = useMemo ( ( ) => {
135126 if ( urlState . sortField && urlState . sortOrder ) {
136127 return [ { field : urlState . sortField , sort : urlState . sortOrder } ]
137128 }
138129 return [ ]
139130 } , [ urlState . sortField , urlState . sortOrder ] )
140131
141- // Handle sort changes
142132 const handleSortChange = ( model : Array < { field : string , sort : 'asc' | 'desc' | null } > ) => {
143133 if ( model . length > 0 && model [ 0 ] . sort ) {
144134 updateUrlState ( {
@@ -154,19 +144,16 @@ export const DataLibrary: React.FC = () => {
154144 }
155145 }
156146
157- // Handle selection changes
158147 const handleSelectionChange = ( datasetIds : number [ ] ) => {
159148 setSelectedDatasetIds ( datasetIds )
160149 }
161150
162- // Handle Apply for Access
163151 const handleApplyForAccess = ( ) => {
164152 // Navigate to DAR Application with selected dataset IDs
165153 const datasetIdsParam = selectedDatasetIds . join ( ',' )
166154 navigate ( `/dar_application?datasetIds=${ datasetIdsParam } ` )
167155 }
168156
169- // Show error state
170157 if ( error ) {
171158 return (
172159 < Box sx = { { px : 3 , py : 4 } } >
@@ -183,7 +170,7 @@ export const DataLibrary: React.FC = () => {
183170 { /* Header */ }
184171 < Box sx = { { px : 3 , pt : 3 } } >
185172 < LibraryHeader
186- icon = { null } // Using MUI icon instead
173+ icon = { null }
187174 title = "Data Library"
188175 description = "Search and browse available datasets and studies"
189176 searchTerm = { urlState . search }
0 commit comments