]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - window/TaskViewer.js
tree-wide trailing whitespace cleanup
[proxmox-widget-toolkit.git] / window / TaskViewer.js
index 7a2ada4f8c37cdd6d53f97f1624afe89e72273a4..d3133f918c867d0411a37c57d7313432296423ea 100644 (file)
@@ -2,6 +2,8 @@ Ext.define('Proxmox.window.TaskProgress', {
     extend: 'Ext.window.Window',
     alias: 'widget.proxmoxTaskProgress',
 
+    taskDone: Ext.emptyFn,
+
     initComponent: function() {
         var me = this;
 
@@ -20,7 +22,7 @@ Ext.define('Proxmox.window.TaskProgress', {
            }
        });
 
-       me.on('destroy', statstore.stopUpdate); 
+       me.on('destroy', statstore.stopUpdate);
 
        var getObjectValue = function(key, defaultValue) {
            var rec = statstore.getById(key);
@@ -44,23 +46,25 @@ Ext.define('Proxmox.window.TaskProgress', {
                    me.close();
                    Ext.Msg.alert('Task failed', exitstatus);
                }
+               me.taskDone(exitstatus == 'OK');
            }
        });
 
        var descr = Proxmox.Utils.format_task_description(task.type, task.id);
 
        Ext.apply(me, {
-           title: gettetx('Task') + ': ' + descr,
+           title: gettext('Task') + ': ' + descr,
            width: 300,
            layout: 'auto',
            modal: true,
            bodyPadding: 5,
            items: pbar,
            buttons: [
-               { 
+               {
                    text: gettext('Details'),
-                   handler: function() {                       
-                       var win = Ext.create('Proxmox.window.TaskViewer', { 
+                   handler: function() {
+                       var win = Ext.create('Proxmox.window.TaskViewer', {
+                           taskDone: me.taskDone,
                            upid: me.upid
                        });
                        win.show();
@@ -85,6 +89,10 @@ Ext.define('Proxmox.window.TaskViewer', {
     extend: 'Ext.window.Window',
     alias: 'widget.proxmoxTaskViewer',
 
+    extraTitle: '', // string to prepend after the generic task title
+
+    taskDone: Ext.emptyFn,
+
     initComponent: function() {
         var me = this;
 
@@ -110,7 +118,7 @@ Ext.define('Proxmox.window.TaskViewer', {
                    }
                }
            },
-           exitstatus: { 
+           exitstatus: {
                visible: false
            },
            type: {
@@ -119,11 +127,11 @@ Ext.define('Proxmox.window.TaskViewer', {
            },
            user: {
                header: gettext('User name'),
-               required: true 
+               required: true
            },
            node: {
                header: gettext('Node'),
-               required: true 
+               required: true
            },
            pid: {
                header: gettext('Process ID'),
@@ -131,7 +139,7 @@ Ext.define('Proxmox.window.TaskViewer', {
            },
            starttime: {
                header: gettext('Start Time'),
-               required: true, 
+               required: true,
                renderer: Proxmox.Utils.render_timestamp
            },
            upid: {
@@ -145,7 +153,7 @@ Ext.define('Proxmox.window.TaskViewer', {
            rows: rows
        });
 
-       me.on('destroy', statstore.stopUpdate); 
+       me.on('destroy', statstore.stopUpdate);
 
        var stop_task = function() {
            Proxmox.Utils.API2Request({
@@ -188,11 +196,12 @@ Ext.define('Proxmox.window.TaskViewer', {
 
        me.mon(statstore, 'load', function() {
            var status = statgrid.getObjectValue('status');
-           
+
            if (status === 'stopped') {
-               logView.requestUpdate(undefined, true);
                logView.scrollToEnd = false;
+               logView.requestUpdate();
                statstore.stopUpdate();
+               me.taskDone(statgrid.getObjectValue('exitstatus') == 'OK');
            }
 
            stop_btn1.setDisabled(status !== 'running');
@@ -202,7 +211,7 @@ Ext.define('Proxmox.window.TaskViewer', {
        statstore.startUpdate();
 
        Ext.apply(me, {
-           title: "Task viewer: " + task.desc,
+           title: "Task viewer: " + task.desc + me.extraTitle,
            width: 800,
            height: 400,
            layout: 'fit',