Signed-off-by: Fabian Ebner <[email protected]>
---
 www/manager6/Makefile               |  1 +
 www/manager6/storage/BackupView.js  | 80 +++++++++++++++++++++++++++++
 www/manager6/storage/Browser.js     |  5 +-
 www/manager6/storage/ContentView.js | 45 ----------------
 4 files changed, 82 insertions(+), 49 deletions(-)
 create mode 100644 www/manager6/storage/BackupView.js

diff --git a/www/manager6/Makefile b/www/manager6/Makefile
index cece0aae..26c91bef 100644
--- a/www/manager6/Makefile
+++ b/www/manager6/Makefile
@@ -217,6 +217,7 @@ JSSRC=                                                      
\
        sdn/zones/SimpleEdit.js                         \
        sdn/zones/VlanEdit.js                           \
        sdn/zones/VxlanEdit.js                          \
+       storage/BackupView.js                           \
        storage/Base.js                                 \
        storage/Browser.js                              \
        storage/CIFSEdit.js                             \
diff --git a/www/manager6/storage/BackupView.js 
b/www/manager6/storage/BackupView.js
new file mode 100644
index 00000000..57312f8f
--- /dev/null
+++ b/www/manager6/storage/BackupView.js
@@ -0,0 +1,80 @@
+Ext.define('PVE.storage.BackupView', {
+    extend: 'PVE.storage.ContentView',
+
+    alias: 'widget.pveStorageBackupView',
+
+    stateful: true,
+    stateId: 'grid-storage-content-backup',
+
+    initComponent: function() {
+       var me = this;
+
+       var nodename = me.nodename = me.pveSelNode.data.node;
+       if (!nodename) {
+           throw "no node name specified";
+       }
+
+       var storage = me.storage = me.pveSelNode.data.storage;
+       if (!storage) {
+           throw "no storage ID specified";
+       }
+
+       me.content = 'backup';
+
+       var sm = me.sm = Ext.create('Ext.selection.RowModel', {});
+
+       var reload = function() {
+           me.store.load();
+       };
+
+       me.tbar = [
+           {
+               xtype: 'proxmoxButton',
+               text: gettext('Restore'),
+               selModel: sm,
+               disabled: true,
+               enableFn: function(rec) {
+                   return rec && rec.data.content === 'backup';
+               },
+               handler: function(b, e, rec) {
+                   var vmtype;
+                   if (PVE.Utils.volume_is_qemu_backup(rec.data.volid, 
rec.data.format)) {
+                       vmtype = 'qemu';
+                   } else if (PVE.Utils.volume_is_lxc_backup(rec.data.volid, 
rec.data.format)) {
+                       vmtype = 'lxc';
+                   } else {
+                       return;
+                   }
+
+                   var win = Ext.create('PVE.window.Restore', {
+                       nodename: nodename,
+                       volid: rec.data.volid,
+                       volidText: 
PVE.Utils.render_storage_content(rec.data.volid, {}, rec),
+                       vmtype: vmtype
+                   });
+                   win.show();
+                   win.on('destroy', reload);
+               }
+           },
+           {
+               xtype: 'proxmoxButton',
+               text: gettext('Show Configuration'),
+               disabled: true,
+               selModel: sm,
+               enableFn: function(rec) {
+                   return rec && rec.data.content === 'backup';
+               },
+               handler: function(b,e,rec) {
+                   var win = Ext.create('PVE.window.BackupConfig', {
+                       volume: rec.data.volid,
+                       pveSelNode: me.pveSelNode
+                   });
+
+                   win.show();
+               }
+           },
+       ];
+
+       me.callParent();
+    },
+});
diff --git a/www/manager6/storage/Browser.js b/www/manager6/storage/Browser.js
index 468adae1..53d8828c 100644
--- a/www/manager6/storage/Browser.js
+++ b/www/manager6/storage/Browser.js
@@ -51,13 +51,10 @@ Ext.define('PVE.storage.Browser', {
 
                    if (contents.includes('backup')) {
                        items.push({
-                           xtype: 'pveStorageContentView',
+                           xtype: 'pveStorageBackupView',
                            title: gettext('Backups'),
                            iconCls: 'fa fa-floppy-o',
                            itemId: 'contentBackup',
-                           content: 'backup',
-                           stateful: true,
-                           stateId: 'grid-storage-content-backup',
                        });
                    }
                    if (contents.includes('images')) {
diff --git a/www/manager6/storage/ContentView.js 
b/www/manager6/storage/ContentView.js
index 5f84789e..542b07f7 100644
--- a/www/manager6/storage/ContentView.js
+++ b/www/manager6/storage/ContentView.js
@@ -344,53 +344,8 @@ Ext.define('PVE.storage.ContentView', {
            me.tbar.push(uploadButton);
        }
        me.tbar.push(
-           {
-               xtype: 'proxmoxButton',
-               text: gettext('Restore'),
-               selModel: sm,
-               disabled: true,
-               enableFn: function(rec) {
-                   return rec && rec.data.content === 'backup';
-               },
-               handler: function(b, e, rec) {
-                   var vmtype;
-                   if (PVE.Utils.volume_is_qemu_backup(rec.data.volid, 
rec.data.format)) {
-                       vmtype = 'qemu';
-                   } else if (PVE.Utils.volume_is_lxc_backup(rec.data.volid, 
rec.data.format)) {
-                       vmtype = 'lxc';
-                   } else {
-                       return;
-                   }
-
-                   var win = Ext.create('PVE.window.Restore', {
-                       nodename: nodename,
-                       volid: rec.data.volid,
-                       volidText: 
PVE.Utils.render_storage_content(rec.data.volid, {}, rec),
-                       vmtype: vmtype
-                   });
-                   win.show();
-                   win.on('destroy', reload);
-               }
-           },
            removeButton,
            imageRemoveButton,
-           {
-               xtype: 'proxmoxButton',
-               text: gettext('Show Configuration'),
-               disabled: true,
-               selModel: sm,
-               enableFn: function(rec) {
-                   return rec && rec.data.content === 'backup';
-               },
-               handler: function(b,e,rec) {
-                   var win = Ext.create('PVE.window.BackupConfig', {
-                       volume: rec.data.volid,
-                       pveSelNode: me.pveSelNode
-                   });
-
-                   win.show();
-               }
-           },
            '->',
            gettext('Search') + ':', ' ',
            {
-- 
2.20.1



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to