Mercurial > hg > orthanc-stone
comparison Applications/StoneWebViewer/WebApplication/app.js @ 1815:b81775f1b196
New tools for annotations: segment length, circle, angle and eraser
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 25 May 2021 18:07:52 +0200 |
parents | 634ff8993f6a |
children | 5baaad557d58 |
comparison
equal
deleted
inserted
replaced
1814:53f3411bf94b | 1815:b81775f1b196 |
---|---|
389 showReferenceLines: true, | 389 showReferenceLines: true, |
390 synchronizedBrowsing: false, | 390 synchronizedBrowsing: false, |
391 globalConfiguration: {}, | 391 globalConfiguration: {}, |
392 creatingArchive: false, | 392 creatingArchive: false, |
393 archiveJob: '', | 393 archiveJob: '', |
394 annotationsCurrentAction: stone.WebViewerAction.NONE, // dummy value | |
395 annotationsBackupAction: stone.WebViewerAction.NONE, // dummy value | |
394 | 396 |
395 modalWarning: false, | 397 modalWarning: false, |
396 modalNotDiagnostic: false, | 398 modalNotDiagnostic: false, |
397 modalPreferences: false, | 399 modalPreferences: false, |
398 | 400 |
650 this.viewport4Content = { | 652 this.viewport4Content = { |
651 series: series, | 653 series: series, |
652 sopInstanceUid: info.sopInstanceUid | 654 sopInstanceUid: info.sopInstanceUid |
653 }; | 655 }; |
654 } | 656 } |
657 | |
658 this.ResetAnnotationsAction(); | |
655 }, | 659 }, |
656 | 660 |
657 ClickSeries: function(seriesIndex) { | 661 ClickSeries: function(seriesIndex) { |
658 this.SetViewportSeries(this.activeViewport, { | 662 this.SetViewportSeries(this.activeViewport, { |
659 seriesIndex: seriesIndex | 663 seriesIndex: seriesIndex |
747 this.layoutCountX = 1; | 751 this.layoutCountX = 1; |
748 this.layoutCountY = 2; | 752 this.layoutCountY = 2; |
749 } | 753 } |
750 | 754 |
751 this.FitContent(); | 755 this.FitContent(); |
756 this.ResetAnnotationsAction(); | |
752 }, | 757 }, |
753 | 758 |
754 UpdateSeriesThumbnail: function(seriesInstanceUid) { | 759 UpdateSeriesThumbnail: function(seriesInstanceUid) { |
755 if (seriesInstanceUid in this.seriesIndex) { | 760 if (seriesInstanceUid in this.seriesIndex) { |
756 var index = this.seriesIndex[seriesInstanceUid]; | 761 var index = this.seriesIndex[seriesInstanceUid]; |
858 $('[data-toggle="tooltip"]').tooltip('hide'); | 863 $('[data-toggle="tooltip"]').tooltip('hide'); |
859 }, | 864 }, |
860 | 865 |
861 SetMouseButtonActions: function(left, middle, right) { | 866 SetMouseButtonActions: function(left, middle, right) { |
862 this.mouseActionsVisible = false; | 867 this.mouseActionsVisible = false; |
868 this.annotationsBackupAction = stone.WebViewerAction.NONE; | |
863 stone.SetMouseButtonActions(left, middle, right); | 869 stone.SetMouseButtonActions(left, middle, right); |
864 }, | 870 }, |
871 | |
872 SetAnnotationsAction: function(action) { | |
873 if (this.annotationsCurrentAction == action) { | |
874 this.ResetAnnotationsAction(); | |
875 } else { | |
876 this.annotationsCurrentAction = action; | |
877 | |
878 if (this.annotationsBackupAction == stone.WebViewerAction.NONE) { | |
879 this.annotationsBackupAction = stone.GetLeftMouseButtonAction(); | |
880 } | |
881 | |
882 stone.SetMouseButtonActions(action, | |
883 stone.GetMiddleMouseButtonAction(), | |
884 stone.GetRightMouseButtonAction()); | |
885 } | |
886 }, | |
887 | |
888 ResetAnnotationsAction: function() { | |
889 if (this.annotationsBackupAction != stone.WebViewerAction.NONE) { | |
890 stone.SetMouseButtonActions(this.annotationsBackupAction, | |
891 stone.GetMiddleMouseButtonAction(), | |
892 stone.GetRightMouseButtonAction()); | |
893 } | |
894 | |
895 this.annotationsBackupAction = stone.WebViewerAction.NONE; | |
896 this.annotationsCurrentAction = stone.WebViewerAction.NONE; | |
897 }, | |
865 | 898 |
866 LoadOsiriXAnnotations: function(xml, clearPrevious) | 899 LoadOsiriXAnnotations: function(xml, clearPrevious) |
867 { | 900 { |
868 if (stone.LoadOsiriXAnnotations(xml, clearPrevious)) { | 901 if (stone.LoadOsiriXAnnotations(xml, clearPrevious)) { |
869 var seriesInstanceUid = stone.GetStringBuffer(); | 902 var seriesInstanceUid = stone.GetStringBuffer(); |
1035 window.addEventListener('MetadataLoaded', function(args) { | 1068 window.addEventListener('MetadataLoaded', function(args) { |
1036 var studyInstanceUid = args.detail.studyInstanceUid; | 1069 var studyInstanceUid = args.detail.studyInstanceUid; |
1037 var seriesInstanceUid = args.detail.seriesInstanceUid; | 1070 var seriesInstanceUid = args.detail.seriesInstanceUid; |
1038 that.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid); | 1071 that.UpdateIsSeriesComplete(studyInstanceUid, seriesInstanceUid); |
1039 }); | 1072 }); |
1073 | |
1074 window.addEventListener('StoneAnnotationAdded', function() { | |
1075 that.ResetAnnotationsAction(); | |
1076 }); | |
1077 | |
1078 window.addEventListener('StoneAnnotationRemoved', function() { | |
1079 that.ResetAnnotationsAction(); | |
1080 }); | |
1040 } | 1081 } |
1041 }); | 1082 }); |
1042 | 1083 |
1043 | 1084 |
1044 | 1085 |
1139 | 1180 |
1140 | 1181 |
1141 window.addEventListener('StoneException', function() { | 1182 window.addEventListener('StoneException', function() { |
1142 console.error('Exception catched in Stone'); | 1183 console.error('Exception catched in Stone'); |
1143 }); | 1184 }); |
1144 | |
1145 | 1185 |
1146 | 1186 |
1147 | 1187 |
1148 function ParseJsonWithComments(json) | 1188 function ParseJsonWithComments(json) |
1149 { | 1189 { |