1- import { DatasetTerm } from 'src /types/model' ;
1+ import { DatasetTerm , getAccessManagementSummary } from '../.. /types/model' ;
22import _ , { groupBy } from 'lodash' ;
33import { Checkbox , Link } from '@mui/material' ;
44import * as React from 'react' ;
@@ -250,6 +250,22 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
250250 } ;
251251 const isSelectable = ( dataset : DatasetTerm ) => dataset . accessManagement != 'open' && dataset . accessManagement != 'external' ;
252252 const selectableDatasetIds = datasets . filter ( isSelectable ) . map ( dataset => dataset . datasetId ) ;
253+ const tooltipIconDisplay = ( src : string | undefined , accessType : string , tooltipText : string ) => {
254+ return < >
255+ < div
256+ data-tip = 'Full details'
257+ data-for = { `${ accessType } -access-tooltip` }
258+ style = { { display : 'flex' , justifyContent : 'center' , marginRight : 20 } }
259+ >
260+ < img src = { src } alt = { accessType } />
261+ </ div >
262+ < ReactTooltip
263+ place = { 'bottom' }
264+ effect = { 'solid' }
265+ id = { `${ accessType } -access-tooltip` } > < div style = { tooltipStyle } > { tooltipText } </ div > </ ReactTooltip >
266+ </ > ;
267+ } ;
268+
253269 return [
254270 {
255271 label : < Checkbox checked = { datasets . length === selected . length }
@@ -268,7 +284,9 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
268284 disable = { isSelectable ( dataset ) }
269285 effect = { 'solid' }
270286 scrollHide = { true }
271- id = { checkboxId } > < div style = { tooltipStyle } > { tooltipText } </ div > </ ReactTooltip >
287+ id = { checkboxId } >
288+ < div style = { tooltipStyle } > { tooltipText } </ div >
289+ </ ReactTooltip >
272290 < div data-for = { checkboxId } data-tip = { true } >
273291 < Checkbox checked = { isSelected }
274292 disabled = { ! isSelectable ( dataset ) }
@@ -301,7 +319,8 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
301319 sortable : true ,
302320 cellStyle : makeHeaderStyle ( cellWidths . studyName ) ,
303321 cellDataFn : ( dataset : DatasetTerm ) => ( {
304- data : < OverflowTooltip place = { 'top' } tooltipText = { dataset . study . studyName } id = { `${ dataset . datasetId } -study-name` } >
322+ data : < OverflowTooltip place = { 'top' } tooltipText = { dataset . study . studyName }
323+ id = { `${ dataset . datasetId } -study-name` } >
305324 { trimNewlineCharacters ( dataset . study . studyName ) }
306325 </ OverflowTooltip > ,
307326 value : dataset . study . studyName ,
@@ -328,10 +347,10 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
328347 sortable : true ,
329348 cellStyle : makeHeaderStyle ( cellWidths . accessType ) ,
330349 cellDataFn : ( dataset : DatasetTerm ) => ( {
331- data : dataset . accessManagement === 'external' ?
332- 'External to DUOS' :
333- dataset . accessManagement === 'open' ?
334- 'Open Access' : dataset . dac ?. dacName ,
350+ data :
351+ tooltipIconDisplay ( getAccessManagementSummary ( dataset . accessManagement ) . icon ,
352+ getAccessManagementSummary ( dataset . accessManagement ) . name ,
353+ getAccessManagementSummary ( dataset . accessManagement ) . description ) ,
335354 value : dataset . accessManagement ,
336355 id : `${ dataset . datasetId } -participant-count` ,
337356 style : makeRowStyle ( cellWidths . accessType ) ,
@@ -343,7 +362,8 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
343362 sortable : true ,
344363 cellStyle : makeHeaderStyle ( cellWidths . dataType ) ,
345364 cellDataFn : ( dataset : DatasetTerm ) => ( {
346- data : < OverflowTooltip place = { 'top' } tooltipText = { dataset . study . dataTypes ?. join ( ', ' ) } id = { `${ dataset . datasetId } -dataset-data-types` } >
365+ data : < OverflowTooltip place = { 'top' } tooltipText = { dataset . study . dataTypes ?. join ( ', ' ) }
366+ id = { `${ dataset . datasetId } -dataset-data-types` } >
347367 { dataset . study . dataTypes ?. join ( ', ' ) }
348368 </ OverflowTooltip > ,
349369 value : dataset . study . dataTypes ?. join ( ', ' ) ,
@@ -404,7 +424,8 @@ export const makeDatasetTableHeader = (datasets: DatasetTerm[], selected: number
404424 divClass : [ 'data-use-cell' ] ,
405425 spanClass : [ ] ,
406426 cellWidth : cellWidths . dataUse ,
407- tooltipPlace : 'top' } ) ;
427+ tooltipPlace : 'top'
428+ } ) ;
408429 }
409430 } ,
410431 {
0 commit comments