]> git.proxmox.com Git - pve-manager.git/commitdiff
use TaskViewer & TaskProgress window from widget toolkit
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 6 Dec 2017 17:30:16 +0000 (18:30 +0100)
committerDominik Csapak <d.csapak@proxmox.com>
Thu, 25 Jan 2018 12:36:38 +0000 (13:36 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
19 files changed:
www/manager6/Makefile
www/manager6/ceph/Monitor.js
www/manager6/ceph/OSD.js
www/manager6/dc/Tasks.js
www/manager6/lxc/CreateWizard.js
www/manager6/lxc/MPResize.js
www/manager6/lxc/Snapshot.js
www/manager6/lxc/SnapshotTree.js
www/manager6/node/Disks.js
www/manager6/qemu/HDMove.js
www/manager6/qemu/Snapshot.js
www/manager6/qemu/SnapshotTree.js
www/manager6/storage/ContentView.js
www/manager6/window/Backup.js
www/manager6/window/BulkAction.js
www/manager6/window/Migrate.js
www/manager6/window/Restore.js
www/manager6/window/SafeDestroy.js
www/manager6/window/TaskViewer.js [deleted file]

index 0278396f9736277d2c0d9dae2d9c2c7e06024b3a..350711e36fea8c567e3dfa99e0e81cd74aac9013 100644 (file)
@@ -75,7 +75,6 @@ JSSRC=                                                        \
        panel/GaugeWidget.js                            \
        panel/HealthWidget.js                           \
        window/LoginWindow.js                           \
-       window/TaskViewer.js                            \
        window/Wizard.js                                \
        window/NotesEdit.js                             \
        window/Backup.js                                \
index 549fd315014547d3bf42a5e4aa6220d6ebd6707c..27ff3d027670af41c4e594ae8e8c37f13bc2f7a9 100644 (file)
@@ -96,7 +96,7 @@ Ext.define('PVE.node.CephMonList', {
                params: { service: "mon." + rec.data.name },
                success: function(response, options) {
                    var upid = response.result.data;
-                   var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                   var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                    win.show();
                },
                failure: function(response, opts) {
@@ -151,7 +151,7 @@ Ext.define('PVE.node.CephMonList', {
                    method: 'DELETE',
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                       var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                        win.show();
                    },
                    failure: function(response, opts) {
index c860e05f1e623bc3e7a82d7f96b1831a61bbcda0..24d984962f9c8e761dfbe58d31c43c0c6e0c9a7b 100644 (file)
@@ -403,7 +403,7 @@ Ext.define('PVE.node.CephOsdTree', {
                method: 'POST',
                success: function(response, options) {
                    var upid = response.result.data;
-                   var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                   var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                    win.show();
                    me.mon(win, 'close', reload, me);
                },
index d290573d4a762f94b6b677232ccf8b47a00d93fb..c38860ba41e014500da7acc1d7ce7cc1498cfa6e 100644 (file)
@@ -43,7 +43,7 @@ Ext.define('PVE.dc.Tasks', {
                return;
            }
 
-           var win = Ext.create('PVE.window.TaskViewer', { 
+           var win = Ext.create('Proxmox.window.TaskViewer', {
                upid: rec.data.upid
            });
            win.show();
index 70deaaafd8c5f4d5e84835d5ccc7f123ae40f18e..5b069317a5c0075a11cdf13a92a4ccb219d92812 100644 (file)
@@ -320,7 +320,7 @@ Ext.define('PVE.lxc.CreateWizard', {
                            success: function(response, opts){
                                var upid = response.result.data;
 
-                               var win = Ext.create('PVE.window.TaskViewer', {
+                               var win = Ext.create('Proxmox.window.TaskViewer', {
                                    upid: upid
                                });
                                win.show();
index 7918e819d85d2277f55f04ddd346b0ea55fbbe6f..74139237b48654d9c23ef6d3edd0cbfbbe49cceb 100644 (file)
@@ -17,7 +17,7 @@ Ext.define('PVE.window.MPResize', {
            },
            success: function(response, opts) {
                var upid = response.result.data;
-               var win = Ext.create('PVE.window.TaskViewer', { upid: upid });
+               var win = Ext.create('Proxmox.window.TaskViewer', { upid: upid });
                win.show();
                me.close();
            }
index b81d32558a541945f722c074d3473f637cc109fc..bdb99018303d0e8b75db845448c102ee673ea716 100644 (file)
@@ -26,7 +26,7 @@ Ext.define('PVE.window.LxcSnapshot', {
            },
            success: function(response, options) {
                var upid = response.result.data;
-               var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+               var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                win.show();
                me.close();
            }
index 993ce50761a5803c98d1cdd1d2555e41614a48e4..4996e2e31e55d96cf704fd241193d6b517588e16 100644 (file)
@@ -181,7 +181,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
                    },
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                       var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                        win.show();
                    }
                });
@@ -217,7 +217,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
                    },
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                       var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                        win.show();
                    }
                });
index db28e19dc5eacdcd341b377409977ac7c8503587..8e79dc8420d773c360ae66324bcf1d744f9f8642 100644 (file)
@@ -204,7 +204,7 @@ Ext.define('PVE.node.DiskList', {
                    },
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', {
+                       var win = Ext.create('Proxmox.window.TaskProgress', {
                            upid: upid
                        });
                        win.show();
index fc9fd442fe781cfbe082bf060c14551a8aa8ac1f..29d3e1b880b6f5a398be85c11c86acfebdf68d8c 100644 (file)
@@ -27,7 +27,7 @@ Ext.define('PVE.window.HDMove', {
            },
            success: function(response, options) {
                var upid = response.result.data;
-               var win = Ext.create('PVE.window.TaskViewer', { upid: upid });
+               var win = Ext.create('Proxmox.window.TaskViewer', { upid: upid });
                win.show();
                me.close();
            }
index 2ee3c1bf95a074a8d92c21ef8751827c77f3db3c..59fae1a2344166d16ae7452f6c896884ff15dca4 100644 (file)
@@ -26,7 +26,7 @@ Ext.define('PVE.window.Snapshot', {
            },
            success: function(response, options) {
                var upid = response.result.data;
-               var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+               var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                win.show();
                me.close();
            }
index 409f60a6cbe6ff56ef5b59824c9ff6a178e9a6a3..9b7c1fb6d9f48469ed26dfd54a64279d73a2f8d3 100644 (file)
@@ -179,7 +179,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
                    },
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                       var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                        win.show();
                    }
                });
@@ -215,7 +215,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
                    },
                    success: function(response, options) {
                        var upid = response.result.data;
-                       var win = Ext.create('PVE.window.TaskProgress', { upid: upid });
+                       var win = Ext.create('Proxmox.window.TaskProgress', { upid: upid });
                        win.show();
                    }
                });
index 7811c85713e0f112b57c67bd2b0b173bb74948b7..81563b4d4b2af64f0fa9c6f065c8eda4b17b4813 100644 (file)
@@ -124,7 +124,7 @@ Ext.define('PVE.storage.TemplateDownload', {
                    success: function(response, options) {
                        var upid = response.result.data;
 
-                       Ext.create('PVE.window.TaskViewer', {
+                       Ext.create('Proxmox.window.TaskViewer', {
                            upid: upid,
                            listeners: {
                                destroy: me.reloadGrid
index b85544f577d1fb1d75a813591708d96164f8de94..163c85a83a14f9f26f5e0c8b2681767f5787172a 100644 (file)
@@ -93,7 +93,7 @@ Ext.define('PVE.window.Backup', {
 
                        var upid = response.result.data;
                        
-                       var win = Ext.create('PVE.window.TaskViewer', { 
+                       var win = Ext.create('Proxmox.window.TaskViewer', {
                            upid: upid,
                            listeners: {
                                close: function() {
index 41344e3fd8452dfe3028f673dd74dfebd88cd5e3..7a18e4c9ba2c46eb173c67edceacd8ea5cdd49f5 100644 (file)
@@ -29,7 +29,7 @@ Ext.define('PVE.window.BulkAction', {
            success: function(response, options) {
                var upid = response.result.data;
 
-               var win = Ext.create('PVE.window.TaskViewer', {
+               var win = Ext.create('Proxmox.window.TaskViewer', {
                    upid: upid
                });
                win.show();
index c4bcb9221d08b4beb00e7fd49bd40ab335e444da..be4f667662a260f6316344255086899b65820551 100644 (file)
@@ -43,7 +43,7 @@ Ext.define('PVE.window.Migrate', {
                            var upid = response.result.data;
                            var extraTitle = Ext.String.format(' ({0} ---> {1})', view.nodename, params.target);
 
-                           Ext.create('PVE.window.TaskViewer', {
+                           Ext.create('Proxmox.window.TaskViewer', {
                                upid: upid,
                                extraTitle: extraTitle
                            }).show();
index 9a65da403fd2e208ba3928a6f4f0e8eb88435ddc..14969f0982693674f1d5f019ad8e6904bf65ace4 100644 (file)
@@ -86,7 +86,7 @@ Ext.define('PVE.window.Restore', {
                success: function(response, options) {
                    var upid = response.result.data;
                    
-                   var win = Ext.create('PVE.window.TaskViewer', { 
+                   var win = Ext.create('Proxmox.window.TaskViewer', {
                        upid: upid
                    });
                    win.show();
index 70654aef2f6b6986b21deaa9f1a9da833916bcef..f89d0fa75c24f0052ca613426caabc3429398e72 100644 (file)
@@ -75,7 +75,7 @@ Ext.define('PVE.window.SafeDestroy', {
                                view.hide();
 
                                var upid = response.result.data;
-                               var win = Ext.create('PVE.window.TaskProgress', {
+                               var win = Ext.create('Proxmox.window.TaskProgress', {
                                    upid: upid,
                                    listeners: {
                                        destroy: function () {
diff --git a/www/manager6/window/TaskViewer.js b/www/manager6/window/TaskViewer.js
deleted file mode 100644 (file)
index fe097a9..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-Ext.define('PVE.window.TaskProgress', {
-    extend: 'Ext.window.Window',
-    alias: 'widget.pveTaskProgress',
-
-    initComponent: function() {
-        var me = this;
-
-       if (!me.upid) {
-           throw "no task specified";
-       }
-
-       var task = Proxmox.Utils.parse_task_upid(me.upid);
-
-       var statstore = Ext.create('PVE.data.ObjectStore', {
-            url: "/api2/json/nodes/" + task.node + "/tasks/" + me.upid + "/status",
-           interval: 1000,
-           rows: {
-               status: { defaultValue: 'unknown' },
-               exitstatus: { defaultValue: 'unknown' }
-           }
-       });
-
-       me.on('destroy', statstore.stopUpdate); 
-
-       var getObjectValue = function(key, defaultValue) {
-           var rec = statstore.getById(key);
-           if (rec) {
-               return rec.data.value;
-           }
-           return defaultValue;
-       };
-
-       var pbar = Ext.create('Ext.ProgressBar', { text: 'running...' });
-
-       me.mon(statstore, 'load', function() {
-           var status = getObjectValue('status');
-           if (status === 'stopped') {
-               var exitstatus = getObjectValue('exitstatus');
-               if (exitstatus == 'OK') {
-                   pbar.reset();
-                   pbar.updateText("Done!");
-                   Ext.Function.defer(me.close, 1000, me);
-               } else {
-                   me.close();
-                   Ext.Msg.alert('Task failed', exitstatus);
-               }
-           }
-       });
-
-       var descr = Proxmox.Utils.format_task_description(task.type, task.id);
-
-       Ext.apply(me, {
-           title: "Task: " + descr,
-           width: 300,
-           layout: 'auto',
-           modal: true,
-           bodyPadding: 5,
-           items: pbar,
-           buttons: [
-               { 
-                   text: gettext('Details'),
-                   handler: function() {                       
-                       var win = Ext.create('PVE.window.TaskViewer', { 
-                           upid: me.upid
-                       });
-                       win.show();
-                       me.close();
-                   }
-               }
-           ]
-       });
-
-       me.callParent();
-
-       statstore.startUpdate();
-
-       pbar.wait();
-    }
-});
-
-// fixme: how can we avoid those lint errors?
-/*jslint confusion: true */
-
-Ext.define('PVE.window.TaskViewer', {
-    extend: 'Ext.window.Window',
-    alias: 'widget.pveTaskViewer',
-    extraTitle: '', // string to prepend after the generic task title
-
-    initComponent: function() {
-        var me = this;
-
-       if (!me.upid) {
-           throw "no task specified";
-       }
-
-       var task = Proxmox.Utils.parse_task_upid(me.upid);
-
-       var statgrid;
-
-       var rows = {
-           status: {
-               header: gettext('Status'),
-               defaultValue: 'unknown',
-               renderer: function(value) {
-                   if (value != 'stopped') {
-                       return value;
-                   }
-                   var es = statgrid.getObjectValue('exitstatus');
-                   if (es) {
-                       return value + ': ' + es;
-                   }
-               }
-           },
-           exitstatus: { 
-               visible: false
-           },
-           type: {
-               header: gettext('Task type'),
-               required: true
-           },
-           user: {
-               header: gettext('User name'),
-               required: true 
-           },
-           node: {
-               header: gettext('Node'),
-               required: true 
-           },
-           pid: {
-               header: gettext('Process ID'),
-               required: true
-           },
-           starttime: {
-               header: gettext('Start Time'),
-               required: true, 
-               renderer: Proxmox.Utils.render_timestamp
-           },
-           upid: {
-               header: gettext('Unique task ID')
-           }
-       };
-
-       var statstore = Ext.create('PVE.data.ObjectStore', {
-            url: "/api2/json/nodes/" + task.node + "/tasks/" + me.upid + "/status",
-           interval: 1000,
-           rows: rows
-       });
-
-       me.on('destroy', statstore.stopUpdate); 
-
-       var stop_task = function() {
-           Proxmox.Utils.API2Request({
-               url: "/nodes/" + task.node + "/tasks/" + me.upid,
-               waitMsgTarget: me,
-               method: 'DELETE',
-               failure: function(response, opts) {
-                   Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-               }
-           });
-       };
-
-       var stop_btn1 = new Ext.Button({
-           text: gettext('Stop'),
-           disabled: true,
-           handler: stop_task
-       });
-
-       var stop_btn2 = new Ext.Button({
-           text: gettext('Stop'),
-           disabled: true,
-           handler: stop_task
-       });
-
-       statgrid = Ext.create('Proxmox.grid.ObjectGrid', {
-           title: gettext('Status'),
-           layout: 'fit',
-           tbar: [ stop_btn1 ],
-           rstore: statstore,
-           rows: rows,
-           border: false
-       });
-
-       var logView = Ext.create('PVE.panel.LogView', {
-           title: gettext('Output'),
-           tbar: [ stop_btn2 ],
-           border: false,
-           url: "/api2/extjs/nodes/" + task.node + "/tasks/" + me.upid + "/log"
-       });
-
-       me.mon(statstore, 'load', function() {
-           var status = statgrid.getObjectValue('status');
-           
-           if (status === 'stopped') {
-               logView.requestUpdate(undefined, true);
-               logView.scrollToEnd = false;
-               statstore.stopUpdate();
-           }
-
-           stop_btn1.setDisabled(status !== 'running');
-           stop_btn2.setDisabled(status !== 'running');
-       });
-
-       statstore.startUpdate();
-
-       Ext.apply(me, {
-           title: "Task viewer: " + task.desc + me.extraTitle,
-           width: 800,
-           height: 400,
-           layout: 'fit',
-           modal: true,
-           items: [{
-               xtype: 'tabpanel',
-               region: 'center',
-               items: [ logView, statgrid ]
-           }]
-        });
-
-       me.callParent();
-
-       logView.fireEvent('show', logView);
-    }
-});
-