From 073be065cff362716a0be1c50b1cd65363d55622 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Fri, 1 Oct 2021 18:09:35 -0300 Subject: [PATCH] Update badge number based on active ds --- extensions/dicom-rt/src/index.js | 4 ++++ extensions/dicom-segmentation/src/index.js | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/extensions/dicom-rt/src/index.js b/extensions/dicom-rt/src/index.js index ff308e133..29efbcee6 100644 --- a/extensions/dicom-rt/src/index.js +++ b/extensions/dicom-rt/src/index.js @@ -112,6 +112,10 @@ export default { ['RTSTRUCT'].includes(ds.Modality) ) ) { + triggerRTPanelUpdatedEvent({ + badgeNumber: referencedDisplaySets.length, + target: 'rt-panel', + }); return false; } } diff --git a/extensions/dicom-segmentation/src/index.js b/extensions/dicom-segmentation/src/index.js index c36d3fab7..3136527d2 100644 --- a/extensions/dicom-segmentation/src/index.js +++ b/extensions/dicom-segmentation/src/index.js @@ -126,7 +126,7 @@ export default { label: 'Segmentations', target: 'segmentation-panel', stateEvent: SegmentationPanelTabUpdatedEvent, - isDisabled: studies => { + isDisabled: (studies, activeViewport) => { if (!studies) { return true; } @@ -139,6 +139,20 @@ export default { const series = study.series[j]; if (series.Modality === 'SEG') { + if (activeViewport) { + const studyMetadata = studyMetadataManager.get( + activeViewport.StudyInstanceUID + ); + const referencedDS = studyMetadata.getDerivedDatasets({ + referencedSeriesInstanceUID: + activeViewport.SeriesInstanceUID, + Modality: 'SEG', + }); + triggerSegmentationPanelTabUpdatedEvent({ + badgeNumber: referencedDS.length, + target: 'segmentation-panel', + }); + } return false; } }