mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-07 16:47:46 +00:00
create and use BackupView
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
13d7dfccee
commit
1665b8402c
@ -234,6 +234,7 @@ JSSRC= \
|
|||||||
sdn/zones/SimpleEdit.js \
|
sdn/zones/SimpleEdit.js \
|
||||||
sdn/zones/VlanEdit.js \
|
sdn/zones/VlanEdit.js \
|
||||||
sdn/zones/VxlanEdit.js \
|
sdn/zones/VxlanEdit.js \
|
||||||
|
storage/BackupView.js \
|
||||||
storage/Base.js \
|
storage/Base.js \
|
||||||
storage/Browser.js \
|
storage/Browser.js \
|
||||||
storage/CIFSEdit.js \
|
storage/CIFSEdit.js \
|
||||||
|
80
www/manager6/storage/BackupView.js
Normal file
80
www/manager6/storage/BackupView.js
Normal file
@ -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();
|
||||||
|
},
|
||||||
|
});
|
@ -51,13 +51,10 @@ Ext.define('PVE.storage.Browser', {
|
|||||||
|
|
||||||
if (contents.includes('backup')) {
|
if (contents.includes('backup')) {
|
||||||
items.push({
|
items.push({
|
||||||
xtype: 'pveStorageContentView',
|
xtype: 'pveStorageBackupView',
|
||||||
title: gettext('Backups'),
|
title: gettext('Backups'),
|
||||||
iconCls: 'fa fa-floppy-o',
|
iconCls: 'fa fa-floppy-o',
|
||||||
itemId: 'contentBackup',
|
itemId: 'contentBackup',
|
||||||
content: 'backup',
|
|
||||||
stateful: true,
|
|
||||||
stateId: 'grid-storage-content-backup',
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (contents.includes('images')) {
|
if (contents.includes('images')) {
|
||||||
|
@ -344,53 +344,8 @@ Ext.define('PVE.storage.ContentView', {
|
|||||||
me.tbar.push(uploadButton);
|
me.tbar.push(uploadButton);
|
||||||
}
|
}
|
||||||
me.tbar.push(
|
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,
|
removeButton,
|
||||||
imageRemoveButton,
|
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') + ':', ' ',
|
gettext('Search') + ':', ' ',
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user