Fix caching issues with related studies. (#1970)

This commit is contained in:
James Petts authored and GitHub committed 2020-08-06 17:25:42 +02:00
1 parent fe52037fc2
commit 58c2c00663
5 files changed
+20 -21

No files matched your search

@@ -187,7 +187,6 @@ PanelStudyBrowser.propTypes = {
EVENTS: PropTypes.object.isRequired,
activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired,
getDisplaySetByUID: PropTypes.func.isRequired,
hasDisplaySetsForStudy: PropTypes.func.isRequired,
subscribe: PropTypes.func.isRequired,
}).isRequired,
dataSource: PropTypes.shape({
@@ -4,7 +4,11 @@ function requestDisplaySetCreationForStudy(
StudyInstanceUID
) {
// TODO: is this already short-circuited by the map of Retrieve promises?
if (DisplaySetService.hasDisplaySetsForStudy(StudyInstanceUID)) {
if (
DisplaySetService.activeDisplaySets.some(
displaySet => displaySet.StudyInstanceUID === StudyInstanceUID
)
) {
return;
}
@@ -227,10 +227,10 @@ function PanelStudyBrowserTracking({
);
const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy
? [
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
: [...expandedStudyInstanceUIDs, StudyInstanceUID];
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);
@@ -304,7 +304,7 @@ function PanelStudyBrowserTracking({
SeriesInstanceUID: displaySet.SeriesInstanceUID,
});
}}
onClickThumbnail={() => { }}
onClickThumbnail={() => {}}
onDoubleClickThumbnail={onDoubleClickThumbnailHandler}
activeDisplaySetInstanceUID={activeDisplaySetInstanceUID}
/>
@@ -320,7 +320,6 @@ PanelStudyBrowserTracking.propTypes = {
EVENTS: PropTypes.object.isRequired,
activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired,
getDisplaySetByUID: PropTypes.func.isRequired,
hasDisplaySetsForStudy: PropTypes.func.isRequired,
subscribe: PropTypes.func.isRequired,
}).isRequired,
dataSource: PropTypes.shape({
@@ -370,11 +369,11 @@ function _mapDisplaySets(
const viewportIdentificator = isSingleViewport
? []
: viewports.reduce((acc, viewportData, index) => {
if (viewportData.displaySetInstanceUID === ds.displaySetInstanceUID) {
acc.push(_viewportLabels[index]);
}
return acc;
}, []);
if (viewportData.displaySetInstanceUID === ds.displaySetInstanceUID) {
acc.push(_viewportLabels[index]);
}
return acc;
}, []);
const array =
componentType === 'thumbnailTracked'
@@ -3,8 +3,11 @@ function requestDisplaySetCreationForStudy(
DisplaySetService,
StudyInstanceUID
) {
// TODO: is this already short-circuited by the map of Retrieve promises?
if (DisplaySetService.hasDisplaySetsForStudy(StudyInstanceUID)) {
if (
DisplaySetService.activeDisplaySets.some(
displaySet => displaySet.StudyInstanceUID === StudyInstanceUID
)
) {
return;
}