Fix propTypes and update tracked series tag

This commit is contained in:
Gustavo Lelis 2020-04-22 13:14:48 -03:00 committed by James A. Petts
parent 928dc9f7b0
commit 802a8d5f1b
2 changed files with 22 additions and 12 deletions

View File

@ -7,16 +7,27 @@ import { ButtonGroup, Button, StudyItem, ThumbnailList } from '@ohif/ui';
const buttonClasses = 'text-white text-base border-none bg-black p-2 min-w-18'; const buttonClasses = 'text-white text-base border-none bg-black p-2 min-w-18';
const activeButtonClasses = 'bg-primary-main'; const activeButtonClasses = 'bg-primary-main';
const getInitialActiveTab = (tabs) => { const getInitialActiveTab = tabs => {
return tabs && tabs[0] && tabs[0].name; return tabs && tabs[0] && tabs[0].name;
}; };
const getTrackedSeries = displaySets => {
let trackedSeries = 0;
displaySets.forEach(displaySet => {
if (displaySet.isTracked) {
trackedSeries++;
}
});
return trackedSeries;
};
const StudyBrowser = ({ tabs }) => { const StudyBrowser = ({ tabs }) => {
const [tabActive, setTabActive] = useState(getInitialActiveTab(tabs)); const [tabActive, setTabActive] = useState(getInitialActiveTab(tabs));
const [studyActive, setStudyActive] = useState(null); const [studyActive, setStudyActive] = useState(null);
const getTabContent = () => { const getTabContent = () => {
const tabData = tabs.find((tab) => tab.name === tabActive); const tabData = tabs.find(tab => tab.name === tabActive);
if (!tabData || !tabData.studies || !Array.isArray(tabData.studies)) { if (!tabData || !tabData.studies || !Array.isArray(tabData.studies)) {
return; return;
@ -29,8 +40,7 @@ const StudyBrowser = ({ tabs }) => {
studyDescription, studyDescription,
instances, instances,
modalities, modalities,
trackedSeries, displaySets,
thumbnails,
}) => { }) => {
const isActive = studyActive === studyInstanceUid; const isActive = studyActive === studyInstanceUid;
return ( return (
@ -40,7 +50,7 @@ const StudyBrowser = ({ tabs }) => {
studyDescription={studyDescription} studyDescription={studyDescription}
instances={instances} instances={instances}
modalities={modalities} modalities={modalities}
trackedSeries={trackedSeries} trackedSeries={getTrackedSeries(displaySets)}
isActive={isActive} isActive={isActive}
onClick={() => { onClick={() => {
setStudyActive(isActive ? null : studyInstanceUid); setStudyActive(isActive ? null : studyInstanceUid);
@ -63,7 +73,7 @@ const StudyBrowser = ({ tabs }) => {
color="inherit" color="inherit"
className="border border-secondary-light rounded-md" className="border border-secondary-light rounded-md"
> >
{tabs.map((tab) => { {tabs.map(tab => {
const { name, label } = tab; const { name, label } = tab;
const isActive = tabActive === name; const isActive = tabActive === name;
return ( return (

View File

@ -60,12 +60,12 @@ const StudyItem = ({
}; };
StudyItem.propTypes = { StudyItem.propTypes = {
studyDate: PropTypes.any, date: PropTypes.string.isRequired,
studyDescription: PropTypes.any, description: PropTypes.string.isRequired,
modalities: PropTypes.any, modalities: PropTypes.string.isRequired,
instances: PropTypes.any, numInstances: PropTypes.number.isRequired,
trackedSeries: PropTypes.any, trackedSeries: PropTypes.number,
isActive: PropTypes.any, isActive: PropTypes.bool,
onClick: PropTypes.func.isRequired, onClick: PropTypes.func.isRequired,
}; };