diff Applications/StoneWebViewer/WebApplication/app.js @ 1849:023cce3d7844

introduction of the concept of "virtual series"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 29 Jun 2021 12:12:46 +0200
parents 251d7f7a6c4e
children 58681a5c727b
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebApplication/app.js	Mon Jun 28 12:19:38 2021 +0200
+++ b/Applications/StoneWebViewer/WebApplication/app.js	Tue Jun 29 12:12:46 2021 +0200
@@ -188,10 +188,9 @@
 
         var that = this;
         Vue.nextTick(function() {
-          if (newVal.sopInstanceUid !== undefined &&
-              newVal.sopInstanceUid.length > 0) {
-            stone.LoadMultipartInstanceInViewport(
-              that.canvasId, seriesInstanceUid, newVal.sopInstanceUid);
+          if (newVal.virtualSeriesId !== undefined &&
+              newVal.virtualSeriesId.length > 0) {
+            stone.LoadVirtualSeriesInViewport(that.canvasId, newVal.virtualSeriesId);
           }
           else {
             stone.LoadSeriesInViewport(that.canvasId, seriesInstanceUid);
@@ -306,7 +305,7 @@
       // The "parseInt()" is because of Microsoft Edge Legacy (*)
       this.$emit('updated-series', {
         seriesIndex: parseInt(event.dataTransfer.getData('seriesIndex'), 10),
-        sopInstanceUid: event.dataTransfer.getData('sopInstanceUid')
+        virtualSeriesId: event.dataTransfer.getData('virtualSeriesId')
       });
     },
     MakeActive: function() {
@@ -451,7 +450,7 @@
       series: [],
       studies: [],
       seriesIndex: {},  // Maps "SeriesInstanceUID" to "index in this.series"
-      multiframeInstanceThumbnails: {}
+      virtualSeriesThumbnails: {}
     }
   },
   computed: {
@@ -520,20 +519,20 @@
       return s;
     },
 
-    GetActiveMultiframeInstances: function() {
+    GetActiveVirtualSeries: function() {
       var s = [];
 
-      if ('sopInstanceUid' in this.viewport1Content)
-        s.push(this.viewport1Content.sopInstanceUid);
+      if ('virtualSeriesId' in this.viewport1Content)
+        s.push(this.viewport1Content.virtualSeriesId);
 
-      if ('sopInstanceUid' in this.viewport2Content)
-        s.push(this.viewport2Content.sopInstanceUid);
+      if ('virtualSeriesId' in this.viewport2Content)
+        s.push(this.viewport2Content.virtualSeriesId);
 
-      if ('sopInstanceUid' in this.viewport3Content)
-        s.push(this.viewport3Content.sopInstanceUid);
+      if ('virtualSeriesId' in this.viewport3Content)
+        s.push(this.viewport3Content.virtualSeriesId);
 
-      if ('sopInstanceUid' in this.viewport4Content)
-        s.push(this.viewport4Content.sopInstanceUid);
+      if ('virtualSeriesId' in this.viewport4Content)
+        s.push(this.viewport4Content.virtualSeriesId);
 
       return s;
     },
@@ -604,7 +603,7 @@
               'type' : stone.ThumbnailType.LOADING,
               'color': study.color,
               'tags': sourceSeries[i],
-              'multiframeInstances': null
+              'virtualSeries': null
             });
           }
         }
@@ -625,9 +624,9 @@
       event.dataTransfer.setData('seriesIndex', seriesIndex.toString());
     },
 
-    MultiframeInstanceDragStart: function(event, seriesIndex, sopInstanceUid) {
+    VirtualSeriesDragStart: function(event, seriesIndex, virtualSeriesId) {
       event.dataTransfer.setData('seriesIndex', seriesIndex.toString());
-      event.dataTransfer.setData('sopInstanceUid', sopInstanceUid.toString());
+      event.dataTransfer.setData('virtualSeriesId', virtualSeriesId.toString());
     },
 
     SetViewportSeriesInstanceUid: function(viewportIndex, seriesInstanceUid) {
@@ -644,25 +643,25 @@
       if (viewportIndex == 1) {
         this.viewport1Content = {
           series: series,
-          sopInstanceUid: info.sopInstanceUid
+          virtualSeriesId: info.virtualSeriesId
         };
       }
       else if (viewportIndex == 2) {
         this.viewport2Content = {
           series: series,
-          sopInstanceUid: info.sopInstanceUid
+          virtualSeriesId: info.virtualSeriesId
         };
       }
       else if (viewportIndex == 3) {
         this.viewport3Content = {
           series: series,
-          sopInstanceUid: info.sopInstanceUid
+          virtualSeriesId: info.virtualSeriesId
         };
       }
       else if (viewportIndex == 4) {
         this.viewport4Content = {
           series: series,
-          sopInstanceUid: info.sopInstanceUid
+          virtualSeriesId: info.virtualSeriesId
         };
       }
     },
@@ -673,10 +672,10 @@
       });
     },
     
-    ClickMultiframeInstance: function(seriesIndex, sopInstanceUid) {
+    ClickVirtualSeries: function(seriesIndex, virtualSeriesId) {
       this.SetViewportSeries(this.activeViewport, {
         seriesIndex: seriesIndex,
-        sopInstanceUid: sopInstanceUid
+        virtualSeriesId: virtualSeriesId
       });
     },
     
@@ -800,8 +799,8 @@
             delete pendingSeriesPdf_[seriesInstanceUid];
           }
 
-          if (stone.LoadMultiframeInstancesFromSeries(seriesInstanceUid)) {
-            series.multiframeInstances = JSON.parse(stone.GetStringBuffer());
+          if (stone.LookupVirtualSeries(seriesInstanceUid)) {
+            series.virtualSeries = JSON.parse(stone.GetStringBuffer());
           }
         }
 
@@ -1060,8 +1059,8 @@
 
     var that = this;
     
-    window.addEventListener('MultiframeInstanceThumbnailLoaded', function(args) {
-      that.$set(that.multiframeInstanceThumbnails, args.detail.sopInstanceUid, args.detail.thumbnail);
+    window.addEventListener('VirtualSeriesThumbnailLoaded', function(args) {
+      that.$set(that.virtualSeriesThumbnails, args.detail.virtualSeriesId, args.detail.thumbnail);
     });
 
     window.addEventListener('ThumbnailLoaded', function(args) {