znt/module/zahost/js/browseimage.ui.js

67 lines
2.6 KiB
JavaScript

var interval;
$(function () {
updateProgressInterval();
});
function updateProgressInterval() {
updateProgress();
interval = setInterval(function ()
{
updateProgress();
}, 3000);
}
function updateProgress() {
$.get($.createLink('zahost', 'ajaxImageDownloadProgress', 'hostID=' + hostID)).done(function (response)
{
var result = JSON.parse(response);
var statusList = result.data;
var hasInprogress = false;
for (var imageID in statusList) {
if (statusList[imageID].statusCode) {
imgProgress = $('.modal [data-col="progress"][data-row="' + imageID + '"] .dtable-cell-content')
imgPath = $('.modal [data-col="path"][data-row="' + imageID + '"] .dtable-cell-content')
imgStatus = $('.modal [data-col="status"][data-row="' + imageID + '"] .dtable-cell-content')
imgDownload = $('.modal [data-col="actions"][data-row="' + imageID + '"]').find('a').first();
imgCancel = $('.modal [data-col="actions"][data-row="' + imageID + '"]').find('a').last();
if (statusList[imageID].statusCode == 'inprogress' || statusList[imageID].statusCode == 'created' || statusList[imageID].statusCode == 'pending')
{
hasInprogress = true;
imgDownload.addClass('disabled');
imgCancel.removeClass('disabled');
}
else if (statusList[imageID].statusCode == 'completed')
{
imgPath.text(statusList[imageID].path);
imgPath.attr('title', statusList[imageID].path);
imgDownload.addClass('disabled');
imgCancel.addClass('disabled');
imgCancel.attr('href', '#');
imgProgress.text("100%");
}
else
{
var link = $.createLink('zahost', 'downloadImage', "hostID="+hostID+"&imageID="+imageID);
imgDownload.removeClass('disabled');
imgDownload.attr('href', link);
imgCancel.addClass('disabled');
imgCancel.attr('href', '#');
imgProgress.text('');
}
imgStatus.text(statusList[imageID].status);
if(statusList[imageID].progress != '' && statusList[imageID].statusCode != 'completed')
{
imgProgress.text(statusList[imageID].progress);
}
}
}
if (!hasInprogress)
{
clearInterval(interval)
}
});
}