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({