browseimage.ui.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. var interval;
  2. $(function () {
  3. updateProgressInterval();
  4. });
  5. function updateProgressInterval() {
  6. updateProgress();
  7. interval = setInterval(function ()
  8. {
  9. updateProgress();
  10. }, 3000);
  11. }
  12. function updateProgress() {
  13. $.get($.createLink('zahost', 'ajaxImageDownloadProgress', 'hostID=' + hostID)).done(function (response)
  14. {
  15. var result = JSON.parse(response);
  16. var statusList = result.data;
  17. var hasInprogress = false;
  18. for (var imageID in statusList) {
  19. if (statusList[imageID].statusCode) {
  20. imgProgress = $('.modal [data-col="progress"][data-row="' + imageID + '"] .dtable-cell-content')
  21. imgPath = $('.modal [data-col="path"][data-row="' + imageID + '"] .dtable-cell-content')
  22. imgStatus = $('.modal [data-col="status"][data-row="' + imageID + '"] .dtable-cell-content')
  23. imgDownload = $('.modal [data-col="actions"][data-row="' + imageID + '"]').find('a').first();
  24. imgCancel = $('.modal [data-col="actions"][data-row="' + imageID + '"]').find('a').last();
  25. if (statusList[imageID].statusCode == 'inprogress' || statusList[imageID].statusCode == 'created' || statusList[imageID].statusCode == 'pending')
  26. {
  27. hasInprogress = true;
  28. imgDownload.addClass('disabled');
  29. imgCancel.removeClass('disabled');
  30. }
  31. else if (statusList[imageID].statusCode == 'completed')
  32. {
  33. imgPath.text(statusList[imageID].path);
  34. imgPath.attr('title', statusList[imageID].path);
  35. imgDownload.addClass('disabled');
  36. imgCancel.addClass('disabled');
  37. imgCancel.attr('href', '#');
  38. imgProgress.text("100%");
  39. }
  40. else
  41. {
  42. var link = $.createLink('zahost', 'downloadImage', "hostID="+hostID+"&imageID="+imageID);
  43. imgDownload.removeClass('disabled');
  44. imgDownload.attr('href', link);
  45. imgCancel.addClass('disabled');
  46. imgCancel.attr('href', '#');
  47. imgProgress.text('');
  48. }
  49. imgStatus.text(statusList[imageID].status);
  50. if(statusList[imageID].progress != '' && statusList[imageID].statusCode != 'completed')
  51. {
  52. imgProgress.text(statusList[imageID].progress);
  53. }
  54. }
  55. }
  56. if (!hasInprogress)
  57. {
  58. clearInterval(interval)
  59. }
  60. });
  61. }