class ProcessManager { static show(clazz) { $("#processes").css("height","80px"); $("#processes .title").html(clazz); } static hide() { $("#processes").css("height","0px"); } static update(progress) { if ($("#processes .progress").hasClass("active")) { $("#processes .progress-bar").css("width",progress + "%"); } } static init() { $("#processes .progress-bar").css("width","0%"); $("#processes .icon").addClass("rotating"); $("#processes .icon").removeClass("zmdi-check-circle").addClass("zmdi-settings"); $("#processes .progress").addClass("active"); $("#processes a").removeClass("hidden"); $("#processes .progress-bar").removeClass("progress-bar-success").removeClass("progress-bar-warning").removeClass("progress-bar-danger"); $("#processes .detail").html("Cargando..."); } static complete() { $("#processes .progress-bar").css("width","100%"); $("#processes .icon").removeClass("rotating"); $("#processes .icon").removeClass("zmdi-settings").addClass("zmdi-check-circle"); $("#processes a").addClass("hidden"); $("#processes .progress").removeClass("active"); $("#processes .progress-bar").addClass("progress-bar-success"); $("#processes .detail").html("Completado. Refresca la pantalla para actualizar la informaciĆ³n."); } static error() { $("#processes .progress-bar").css("width","100%"); $("#processes .icon").removeClass("rotating"); $("#processes .icon").removeClass("zmdi-settings").addClass("zmdi-check-circle"); $("#processes a").addClass("hidden"); $("#processes .progress").removeClass("active"); $("#processes .progress-bar").addClass("progress-bar-danger"); $("#processes .detail").html("Ha ocurrido un error."); } static cancel() { $("#processes .progress-bar").css("width","100%"); $("#processes .icon").removeClass("rotating"); $("#processes a").addClass("hidden"); $("#processes .progress").removeClass("active"); $("#processes .progress-bar").addClass("progress-bar-warning"); $("#processes .detail").html("Proceso cancelado. Refresca la pantalla para actualizar la informaciĆ³n."); } static start(clazz) { ProcessManager.show(clazz); $.ajax({ url: "/process", type: 'POST', data: { class : clazz }, success: function(result) { ProcessManager.init(); }, error: function(error) { ProcessManager.error(); } }); } static start_with_map(clazz,map) { ProcessManager.show(clazz); map['class'] = clazz; $.ajax({ url: "/process", type: 'POST', data: map, success: function(result) { ProcessManager.init(); }, error: function(error) { ProcessManager.error(); } }); } static getProcesses(clazz) { $.ajax({ url: "/processes", type: 'GET', data: { class : clazz }, success: function(result) { if (result != "") { ProcessManager.show(result.name); if (result.progress >= 100.0) { ProcessManager.completeProcess(clazz); } ProcessManager.update(result.progress); } }, error: function(error) { ProcessManager.error(); } }); } static completeProcess(clazz) { $.ajax({ url: "/processes/" + clazz, type: 'POST', success: function(result) { ProcessManager.complete() }, error: function(error) { ProcessManager.error(); } }); } static cleanProcess(clazz) { $.ajax({ url: "/processes/" + clazz, type: 'POST', success: function(result) { ProcessManager.cancel(); }, error: function(error) { ProcessManager.error(); } }); } }