mirror of
https://github.com/moodle/moodle.git
synced 2025-07-25 08:11:39 +02:00
3 lines
4.2 KiB
JavaScript
3 lines
4.2 KiB
JavaScript
define ("core_backup/async_backup",["jquery","core/ajax","core/str","core/notification","core/templates"],function(a,b,c,d,e){var m=900,n=1e3,o={},p=5e3,q,r,s,t,u,v;function f(b,c){var d=Math.round(c)+"%",e=a("#"+b+"_bar"),f=c.toFixed(2)+"%";e.attr("aria-valuenow",d);e.css("width",d);e.text(f)}function g(c){var f=a("#"+c+"_bar").parent().parent(),g=f.parent(),h=f.siblings(),i=h[1],j=a(i).text(),k=h[0],l=a(k).text();b.call([{methodname:"core_backup_get_async_backup_links_backup",args:{filename:l,contextid:r}}])[0].done(function(a){var b={filename:l,time:j,size:a.filesize,fileurl:a.fileurl,restoreurl:a.restoreurl};e.render("core/async_backup_progress_row",b).then(function(a,b){e.replaceNodeContents(g,a,b)}).fail(function(){d.exception(new Error("Failed to load table row"))})})}function h(c){var f=a("#"+c+"_bar").parent().parent(),g=f.parent(),h=f.siblings(),i=h[0],j=h[1],k=a(j).text();b.call([{methodname:"core_backup_get_async_backup_links_restore",args:{backupid:c,contextid:r}}])[0].done(function(b){var c=a(i).text(),f={resourcename:c,restoreurl:b.restoreurl,time:k};e.render("core/async_restore_progress_row",f).then(function(a,b){e.replaceNodeContents(g,a,b)}).fail(function(){d.exception(new Error("Failed to load table row"))})})}function i(e){var g=100*e.progress,h=a("#"+q+"_bar"),i=a("#"+q+"_status"),j=a("#"+q+"_detail"),k=a("#"+q+"_button"),l;if(e.status==800){h.addClass("bg-success");f(q,g);var o="async"+t+"processing";c.get_string(o,"backup").then(function(a){i.text(a);return a}).catch(function(){d.exception(new Error("Failed to load string: backup "+o))})}else if(e.status==m){h.addClass("bg-danger");h.removeClass("bg-success");f(q,100);var p="async"+t+"error",v="async"+t+"errordetail";l=[{key:p,component:"backup"},{key:v,component:"backup"}];c.get_strings(l).then(function(a){i.text(a[0]);j.text(a[1]);return a}).catch(function(){d.exception(new Error("Failed to load string"))});a(".backup_progress").children("span").removeClass("backup_stage_current");a(".backup_progress").children("span").last().addClass("backup_stage_current");clearInterval(u)}else if(e.status==n){h.addClass("bg-success");f(q,100);var w="async"+t+"complete";c.get_string(w,"backup").then(function(a){i.text(a);return a}).catch(function(){d.exception(new Error("Failed to load string: backup "+w))});if("restore"==t){b.call([{methodname:"core_backup_get_async_backup_links_restore",args:{backupid:q,contextid:r}}])[0].done(function(a){var b="async"+t+"completedetail",e="async"+t+"completebutton",f=[{key:b,component:"backup",param:a.restoreurl},{key:e,component:"backup"}];c.get_strings(f).then(function(b){j.html(b[0]);k.text(b[1]);k.attr("href",a.restoreurl);return b}).catch(function(){d.exception(new Error("Failed to load string"))})})}else{var x="async"+t+"completedetail",y="async"+t+"completebutton";l=[{key:x,component:"backup",param:s},{key:y,component:"backup"}];c.get_strings(l).then(function(a){j.html(a[0]);k.text(a[1]);k.attr("href",s);return a}).catch(function(){d.exception(new Error("Failed to load string"))})}a(".backup_progress").children("span").removeClass("backup_stage_current");a(".backup_progress").children("span").last().addClass("backup_stage_current");clearInterval(u)}}function j(b){b.forEach(function(b){var c=100*b.progress,d=b.backupid,e=a("#"+d+"_bar"),i=b.operation;if(b.status==800){e.addClass("bg-success");f(d,c)}else if(b.status==m){e.addClass("bg-danger");e.addClass("complete");a("#"+d+"_bar").removeClass("bg-success");f(d,100)}else if(b.status==n){e.addClass("bg-success");e.addClass("complete");f(d,100);if("backup"==i){g(d)}else{h(d)}}})}function k(){b.call([{methodname:"core_backup_get_async_backup_progress",args:{backupids:[q],contextid:r}}])[0].done(function(a){i(a[0])})}function l(){var c=[],d=a(".progress").find(".progress-bar").not(".complete");d.each(function(){c.push(this.id.substring(0,32))});if(0<c.length){b.call([{methodname:"core_backup_get_async_backup_progress",args:{backupids:c,contextid:r}}])[0].done(function(a){j(a)})}else{clearInterval(v)}}o.asyncBackupAllStatus=function(a){r=a;v=setInterval(l,p)};o.asyncBackupStatus=function(b,c,d,e){q=b;r=c;s=d;if("backup"==e){t="backup"}else{t="restore"}a(".backup_progress").children("a").removeAttr("href");u=setInterval(k,p)};return o});
|
|
//# sourceMappingURL=async_backup.min.js.map
|