Mercurial > hg > orthanc
comparison OrthancExplorer/query-retrieve.js @ 3023:c9c2faf76bec
replaced 'var' by 'let' in Orthanc Explorer's JavaScript
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 17 Dec 2018 10:22:51 +0100 |
parents | a95beca72e99 |
children | 5713952f60c0 81b58b549845 |
comparison
equal
deleted
inserted
replaced
3021:2cbafb5d5a62 | 3023:c9c2faf76bec |
---|---|
1 function JavascriptDateToDicom(date) | 1 function JavascriptDateToDicom(date) |
2 { | 2 { |
3 var s = date.toISOString(); | 3 let s = date.toISOString(); |
4 return s.substring(0, 4) + s.substring(5, 7) + s.substring(8, 10); | 4 return s.substring(0, 4) + s.substring(5, 7) + s.substring(8, 10); |
5 } | 5 } |
6 | 6 |
7 function GenerateDicomDate(days) | 7 function GenerateDicomDate(days) |
8 { | 8 { |
9 var today = new Date(); | 9 let today = new Date(); |
10 var other = new Date(today); | 10 let other = new Date(today); |
11 other.setDate(today.getDate() + days); | 11 other.setDate(today.getDate() + days); |
12 return JavascriptDateToDicom(other); | 12 return JavascriptDateToDicom(other); |
13 } | 13 } |
14 | 14 |
15 | 15 |
18 url: '../modalities', | 18 url: '../modalities', |
19 dataType: 'json', | 19 dataType: 'json', |
20 async: false, | 20 async: false, |
21 cache: false, | 21 cache: false, |
22 success: function(modalities) { | 22 success: function(modalities) { |
23 var target = $('#qr-server'); | 23 let target = $('#qr-server'); |
24 $('option', target).remove(); | 24 $('option', target).remove(); |
25 | 25 |
26 for (var i = 0; i < modalities.length; i++) { | 26 for (let i = 0; i < modalities.length; i++) { |
27 var option = $('<option>').text(modalities[i]); | 27 let option = $('<option>').text(modalities[i]); |
28 target.append(option); | 28 target.append(option); |
29 } | 29 } |
30 | 30 |
31 target.selectmenu('refresh'); | 31 target.selectmenu('refresh'); |
32 } | 32 } |
33 }); | 33 }); |
34 | 34 |
35 var target = $('#qr-date'); | 35 let target = $('#qr-date'); |
36 $('option', target).remove(); | 36 $('option', target).remove(); |
37 target.append($('<option>').attr('value', '*').text('Any date')); | 37 target.append($('<option>').attr('value', '*').text('Any date')); |
38 target.append($('<option>').attr('value', GenerateDicomDate(0)).text('Today')); | 38 target.append($('<option>').attr('value', GenerateDicomDate(0)).text('Today')); |
39 target.append($('<option>').attr('value', GenerateDicomDate(-1)).text('Yesterday')); | 39 target.append($('<option>').attr('value', GenerateDicomDate(-1)).text('Yesterday')); |
40 target.append($('<option>').attr('value', GenerateDicomDate(-7) + '-').text('Last 7 days')); | 40 target.append($('<option>').attr('value', GenerateDicomDate(-7) + '-').text('Last 7 days')); |
44 target.selectmenu('refresh'); | 44 target.selectmenu('refresh'); |
45 }); | 45 }); |
46 | 46 |
47 | 47 |
48 $('#qr-echo').live('click', function() { | 48 $('#qr-echo').live('click', function() { |
49 var server = $('#qr-server').val(); | 49 let server = $('#qr-server').val(); |
50 var message = 'Error: The C-Echo has failed!'; | 50 let message = 'Error: The C-Echo has failed!'; |
51 | 51 |
52 $.ajax({ | 52 $.ajax({ |
53 url: '../modalities/' + server + '/echo', | 53 url: '../modalities/' + server + '/echo', |
54 type: 'POST', | 54 type: 'POST', |
55 cache: false, | 55 cache: false, |
73 return false; | 73 return false; |
74 }); | 74 }); |
75 | 75 |
76 | 76 |
77 $('#qr-submit').live('click', function() { | 77 $('#qr-submit').live('click', function() { |
78 var query = { | 78 let query = { |
79 'Level' : 'Study', | 79 'Level' : 'Study', |
80 'Query' : { | 80 'Query' : { |
81 'AccessionNumber' : '*', | 81 'AccessionNumber' : '*', |
82 'PatientBirthDate' : '*', | 82 'PatientBirthDate' : '*', |
83 'PatientID' : '*', | 83 'PatientID' : '*', |
86 'StudyDate' : $('#qr-date').val(), | 86 'StudyDate' : $('#qr-date').val(), |
87 'StudyDescription' : '*' | 87 'StudyDescription' : '*' |
88 } | 88 } |
89 }; | 89 }; |
90 | 90 |
91 var field = $('#qr-fields input:checked').val(); | 91 let field = $('#qr-fields input:checked').val(); |
92 query['Query'][field] = $('#qr-value').val().toUpperCase(); | 92 query['Query'][field] = $('#qr-value').val().toUpperCase(); |
93 | 93 |
94 var modalities = ''; | 94 let modalities = ''; |
95 $('#qr-modalities input:checked').each(function() { | 95 $('#qr-modalities input:checked').each(function() { |
96 var s = $(this).attr('name'); | 96 let s = $(this).attr('name'); |
97 if (modalities == '') | 97 if (modalities == '') |
98 modalities = s; | 98 modalities = s; |
99 else | 99 else |
100 modalities += '\\' + s; | 100 modalities += '\\' + s; |
101 }); | 101 }); |
103 if (modalities.length > 0) { | 103 if (modalities.length > 0) { |
104 query['Query']['ModalitiesInStudy'] = modalities; | 104 query['Query']['ModalitiesInStudy'] = modalities; |
105 } | 105 } |
106 | 106 |
107 | 107 |
108 var server = $('#qr-server').val(); | 108 let server = $('#qr-server').val(); |
109 $.ajax({ | 109 $.ajax({ |
110 url: '../modalities/' + server + '/query', | 110 url: '../modalities/' + server + '/query', |
111 type: 'POST', | 111 type: 'POST', |
112 data: JSON.stringify(query), | 112 data: JSON.stringify(query), |
113 dataType: 'json', | 113 dataType: 'json', |
128 | 128 |
129 | 129 |
130 | 130 |
131 $('#query-retrieve-2').live('pagebeforeshow', function() { | 131 $('#query-retrieve-2').live('pagebeforeshow', function() { |
132 if ($.mobile.pageData) { | 132 if ($.mobile.pageData) { |
133 var pageData = DeepCopy($.mobile.pageData); | 133 let pageData = DeepCopy($.mobile.pageData); |
134 | 134 |
135 var uri = '../queries/' + pageData.uuid + '/answers'; | 135 let uri = '../queries/' + pageData.uuid + '/answers'; |
136 | 136 |
137 $.ajax({ | 137 $.ajax({ |
138 url: uri, | 138 url: uri, |
139 dataType: 'json', | 139 dataType: 'json', |
140 async: false, | 140 async: false, |
141 success: function(answers) { | 141 success: function(answers) { |
142 var target = $('#query-retrieve-2 ul'); | 142 let target = $('#query-retrieve-2 ul'); |
143 $('li', target).remove(); | 143 $('li', target).remove(); |
144 | 144 |
145 for (var i = 0; i < answers.length; i++) { | 145 for (let i = 0; i < answers.length; i++) { |
146 $.ajax({ | 146 $.ajax({ |
147 url: uri + '/' + answers[i] + '/content?simplify', | 147 url: uri + '/' + answers[i] + '/content?simplify', |
148 dataType: 'json', | 148 dataType: 'json', |
149 async: false, | 149 async: false, |
150 success: function(study) { | 150 success: function(study) { |
151 var series = '#query-retrieve-3?server=' + pageData.server + '&uuid=' + study['StudyInstanceUID']; | 151 let series = '#query-retrieve-3?server=' + pageData.server + '&uuid=' + study['StudyInstanceUID']; |
152 | 152 |
153 var content = ($('<div>') | 153 let content = ($('<div>') |
154 .append($('<h3>').text(study['PatientID'] + ' - ' + study['PatientName'])) | 154 .append($('<h3>').text(study['PatientID'] + ' - ' + study['PatientName'])) |
155 .append($('<p>').text('Accession number: ') | 155 .append($('<p>').text('Accession number: ') |
156 .append($('<b>').text(study['AccessionNumber']))) | 156 .append($('<b>').text(study['AccessionNumber']))) |
157 .append($('<p>').text('Birth date: ') | 157 .append($('<p>').text('Birth date: ') |
158 .append($('<b>').text(study['PatientBirthDate']))) | 158 .append($('<b>').text(study['PatientBirthDate']))) |
161 .append($('<p>').text('Study description: ') | 161 .append($('<p>').text('Study description: ') |
162 .append($('<b>').text(study['StudyDescription']))) | 162 .append($('<b>').text(study['StudyDescription']))) |
163 .append($('<p>').text('Study date: ') | 163 .append($('<p>').text('Study date: ') |
164 .append($('<b>').text(FormatDicomDate(study['StudyDate']))))); | 164 .append($('<b>').text(FormatDicomDate(study['StudyDate']))))); |
165 | 165 |
166 var info = $('<a>').attr('href', series).html(content); | 166 let info = $('<a>').attr('href', series).html(content); |
167 | 167 |
168 var answerId = answers[i]; | 168 let answerId = answers[i]; |
169 var retrieve = $('<a>').text('Retrieve all study').click(function() { | 169 let retrieve = $('<a>').text('Retrieve all study').click(function() { |
170 ChangePage('query-retrieve-4', { | 170 ChangePage('query-retrieve-4', { |
171 'query' : pageData.uuid, | 171 'query' : pageData.uuid, |
172 'answer' : answerId, | 172 'answer' : answerId, |
173 'server' : pageData.server | 173 'server' : pageData.server |
174 }); | 174 }); |
186 }); | 186 }); |
187 | 187 |
188 | 188 |
189 $('#query-retrieve-3').live('pagebeforeshow', function() { | 189 $('#query-retrieve-3').live('pagebeforeshow', function() { |
190 if ($.mobile.pageData) { | 190 if ($.mobile.pageData) { |
191 var pageData = DeepCopy($.mobile.pageData); | 191 let pageData = DeepCopy($.mobile.pageData); |
192 | 192 |
193 var query = { | 193 let query = { |
194 'Level' : 'Series', | 194 'Level' : 'Series', |
195 'Query' : { | 195 'Query' : { |
196 'Modality' : '*', | 196 'Modality' : '*', |
197 'ProtocolName' : '*', | 197 'ProtocolName' : '*', |
198 'SeriesDescription' : '*', | 198 'SeriesDescription' : '*', |
209 async: false, | 209 async: false, |
210 error: function() { | 210 error: function() { |
211 alert('Error during query (C-Find)'); | 211 alert('Error during query (C-Find)'); |
212 }, | 212 }, |
213 success: function(answer) { | 213 success: function(answer) { |
214 var queryUuid = answer['ID']; | 214 let queryUuid = answer['ID']; |
215 var uri = '../queries/' + answer['ID'] + '/answers'; | 215 let uri = '../queries/' + answer['ID'] + '/answers'; |
216 | 216 |
217 $.ajax({ | 217 $.ajax({ |
218 url: uri, | 218 url: uri, |
219 dataType: 'json', | 219 dataType: 'json', |
220 async: false, | 220 async: false, |
221 success: function(answers) { | 221 success: function(answers) { |
222 | 222 |
223 var target = $('#query-retrieve-3 ul'); | 223 let target = $('#query-retrieve-3 ul'); |
224 $('li', target).remove(); | 224 $('li', target).remove(); |
225 | 225 |
226 for (var i = 0; i < answers.length; i++) { | 226 for (let i = 0; i < answers.length; i++) { |
227 $.ajax({ | 227 $.ajax({ |
228 url: uri + '/' + answers[i] + '/content?simplify', | 228 url: uri + '/' + answers[i] + '/content?simplify', |
229 dataType: 'json', | 229 dataType: 'json', |
230 async: false, | 230 async: false, |
231 success: function(series) { | 231 success: function(series) { |
232 var content = ($('<div>') | 232 let content = ($('<div>') |
233 .append($('<h3>').text(series['SeriesDescription'])) | 233 .append($('<h3>').text(series['SeriesDescription'])) |
234 .append($('<p>').text('Modality: ') | 234 .append($('<p>').text('Modality: ') |
235 .append($('<b>').text(series['Modality']))) | 235 .append($('<b>').text(series['Modality']))) |
236 .append($('<p>').text('ProtocolName: ') | 236 .append($('<p>').text('ProtocolName: ') |
237 .append($('<b>').text(series['ProtocolName'])))); | 237 .append($('<b>').text(series['ProtocolName'])))); |
238 | 238 |
239 var info = $('<a>').html(content); | 239 let info = $('<a>').html(content); |
240 | 240 |
241 var answerId = answers[i]; | 241 let answerId = answers[i]; |
242 info.click(function() { | 242 info.click(function() { |
243 ChangePage('query-retrieve-4', { | 243 ChangePage('query-retrieve-4', { |
244 'query' : queryUuid, | 244 'query' : queryUuid, |
245 'study' : pageData.uuid, | 245 'study' : pageData.uuid, |
246 'answer' : answerId, | 246 'answer' : answerId, |
263 | 263 |
264 | 264 |
265 | 265 |
266 $('#query-retrieve-4').live('pagebeforeshow', function() { | 266 $('#query-retrieve-4').live('pagebeforeshow', function() { |
267 if ($.mobile.pageData) { | 267 if ($.mobile.pageData) { |
268 var pageData = DeepCopy($.mobile.pageData); | 268 let pageData = DeepCopy($.mobile.pageData); |
269 var uri = '../queries/' + pageData.query + '/answers/' + pageData.answer + '/retrieve'; | 269 let uri = '../queries/' + pageData.query + '/answers/' + pageData.answer + '/retrieve'; |
270 | 270 |
271 $.ajax({ | 271 $.ajax({ |
272 url: '../system', | 272 url: '../system', |
273 dataType: 'json', | 273 dataType: 'json', |
274 async: false, | 274 async: false, |
277 $('#retrieve-target').val(system['DicomAet']); | 277 $('#retrieve-target').val(system['DicomAet']); |
278 | 278 |
279 $('#retrieve-form').submit(function(event) { | 279 $('#retrieve-form').submit(function(event) { |
280 event.preventDefault(); | 280 event.preventDefault(); |
281 | 281 |
282 var aet = $('#retrieve-target').val(); | 282 let aet = $('#retrieve-target').val(); |
283 if (aet.length == 0) { | 283 if (aet.length == 0) { |
284 aet = system['DicomAet']; | 284 aet = system['DicomAet']; |
285 } | 285 } |
286 | 286 |
287 $.ajax({ | 287 $.ajax({ |