comparison OrthancExplorer/explorer.js @ 2583:1b6a6d80b6f2 jobs

OrthancPeerStoreJob
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 14 May 2018 20:43:16 +0200
parents b3da733d984c
children a3fdfb6979ed
comparison
equal deleted inserted replaced
2582:b3da733d984c 2583:1b6a6d80b6f2
1149 cache: false, 1149 cache: false,
1150 success: function(jobs) { 1150 success: function(jobs) {
1151 var target = $('#all-jobs'); 1151 var target = $('#all-jobs');
1152 $('li', target).remove(); 1152 $('li', target).remove();
1153 1153
1154 var running = $('<li>')
1155 .attr('data-role', 'list-divider')
1156 .text('Currently running');
1157
1158 var pending = $('<li>')
1159 .attr('data-role', 'list-divider')
1160 .text('Pending jobs');
1161
1162 var inactive = $('<li>')
1163 .attr('data-role', 'list-divider')
1164 .text('Inactive jobs');
1165
1166 target.append(running);
1167 target.append(pending);
1168 target.append(inactive);
1169
1154 jobs.map(function(job) { 1170 jobs.map(function(job) {
1155 var li = $('<li>'); 1171 var li = $('<li>');
1156 var item = $('<a>'); 1172 var item = $('<a>');
1157 li.append(item); 1173 li.append(item);
1158 item.attr('href', '#job?uuid=' + job.ID); 1174 item.attr('href', '#job?uuid=' + job.ID);
1162 AddJobField(item, 'Local AET: ', job.PublicContent.LocalAet); 1178 AddJobField(item, 'Local AET: ', job.PublicContent.LocalAet);
1163 AddJobField(item, 'Remote AET: ', job.PublicContent.RemoteAet); 1179 AddJobField(item, 'Remote AET: ', job.PublicContent.RemoteAet);
1164 AddJobDateField(item, 'Creation time: ', job.CreationTime); 1180 AddJobDateField(item, 'Creation time: ', job.CreationTime);
1165 AddJobDateField(item, 'Completion time: ', job.CompletionTime); 1181 AddJobDateField(item, 'Completion time: ', job.CompletionTime);
1166 AddJobDateField(item, 'ETA: ', job.EstimatedTimeOfArrival); 1182 AddJobDateField(item, 'ETA: ', job.EstimatedTimeOfArrival);
1167 target.append(li); 1183
1184 if (job.State == 'Running') {
1185 AddJobField(item, 'Progress: ', job.Progress);
1186 li.insertAfter(running);
1187 } else if (job.State == 'Pending' ||
1188 job.State == 'Paused') {
1189 li.insertAfter(pending);
1190 } else {
1191 li.insertAfter(inactive);
1192 }
1168 }); 1193 });
1169 1194
1170 target.listview('refresh'); 1195 target.listview('refresh');
1171 } 1196 }
1172 }); 1197 });
1208 target.append($('<li>') 1233 target.append($('<li>')
1209 .attr('data-role', 'list-divider') 1234 .attr('data-role', 'list-divider')
1210 .text('Detailed information')); 1235 .text('Detailed information'));
1211 1236
1212 var block = $('<li>'); 1237 var block = $('<li>');
1213 for (var i in job.PublicContent) { 1238
1214 AddJobField(block, i + ': ', JSON.stringify(job.PublicContent[i])); 1239 for (var item in job.PublicContent) {
1240 var value = job.PublicContent[item];
1241 if (typeof value !== 'string') {
1242 value = JSON.stringify(value);
1243 }
1244
1245 AddJobField(block, item + ': ', value);
1215 } 1246 }
1216 1247
1217 target.append(block); 1248 target.append(block);
1218 1249
1219 target.listview('refresh'); 1250 target.listview('refresh');
1249 { 1280 {
1250 $.ajax({ 1281 $.ajax({
1251 url: '../jobs/' + $.mobile.pageData.uuid + '/' + action, 1282 url: '../jobs/' + $.mobile.pageData.uuid + '/' + action,
1252 type: 'POST', 1283 type: 'POST',
1253 async: false, 1284 async: false,
1285 cache: false,
1254 complete: function(s) { 1286 complete: function(s) {
1255 window.location.reload(); 1287 window.location.reload();
1256 } 1288 }
1257 }); 1289 });
1258 } 1290 }