clean up study summary initial values and transitions
This commit is contained in:
parent
66e8f7a592
commit
a4fc5e21b2
@ -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}
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user