Bind series data

This commit is contained in:
dannyrb 2020-05-13 00:35:04 -04:00 committed by James A. Petts
parent 73c8786a64
commit b5cd7bb0b7

View File

@ -21,6 +21,8 @@ import {
StudyListFilter, StudyListFilter,
} from '@ohif/ui'; } from '@ohif/ui';
const seriesInStudiesMap = new Map();
/** /**
* TODO: * TODO:
* - debounce `setFilterValues` (150ms?) * - debounce `setFilterValues` (150ms?)
@ -77,7 +79,7 @@ function StudyListContainer({ history, data: studies, dataSource }) {
}); });
// ~ Rows & Studies // ~ Rows & Studies
const [expandedRows, setExpandedRows] = useState([]); const [expandedRows, setExpandedRows] = useState([]);
const [seriesInStudies, setSeriesInStudies] = useState({}); const [studiesWithSeriesData, setStudiesWithSeriesData] = useState([]);
const numOfStudies = studies.length; const numOfStudies = studies.length;
const totalPages = Math.floor(numOfStudies / resultsPerPage); const totalPages = Math.floor(numOfStudies / resultsPerPage);
@ -185,6 +187,7 @@ function StudyListContainer({ history, data: studies, dataSource }) {
return filterValues[name] !== defaultFilterValues[name]; return filterValues[name] !== defaultFilterValues[name];
}); });
}; };
const tableDataSource = sortedStudies.map((study, key) => {
const rowKey = key + 1; const rowKey = key + 1;
const isExpanded = expandedRows.some(k => k === rowKey); const isExpanded = expandedRows.some(k => k === rowKey);
const { const {
@ -225,7 +228,6 @@ function StudyListContainer({ history, data: studies, dataSource }) {
moment(date, ['YYYYMMDD', 'YYYY.MM.DD'], true).isValid() && moment(date, ['YYYYMMDD', 'YYYY.MM.DD'], true).isValid() &&
moment(date, ['YYYYMMDD', 'YYYY.MM.DD']).format( moment(date, ['YYYYMMDD', 'YYYY.MM.DD']).format(
'MMM-DD-YYYY' 'MMM-DD-YYYY'
const tableDataSource = sortedStudies.map((study, key) => {
)} )}
</span> </span>
{time && ( {time && (
@ -237,12 +239,9 @@ function StudyListContainer({ history, data: studies, dataSource }) {
'HHmmss', 'HHmmss',
'HHmmss.SSS', 'HHmmss.SSS',
]).isValid() && ]).isValid() &&
moment(time, [ moment(time, ['HH', 'HHmm', 'HHmmss', 'HHmmss.SSS']).format(
'HH', 'hh:mm A'
'HHmm', )}
'HHmmss',
'HHmmss.SSS',
]).format('hh:mm A')}
</span> </span>
)} )}
</div> </div>
@ -295,8 +294,8 @@ function StudyListContainer({ history, data: studies, dataSource }) {
instances: 'Instances', instances: 'Instances',
}} }}
seriesTableDataSource={ seriesTableDataSource={
seriesInStudies[studyInstanceUid] seriesInStudiesMap.has(studyInstanceUid)
? seriesInStudies[studyInstanceUid].map(s => { ? seriesInStudiesMap.get(studyInstanceUid).map(s => {
return { return {
description: s.description || '(empty)', description: s.description || '(empty)',
seriesNumber: s.seriesNumber || '', seriesNumber: s.seriesNumber || '',
@ -309,39 +308,21 @@ function StudyListContainer({ history, data: studies, dataSource }) {
> >
<Button <Button
rounded="full" rounded="full"
variant="contained" variant="outlined"
className="mr-4 font-bold" disabled={true}
endIcon={ endIcon={<Icon name="launch-info" />}
<Icon name="launch-arrow" style={{ color: '#21a7c6' }} /> className="font-bold"
}
> >
<Link to="/viewer/123">Basic Viewer</Link> Comparison
</Button>
<Button
rounded="full"
variant="contained"
className="mr-4 font-bold"
endIcon={
<Icon name="launch-arrow" style={{ color: '#21a7c6' }} />
}
>
<Link to="/viewer/123">Segmentation</Link>
</Button> </Button>
<Button <Button
rounded="full" rounded="full"
variant="outlined" variant="outlined"
endIcon={<Icon name="launch-info" />} endIcon={<Icon name="launch-info" />}
className="font-bold" className="font-bold ml-4"
> >
Module 3 View: Segmentation
</Button> </Button>
<div className="ml-5 text-lg text-common-bright inline-flex items-center">
<Icon
name="notificationwarning-diamond"
className="mr-2 w-5 h-5"
/>
Feedback text lorem ipsum dolor sit amet
</div>
</StudyListExpandedRow> </StudyListExpandedRow>
), ),
onClickRow: () => onClickRow: () =>