Fix caching issues with related studies. (#1970)

This commit is contained in:
James Petts 2020-08-06 16:25:42 +01:00 committed by GitHub
parent fe52037fc2
commit 58c2c00663
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 21 deletions

View File

@ -187,7 +187,6 @@ PanelStudyBrowser.propTypes = {
EVENTS: PropTypes.object.isRequired, EVENTS: PropTypes.object.isRequired,
activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired, activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired,
getDisplaySetByUID: PropTypes.func.isRequired, getDisplaySetByUID: PropTypes.func.isRequired,
hasDisplaySetsForStudy: PropTypes.func.isRequired,
subscribe: PropTypes.func.isRequired, subscribe: PropTypes.func.isRequired,
}).isRequired, }).isRequired,
dataSource: PropTypes.shape({ dataSource: PropTypes.shape({

View File

@ -4,7 +4,11 @@ function requestDisplaySetCreationForStudy(
StudyInstanceUID StudyInstanceUID
) { ) {
// TODO: is this already short-circuited by the map of Retrieve promises? // 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; return;
} }

View File

@ -320,7 +320,6 @@ PanelStudyBrowserTracking.propTypes = {
EVENTS: PropTypes.object.isRequired, EVENTS: PropTypes.object.isRequired,
activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired, activeDisplaySets: PropTypes.arrayOf(PropTypes.object).isRequired,
getDisplaySetByUID: PropTypes.func.isRequired, getDisplaySetByUID: PropTypes.func.isRequired,
hasDisplaySetsForStudy: PropTypes.func.isRequired,
subscribe: PropTypes.func.isRequired, subscribe: PropTypes.func.isRequired,
}).isRequired, }).isRequired,
dataSource: PropTypes.shape({ dataSource: PropTypes.shape({

View File

@ -3,8 +3,11 @@ function requestDisplaySetCreationForStudy(
DisplaySetService, DisplaySetService,
StudyInstanceUID StudyInstanceUID
) { ) {
// TODO: is this already short-circuited by the map of Retrieve promises? if (
if (DisplaySetService.hasDisplaySetsForStudy(StudyInstanceUID)) { DisplaySetService.activeDisplaySets.some(
displaySet => displaySet.StudyInstanceUID === StudyInstanceUID
)
) {
return; return;
} }

View File

@ -125,12 +125,6 @@ export default class DisplaySetService {
} }
}; };
hasDisplaySetsForStudy(StudyInstanceUID) {
return displaySetCache.some(
displaySet => displaySet.StudyInstanceUID === StudyInstanceUID
);
}
makeDisplaySetForInstances(instances) { makeDisplaySetForInstances(instances) {
const instance = instances[0]; const instance = instances[0];