Fix caching issues with related studies. (#1970)
This commit is contained in:
parent
fe52037fc2
commit
58c2c00663
@ -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({
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -227,10 +227,10 @@ function PanelStudyBrowserTracking({
|
|||||||
);
|
);
|
||||||
const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy
|
const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy
|
||||||
? [
|
? [
|
||||||
...expandedStudyInstanceUIDs.filter(
|
...expandedStudyInstanceUIDs.filter(
|
||||||
stdyUid => stdyUid !== StudyInstanceUID
|
stdyUid => stdyUid !== StudyInstanceUID
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
: [...expandedStudyInstanceUIDs, StudyInstanceUID];
|
: [...expandedStudyInstanceUIDs, StudyInstanceUID];
|
||||||
|
|
||||||
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);
|
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);
|
||||||
@ -304,7 +304,7 @@ function PanelStudyBrowserTracking({
|
|||||||
SeriesInstanceUID: displaySet.SeriesInstanceUID,
|
SeriesInstanceUID: displaySet.SeriesInstanceUID,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
onClickThumbnail={() => { }}
|
onClickThumbnail={() => {}}
|
||||||
onDoubleClickThumbnail={onDoubleClickThumbnailHandler}
|
onDoubleClickThumbnail={onDoubleClickThumbnailHandler}
|
||||||
activeDisplaySetInstanceUID={activeDisplaySetInstanceUID}
|
activeDisplaySetInstanceUID={activeDisplaySetInstanceUID}
|
||||||
/>
|
/>
|
||||||
@ -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({
|
||||||
@ -370,11 +369,11 @@ function _mapDisplaySets(
|
|||||||
const viewportIdentificator = isSingleViewport
|
const viewportIdentificator = isSingleViewport
|
||||||
? []
|
? []
|
||||||
: viewports.reduce((acc, viewportData, index) => {
|
: viewports.reduce((acc, viewportData, index) => {
|
||||||
if (viewportData.displaySetInstanceUID === ds.displaySetInstanceUID) {
|
if (viewportData.displaySetInstanceUID === ds.displaySetInstanceUID) {
|
||||||
acc.push(_viewportLabels[index]);
|
acc.push(_viewportLabels[index]);
|
||||||
}
|
}
|
||||||
return acc;
|
return acc;
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const array =
|
const array =
|
||||||
componentType === 'thumbnailTracked'
|
componentType === 'thumbnailTracked'
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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];
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user