-
+
+
+
Awating load request
+ This page will display series when loaded from other pages.
+
-
-
+ };
+ });
+
-
+
diff --git a/atlas/templates/atlas/viewer_local.html b/atlas/templates/atlas/viewer_local.html
index c6525572..dc7ef7ff 100644
--- a/atlas/templates/atlas/viewer_local.html
+++ b/atlas/templates/atlas/viewer_local.html
@@ -86,7 +86,14 @@
document.title = "Case: {{current_case.title}}";
console.log('ready');
const bc = new BroadcastChannel("viva_load");
+
+ // Centralized hide helper and delegated close handling for local viewer
+ function hideResourceLocal(){ const disp=document.getElementById('resourceDisplay'); const inner=document.getElementById('resourceInner'); if(disp) disp.style.display='none'; if(inner) inner.innerHTML=''; }
+ (function(){ const disp=document.getElementById('resourceDisplay'); if(!disp) return; disp.addEventListener('click', function(e){ const close = e.target.closest && e.target.closest('#resourceClose'); if (close) hideResourceLocal(); }); })();
+
bc.onmessage = (event) => {
+ // Ensure any existing overlay is closed on new load
+ try { hideResourceLocal(); } catch(_) {}
console.log("message received");
console.log(event);
if (event.data.type == "open") {
@@ -141,46 +148,44 @@
document.addEventListener('keydown', function(ev){ if(ev.key==='Escape'){ document.getElementById('resourceDisplay').style.display='none'; document.getElementById('resourceInner').innerHTML=''; } });
})(transformWrap);
- disp.style.display='flex'; return true;
- }
-
- // Centralized hide helper and delegated close handling
- function hideResourceLocal(){ const disp=document.getElementById('resourceDisplay'); const inner=document.getElementById('resourceInner'); if(disp) disp.style.display='none'; if(inner) inner.innerHTML=''; }
- (function(){ const disp=document.getElementById('resourceDisplay'); if(!disp) return; disp.addEventListener('click', function(e){ const close = e.target.closest && e.target.closest('#resourceClose'); if (close) hideResourceLocal(); }); })();
-
- if (event.data.url && isMediaUrl(event.data.url)) {
- // show resource overlay and do not attempt to mount DICOM viewer
- if (showResource(event.data.url)) {
- bc.postMessage({"type": "open-complete-local"});
- return;
- }
- }
- // Hide modal when data is loaded
- document.getElementById("awaiting-modal").style.display = "none";
- document.getElementById("root").dataset.images = event.data.images;
-
- if (
- event.data.viewerstate &&
- Object.keys(event.data.viewerstate).length > 0
- ) {
- document.getElementById("root").dataset.viewerstate = event.data.viewerstate;
- } else {
- delete document.getElementById("root").dataset.viewerstate;
- }
- console.log("Annotations:", event.data.annotations);
- if (
- event.data.annotations &&
- Object.keys(event.data.annotations).length > 0
- ) {
- document.getElementById("root").dataset.annotationjson = event.data.annotations;
- } else {
- delete document.getElementById("root").dataset.annotationjson;
- }
-
- window.mountDicomViewers();
- bc.postMessage({"type": "open-complete-local"});
+ disp.style.display='flex'; return true;
}
- };
+
+
+
+ if (event.data.url && isMediaUrl(event.data.url)) {
+ // show resource overlay and do not attempt to mount DICOM viewer
+ if (showResource(event.data.url)) {
+ bc.postMessage({"type": "open-complete-local"});
+ return;
+ }
+ }
+ // Hide modal when data is loaded
+ document.getElementById("awaiting-modal").style.display = "none";
+ document.getElementById("root").dataset.images = event.data.images;
+
+ if (
+ event.data.viewerstate &&
+ Object.keys(event.data.viewerstate).length > 0
+ ) {
+ document.getElementById("root").dataset.viewerstate = event.data.viewerstate;
+ } else {
+ delete document.getElementById("root").dataset.viewerstate;
+ }
+ console.log("Annotations:", event.data.annotations);
+ if (
+ event.data.annotations &&
+ Object.keys(event.data.annotations).length > 0
+ ) {
+ document.getElementById("root").dataset.annotationjson = event.data.annotations;
+ } else {
+ delete document.getElementById("root").dataset.annotationjson;
+ }
+
+ window.mountDicomViewers();
+ bc.postMessage({"type": "open-complete-local"});
+ }
+ };
});