diff --git a/platform/viewer/src/components/ViewportGrid/ViewportGrid.js b/platform/viewer/src/components/ViewportGrid/ViewportGrid.js index 082ec6eb1..e59449956 100644 --- a/platform/viewer/src/components/ViewportGrid/ViewportGrid.js +++ b/platform/viewer/src/components/ViewportGrid/ViewportGrid.js @@ -12,7 +12,7 @@ import EmptyViewport from './EmptyViewport.js'; const { loadAndCacheDerivedDisplaySets } = utils; -const ViewportGrid = function(props) { +const ViewportGrid = function (props) { const { activeViewportIndex, availablePlugins, @@ -24,6 +24,7 @@ const ViewportGrid = function(props) { studies, viewportData, children, + isStudyLoaded } = props; const rowSize = 100 / numRows; @@ -37,21 +38,23 @@ const ViewportGrid = function(props) { const snackbar = useSnackbarContext(); useEffect(() => { - viewportData.forEach(displaySet => { - const promises = loadAndCacheDerivedDisplaySets(displaySet, studies); + if (isStudyLoaded) { + viewportData.forEach(displaySet => { + const promises = loadAndCacheDerivedDisplaySets(displaySet, studies); - promises.forEach(promise => { - promise.catch(error => { - snackbar.show({ - title: 'Error loading derived display set:', - message: error.message, - type: 'error', - autoClose: false, + promises.forEach(promise => { + promise.catch(error => { + snackbar.show({ + title: 'Error loading derived display set:', + message: error.message, + type: 'error', + autoClose: false, + }); }); }); }); - }); - }, [studies, viewportData]); + } + }, [studies, viewportData, isStudyLoaded]); const getViewportPanes = () => layout.viewports.map((layout, viewportIndex) => { diff --git a/platform/viewer/src/connectedComponents/Viewer.js b/platform/viewer/src/connectedComponents/Viewer.js index f2acea44c..7bb799df6 100644 --- a/platform/viewer/src/connectedComponents/Viewer.js +++ b/platform/viewer/src/connectedComponents/Viewer.js @@ -316,7 +316,7 @@ class Viewer extends Component { {/* MAIN */}