Mercurial > hg > orthanc-stone
diff Applications/StoneWebViewer/WebApplication/app.js @ 1859:58681a5c727b
overlay: display ContentDate/ContentTime instead of StudyDate if available + new 'TimeFormat' option
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 20 Sep 2021 17:08:23 +0200 |
parents | 023cce3d7844 |
children | 9290d2916150 |
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebApplication/app.js Mon Sep 06 22:17:32 2021 +0200 +++ b/Applications/StoneWebViewer/WebApplication/app.js Mon Sep 20 17:08:23 2021 +0200 @@ -150,7 +150,9 @@ videoUri: '', windowingCenter: 0, windowingWidth: 0, - instanceNumber: 0 + instanceNumber: 0, + contentDate: '', + contentTime: '', } }, watch: { @@ -171,7 +173,9 @@ this.windowingCenter = 0; this.windowingWidth = 0; this.instanceNumber = 0; - + this.contentDate = ''; + this.contentTime = '' + if (this.cineTimeoutId !== null) { clearTimeout(this.cineTimeoutId); this.cineTimeoutId = null; @@ -255,6 +259,8 @@ that.numberOfFrames = args.detail.numberOfFrames; that.quality = args.detail.quality; that.instanceNumber = args.detail.instanceNumber; + that.contentDate = args.detail.contentDate; + that.contentTime = args.detail.contentTime; } }); @@ -938,6 +944,43 @@ } }, + FormatTime: function(time) + { + if (time === undefined || + time.length == 0) { + return ''; + } + else { + var format = this.globalConfiguration['TimeFormat']; + if (format === undefined) { + // No configuration for the date format, use the DICOM tag as such + return time; + } + else { + var timeRegexHMS = /([0-9]{2})([0-9]{2})([0-9]{2})/; + var timeRegexHMSms = /([0-9]{2})([0-9]{2})([0-9]{2}).([0-9]*)/ + var m = time.match(timeRegexHMSms); + if (m) { + format = format.replace(/hh/g, m[1]).replace(/mm/g, m[2]).replace(/ss/g, m[3]); + if (format.indexOf('f') != -1) { // format expects ms + return format.replace(/f/g, m[4]) + } else { + return format; + } + } + var m = time.match(timeRegexHMS); + if (m) { + format = format.replace(/hh/g, m[1]).replace(/mm/g, m[2]).replace(/ss/g, m[3]); + if (format.indexOf('f') != -1) { // format expects ms but we could not capture one + return format.replace(/.f/g, '') + } + } + + return time; + } + } + }, + DownloadJpeg: function() { var canvas = document.getElementById(this.GetActiveCanvas());