-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DT-778] Filter by Data Access Committee #2720
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,13 +8,14 @@ import ListItemText from '@mui/material/ListItemText'; | |
import Divider from '@mui/material/Divider'; | ||
import { Typography } from '@mui/material'; | ||
import { Checkbox } from '@mui/material'; | ||
import { flatten, uniq, compact, capitalize } from 'lodash'; | ||
import { flatten, uniq, compact, capitalize, orderBy } from 'lodash'; | ||
|
||
export const DatasetFilterList = (props) => { | ||
const { datasets, filters, filterHandler, isFiltered } = props; | ||
|
||
const accessManagementFilters = uniq(compact(datasets.map((dataset) => dataset.accessManagement))); | ||
const dataUseFilters = uniq(compact(flatten(datasets.map((dataset) => dataset.dataUse?.primary))).map((dataUse) => dataUse.code)); | ||
const dacFilters = orderBy(uniq(compact(datasets.map((dataset) => dataset?.dac?.dacName))), (dac) => dac.toLowerCase(), 'asc'); | ||
fboulnois marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
return ( | ||
<Box sx={{ bgcolor: 'background.paper' }}> | ||
|
@@ -64,6 +65,27 @@ export const DatasetFilterList = (props) => { | |
}) | ||
} | ||
</List> | ||
<Typography variant="h6" gutterBottom component="div" sx={{ fontFamily: 'Montserrat' }} marginTop="1em"> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could these elements be refactored to avoid code duplication? They look pretty similar to me. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I definitely want to do this long term, let me see how much work it would be. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It wasn't too challenging, I created two new components. |
||
<span style={{ fontWeight: '600' }}>Data Access Committee</span> <span>(DACs)</span> | ||
</Typography> | ||
<List sx={{ margin: '-0.5em -0.5em'}}> | ||
{ | ||
dacFilters.map((filter) => { | ||
const filterName = filter; | ||
const category = 'dac'; | ||
return ( | ||
<ListItem disablePadding key={filter}> | ||
<ListItemButton sx={{ padding: '0' }} onClick={(event) => filterHandler(event, datasets, category, filter)}> | ||
<ListItemIcon> | ||
<Checkbox checked={isFiltered(filter, category)} /> | ||
</ListItemIcon> | ||
<ListItemText primary={filterName} sx={{ fontFamily: 'Montserrat', transform: 'scale(1.2)' }} /> | ||
</ListItemButton> | ||
</ListItem> | ||
); | ||
}) | ||
} | ||
</List> | ||
</Box> | ||
); | ||
}; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this does a case-ignore sort