comparison 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
comparison
equal deleted inserted replaced
1702:bc40b6450261 1703:76c590a62755
222 }); 222 });
223 } 223 }
224 }); 224 });
225 }, 225 },
226 methods: { 226 methods: {
227 SeriesDragAccept: function(event) { 227 DragDrop: function(event) {
228 event.preventDefault();
229 },
230 SeriesDragDrop: function(event) {
231 event.preventDefault(); 228 event.preventDefault();
232 229
233 // The "parseInt()" is because of Microsoft Edge Legacy (*) 230 // The "parseInt()" is because of Microsoft Edge Legacy (*)
234 this.$emit('updated-series', parseInt(event.dataTransfer.getData('seriesIndex'), 10)); 231 this.$emit('updated-series', parseInt(event.dataTransfer.getData('seriesIndex'), 10));
235 }, 232 },
366 windowingPresets: [], 363 windowingPresets: [],
367 364
368 selectedStudies: [], 365 selectedStudies: [],
369 series: [], 366 series: [],
370 studies: [], 367 studies: [],
371 seriesIndex: {} // Maps "SeriesInstanceUID" to "index in this.series" 368 seriesIndex: {}, // Maps "SeriesInstanceUID" to "index in this.series"
369 multiframeInstanceThumbnails: {}
372 } 370 }
373 }, 371 },
374 computed: { 372 computed: {
375 getSelectedStudies() { 373 getSelectedStudies() {
376 var s = ''; 374 var s = '';
500 series.push({ 498 series.push({
501 'numberOfFrames' : 0, 499 'numberOfFrames' : 0,
502 'complete' : false, 500 'complete' : false,
503 'type' : stone.ThumbnailType.LOADING, 501 'type' : stone.ThumbnailType.LOADING,
504 'color': study.color, 502 'color': study.color,
505 'tags': sourceSeries[i] 503 'tags': sourceSeries[i],
504 'multiframeInstances': null
506 }); 505 });
507 } 506 }
508 } 507 }
509 } 508 }
510 509
663 662
664 if (seriesInstanceUid in pendingSeriesPdf_) { 663 if (seriesInstanceUid in pendingSeriesPdf_) {
665 stone.FetchPdf(studyInstanceUid, seriesInstanceUid); 664 stone.FetchPdf(studyInstanceUid, seriesInstanceUid);
666 delete pendingSeriesPdf_[seriesInstanceUid]; 665 delete pendingSeriesPdf_[seriesInstanceUid];
667 } 666 }
667
668 if (stone.LoadMultiframeInstancesFromSeries(seriesInstanceUid)) {
669 series.multiframeInstances = JSON.parse(stone.GetStringBuffer());
670 }
668 } 671 }
669 672
670 // https://fr.vuejs.org/2016/02/06/common-gotchas/#Why-isn%E2%80%99t-the-DOM-updating 673 // https://fr.vuejs.org/2016/02/06/common-gotchas/#Why-isn%E2%80%99t-the-DOM-updating
671 this.$set(this.series, index, series); 674 this.$set(this.series, index, series);
672 675
826 if (localStorage.settingSoftwareRendering) { 829 if (localStorage.settingSoftwareRendering) {
827 this.settingSoftwareRendering = (localStorage.settingSoftwareRendering == '1'); 830 this.settingSoftwareRendering = (localStorage.settingSoftwareRendering == '1');
828 } 831 }
829 832
830 this.modalNotDiagnostic = this.settingNotDiagnostic; 833 this.modalNotDiagnostic = this.settingNotDiagnostic;
834
835 var that = this;
836
837 window.addEventListener('MultiframeInstanceThumbnailLoaded', function(args) {
838 that.$set(that.multiframeInstanceThumbnails, args.detail.sopInstanceUid, args.detail.thumbnail);
839 });
840
841 window.addEventListener('ThumbnailLoaded', function(args) {
842 //var studyInstanceUid = args.detail.studyInstanceUid;
843 var seriesInstanceUid = args.detail.seriesInstanceUid;
844 that.UpdateSeriesThumbnail(seriesInstanceUid);
845 });
846
847 window.addEventListener('MetadataLoaded', function(args) {
848 var studyInstanceUid = args.detail.studyInstanceUid;
849 var seriesInstanceUid = args.detail.seriesInstanceUid;
850 that.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid);
851 });
831 } 852 }
832 }); 853 });
833 854
834 855
835 856
911 var studyInstanceUid = app.series[i].tags[STUDY_INSTANCE_UID]; 932 var studyInstanceUid = app.series[i].tags[STUDY_INSTANCE_UID];
912 var seriesInstanceUid = app.series[i].tags[SERIES_INSTANCE_UID]; 933 var seriesInstanceUid = app.series[i].tags[SERIES_INSTANCE_UID];
913 app.UpdateSeriesThumbnail(seriesInstanceUid); 934 app.UpdateSeriesThumbnail(seriesInstanceUid);
914 app.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid); 935 app.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid);
915 } 936 }
916 });
917
918
919 window.addEventListener('ThumbnailLoaded', function(args) {
920 //var studyInstanceUid = args.detail.studyInstanceUid;
921 var seriesInstanceUid = args.detail.seriesInstanceUid;
922 app.UpdateSeriesThumbnail(seriesInstanceUid);
923 });
924
925
926 window.addEventListener('MetadataLoaded', function(args) {
927 var studyInstanceUid = args.detail.studyInstanceUid;
928 var seriesInstanceUid = args.detail.seriesInstanceUid;
929 app.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid);
930 }); 937 });
931 938
932 939
933 window.addEventListener('StoneException', function() { 940 window.addEventListener('StoneException', function() {
934 console.error('Exception catched in Stone'); 941 console.error('Exception catched in Stone');