clean up study summary initial values and transitions

This commit is contained in:
dannyrb 2020-06-04 12:49:09 -04:00
parent 66e8f7a592
commit a4fc5e21b2
2 changed files with 30 additions and 20 deletions

View File

@ -5,18 +5,22 @@ import { DicomMetadataStore } from '@ohif/core';
import ActionButtons from './ActionButtons'; import ActionButtons from './ActionButtons';
import { useTrackedMeasurements } from '../../getContextModule'; import { useTrackedMeasurements } from '../../getContextModule';
const DISPLAY_STUDY_SUMMARY_INITIAL_VALUE = {
key: undefined, //
date: undefined, // '07-Sep-2010',
modality: undefined, // 'CT',
description: undefined, // 'CHEST/ABD/PELVIS W CONTRAST',
};
function PanelMeasurementTableTracking({ servicesManager, commandsManager }) { function PanelMeasurementTableTracking({ servicesManager, commandsManager }) {
const { MeasurementService } = servicesManager.services; const { MeasurementService } = servicesManager.services;
const [ const [
trackedMeasurements, trackedMeasurements,
sendTrackedMeasurementsEvent, sendTrackedMeasurementsEvent,
] = useTrackedMeasurements(); ] = useTrackedMeasurements();
const [displayStudySummary, setDisplayStudySummary] = useState({ const [displayStudySummary, setDisplayStudySummary] = useState(
key: '', // DISPLAY_STUDY_SUMMARY_INITIAL_VALUE
date: '', // '07-Sep-2010', );
modality: '', // 'CT',
description: '', // 'CHEST/ABD/PELVIS W CONTRAST',
});
const [displayMeasurements, setDisplayMeasurements] = useState([]); const [displayMeasurements, setDisplayMeasurements] = useState([]);
// TODO: initial measurements + initial tracked? // TODO: initial measurements + initial tracked?
@ -33,6 +37,7 @@ function PanelMeasurementTableTracking({ servicesManager, commandsManager }) {
// eslint-ignore-next-line // eslint-ignore-next-line
}, [MeasurementService, trackedMeasurements]); }, [MeasurementService, trackedMeasurements]);
// ~~ DisplayStudySummary
useEffect(() => { useEffect(() => {
if (trackedMeasurements.matches('tracking')) { if (trackedMeasurements.matches('tracking')) {
const StudyInstanceUID = trackedMeasurements.context.trackedStudy; const StudyInstanceUID = trackedMeasurements.context.trackedStudy;
@ -40,15 +45,18 @@ function PanelMeasurementTableTracking({ servicesManager, commandsManager }) {
const instanceMeta = studyMeta.series[0].instances[0]; const instanceMeta = studyMeta.series[0].instances[0];
const { Modality, StudyDate, StudyDescription } = instanceMeta; const { Modality, StudyDate, StudyDescription } = instanceMeta;
// TODO: check key against current before setting if (displayStudySummary.key !== StudyInstanceUID) {
setDisplayStudySummary({ setDisplayStudySummary({
key: StudyInstanceUID, key: StudyInstanceUID,
date: StudyDate, // TODO: Format: '07-Sep-2010' date: StudyDate, // TODO: Format: '07-Sep-2010'
modality: Modality, modality: Modality,
description: StudyDescription, description: StudyDescription,
}); });
}
} else if (trackedMeasurements.matches('notTracking')) {
setDisplayStudySummary(DISPLAY_STUDY_SUMMARY_INITIAL_VALUE);
} }
}, [trackedMeasurements]); }, [displayStudySummary.key, trackedMeasurements]);
// TODO: Listen for measurement service "adds" (really shouldn't be added until cornerstone-tools "complete") // TODO: Listen for measurement service "adds" (really shouldn't be added until cornerstone-tools "complete")
useEffect(() => { useEffect(() => {
@ -75,11 +83,13 @@ function PanelMeasurementTableTracking({ servicesManager, commandsManager }) {
return ( return (
<> <>
<div className="overflow-x-hidden overflow-y-auto invisible-scrollbar"> <div className="overflow-x-hidden overflow-y-auto invisible-scrollbar">
<StudySummary {displayStudySummary.key && (
date={displayStudySummary.date} <StudySummary
modality={displayStudySummary.modality} date={displayStudySummary.date}
description={displayStudySummary.description} modality={displayStudySummary.modality}
/> description={displayStudySummary.description}
/>
)}
<MeasurementTable <MeasurementTable
title="Measurements" title="Measurements"
amount={displayMeasurements.length} amount={displayMeasurements.length}

View File

@ -10,7 +10,7 @@ const StudySummary = ({ date, modality, description }) => {
{modality} {modality}
</span> </span>
</div> </div>
<div className="text-base leading-none truncate text-primary-light ellipse"> <div className="pt-2 text-base leading-none truncate text-primary-light ellipse">
{description} {description}
</div> </div>
</div> </div>