createimage.ui.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. if(task)
  2. {
  3. var setProgress = self.setInterval("getTaskProgress()", 5000);
  4. $(function()
  5. {
  6. var href = $('.success-text').find('a').attr('href');
  7. href = href.replace('?onlybody=yes', '');
  8. $('.success-text').find('a').attr('href', href);
  9. })
  10. window.getTaskProgress = function()
  11. {
  12. var url = $.createLink('zanode', 'ajaxGetTaskStatus', 'nodeID=' + nodeID + '&taskID=' + taskID + '&type=exportVm');
  13. $.get(url, function(data)
  14. {
  15. var rate = data.rate;
  16. var status = data.status;
  17. if(rate == 1 || status == 'completed') rate = 1;
  18. if(status == 'inprogress' && rate >= 1) rate = 0.97;
  19. if(status == 'pending')
  20. {
  21. $('.status-title').text(zanodeLang.pending)
  22. }
  23. else
  24. {
  25. $('.status-title').text(zanodeLang.createImaging)
  26. }
  27. $('.rate').css('width', rate * 100 + '%');
  28. if(rate == 1 || (status != 'inprogress' && status != 'created' && status != 'pending'))
  29. {
  30. updateStatus(data);
  31. clearInterval(setProgress);
  32. }
  33. }, 'json');
  34. }
  35. window.updateStatus = function(data)
  36. {
  37. var url = $.createLink('zanode', 'ajaxUpdateImage', 'taskID=' + taskID)
  38. var postData = {"status":data.status, "path":data.path}
  39. $.post(url, postData, function(result)
  40. {
  41. if(data.status == 'completed')
  42. {
  43. $('.success-text').removeClass('hidden');
  44. $('.status-title').text('')
  45. }
  46. else
  47. {
  48. $('.status-title').text(zanodeLang.createImageFail)
  49. }
  50. }, 'json');
  51. }
  52. }