]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - window/TaskViewer.js
task view, progress: add taskDone callback
[proxmox-widget-toolkit.git] / window / TaskViewer.js
index 597404ffbe08fa82f292e6e4a67b1fa36935b640..39f42ad39b5b1aab618d20a1b45c252877ba5d68 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;
 
@@ -44,14 +46,14 @@ Ext.define('Proxmox.window.TaskProgress', {
                    me.close();
                    Ext.Msg.alert('Task failed', exitstatus);
                }
+               me.taskDone(exitstatus == 'OK');
            }
        });
 
-       // fixme: ??
-       //var descr = Proxmox.Utils.format_task_description(task.type, task.id);
+       var descr = Proxmox.Utils.format_task_description(task.type, task.id);
 
        Ext.apply(me, {
-           title: "Task: " + me.upid,
+           title: gettext('Task') + ': ' + descr,
            width: 300,
            layout: 'auto',
            modal: true,
@@ -62,6 +64,7 @@ Ext.define('Proxmox.window.TaskProgress', {
                    text: gettext('Details'),
                    handler: function() {                       
                        var win = Ext.create('Proxmox.window.TaskViewer', { 
+                           taskDone: me.taskDone,
                            upid: me.upid
                        });
                        win.show();
@@ -86,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;
 
@@ -194,6 +201,7 @@ Ext.define('Proxmox.window.TaskViewer', {
                logView.requestUpdate(undefined, true);
                logView.scrollToEnd = false;
                statstore.stopUpdate();
+               me.taskDone(statgrid.getObjectValue('exitstatus') == 'OK');
            }
 
            stop_btn1.setDisabled(status !== 'running');
@@ -203,8 +211,7 @@ Ext.define('Proxmox.window.TaskViewer', {
        statstore.startUpdate();
 
        Ext.apply(me, {
-           // fixme: better title
-           title: "Task viewer: " + me.upid,
+           title: "Task viewer: " + task.desc + me.extraTitle,
            width: 800,
            height: 400,
            layout: 'fit',