From cefce5360a0222d9f37fae19e15f4bf2196c3002 Mon Sep 17 00:00:00 2001 From: Erik Ziegler Date: Tue, 13 Jun 2017 14:16:34 +0200 Subject: [PATCH] Destroy StudyLoadingListener and clear Collections when viewer is closed --- .../viewer/viewerMain/viewerMain.js | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Packages/ohif-viewerbase/client/components/viewer/viewerMain/viewerMain.js b/Packages/ohif-viewerbase/client/components/viewer/viewerMain/viewerMain.js index 0264d71ec..7143d1b59 100644 --- a/Packages/ohif-viewerbase/client/components/viewer/viewerMain/viewerMain.js +++ b/Packages/ohif-viewerbase/client/components/viewer/viewerMain/viewerMain.js @@ -39,10 +39,9 @@ Template.viewerMain.onRendered(() => { const studyPrefetcher = StudyPrefetcher.getInstance(); instance.studyPrefetcher = studyPrefetcher; - const studyLoadingListener = StudyLoadingListener.getInstance(); - - studyLoadingListener.clear(); - studyLoadingListener.addStudies(studies); + instance.studyLoadingListener = StudyLoadingListener.getInstance(); + instance.studyLoadingListener.clear(); + instance.studyLoadingListener.addStudies(studies); OHIF.viewerbase.layoutManager = new LayoutManager(parentElement, studies); studyPrefetcher.setStudies(studies); @@ -68,10 +67,21 @@ Template.viewerMain.onDestroyed(() => { ProtocolEngine = null; Session.set('OHIFViewerMainRendered', false); - + // Stop prefetching when we close the viewer instance.studyPrefetcher.destroy(); + // Destroy stack loading listeners when we close the viewer + instance.studyLoadingListener.clear(); + // Clear references to all stacks in the StackManager OHIF.viewerbase.stackManager.clearStacks(); + + // @TypeSafeStudies + // Clears OHIF.viewer.Studies collection + OHIF.viewer.Studies.removeAll(); + + // @TypeSafeStudies + // Clears OHIF.viewer.StudyMetadataList collection + OHIF.viewer.StudyMetadataList.removeAll(); });