Mercurial > hg > orthanc-stone
diff Applications/StoneWebViewer/WebApplication/app.js @ 1703:76c590a62755
start work on series with multiple multiframe instances
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 27 Nov 2020 16:36:43 +0100 |
parents | bc40b6450261 |
children | 902d13889ae4 |
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebApplication/app.js Fri Nov 27 13:57:28 2020 +0100 +++ b/Applications/StoneWebViewer/WebApplication/app.js Fri Nov 27 16:36:43 2020 +0100 @@ -224,10 +224,7 @@ }); }, methods: { - SeriesDragAccept: function(event) { - event.preventDefault(); - }, - SeriesDragDrop: function(event) { + DragDrop: function(event) { event.preventDefault(); // The "parseInt()" is because of Microsoft Edge Legacy (*) @@ -368,7 +365,8 @@ selectedStudies: [], series: [], studies: [], - seriesIndex: {} // Maps "SeriesInstanceUID" to "index in this.series" + seriesIndex: {}, // Maps "SeriesInstanceUID" to "index in this.series" + multiframeInstanceThumbnails: {} } }, computed: { @@ -502,7 +500,8 @@ 'complete' : false, 'type' : stone.ThumbnailType.LOADING, 'color': study.color, - 'tags': sourceSeries[i] + 'tags': sourceSeries[i], + 'multiframeInstances': null }); } } @@ -665,6 +664,10 @@ stone.FetchPdf(studyInstanceUid, seriesInstanceUid); delete pendingSeriesPdf_[seriesInstanceUid]; } + + if (stone.LoadMultiframeInstancesFromSeries(seriesInstanceUid)) { + series.multiframeInstances = JSON.parse(stone.GetStringBuffer()); + } } // https://fr.vuejs.org/2016/02/06/common-gotchas/#Why-isn%E2%80%99t-the-DOM-updating @@ -828,6 +831,24 @@ } this.modalNotDiagnostic = this.settingNotDiagnostic; + + var that = this; + + window.addEventListener('MultiframeInstanceThumbnailLoaded', function(args) { + that.$set(that.multiframeInstanceThumbnails, args.detail.sopInstanceUid, args.detail.thumbnail); + }); + + window.addEventListener('ThumbnailLoaded', function(args) { + //var studyInstanceUid = args.detail.studyInstanceUid; + var seriesInstanceUid = args.detail.seriesInstanceUid; + that.UpdateSeriesThumbnail(seriesInstanceUid); + }); + + window.addEventListener('MetadataLoaded', function(args) { + var studyInstanceUid = args.detail.studyInstanceUid; + var seriesInstanceUid = args.detail.seriesInstanceUid; + that.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid); + }); } }); @@ -916,20 +937,6 @@ }); -window.addEventListener('ThumbnailLoaded', function(args) { - //var studyInstanceUid = args.detail.studyInstanceUid; - var seriesInstanceUid = args.detail.seriesInstanceUid; - app.UpdateSeriesThumbnail(seriesInstanceUid); -}); - - -window.addEventListener('MetadataLoaded', function(args) { - var studyInstanceUid = args.detail.studyInstanceUid; - var seriesInstanceUid = args.detail.seriesInstanceUid; - app.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid); -}); - - window.addEventListener('StoneException', function() { console.error('Exception catched in Stone'); });