diff Applications/StoneWebViewer/WebApplication/app.js @ 1692:e787b52d025f

"selectedStudies" argument to replace "selectedStudyIds" from Osimis Web viewer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 25 Nov 2020 18:11:42 +0100
parents 4a49de03a419
children eafb10992e73
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebApplication/app.js	Wed Nov 25 17:54:04 2020 +0100
+++ b/Applications/StoneWebViewer/WebApplication/app.js	Wed Nov 25 18:11:42 2020 +0100
@@ -303,6 +303,7 @@
       showWindowing: false,
       windowingPresets: [],
 
+      selectedStudies: [],
       series: [],
       studies: [],
       seriesIndex: {}  // Maps "SeriesInstanceUID" to "index in this.series"
@@ -398,12 +399,15 @@
             console.error('Twice the same study: ' + studyInstanceUid);
           } else {
             indexStudies[studyInstanceUid] = studies.length;
+
+            var isSelected = (this.selectedStudies.length == 0 ? true :
+                              this.selectedStudies.includes(studyInstanceUid));
             
             studies.push({
               'studyInstanceUid' : studyInstanceUid,
               'series' : [ ],
               'color' : COLORS[posColor],
-              'selected' : true,
+              'selected' : isSelected,
               'tags' : sourceStudies[i]
             });
 
@@ -723,9 +727,16 @@
   stone.SetSoftwareRendering(localStorage.settingSoftwareRendering == '1');
   console.warn('Stone properly initialized');
 
+  var selectedStudies = getParameterFromUrl('selectedStudies');
   var study = getParameterFromUrl('study');
   var series = getParameterFromUrl('series');
 
+  if (selectedStudies !== undefined) {
+    app.selectedStudies = selectedStudies.split(',');
+  } else {
+    app.selectedStudies = [];
+  }
+  
   if (study === undefined) {
     alert('No study was provided in the URL!');
   } else {