ui: tape/BackupOverview: move restore buttons inline
instead of having them in the toolbar. This makes the UI more consistent with the datastore content view. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
00a5072ad3
commit
4db4b9706c
@ -16,58 +16,30 @@ Ext.define('PBS.TapeManagement.BackupOverview', {
|
|||||||
}).show();
|
}).show();
|
||||||
},
|
},
|
||||||
|
|
||||||
restoreSingle: function(button, record) {
|
restore: function(view, rI, cI, item, e, rec) {
|
||||||
let me = this;
|
let me = this;
|
||||||
let view = me.getView();
|
|
||||||
let selection = view.getSelection();
|
|
||||||
if (!selection || selection.length < 1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let node = selection[0];
|
let node = rec;
|
||||||
if (node.data.restoreid === undefined) {
|
let mediaset = node.data.is_media_set ? node.data.text : node.data['media-set'];
|
||||||
return;
|
|
||||||
}
|
|
||||||
let restoreid = node.data.restoreid;
|
|
||||||
let mediaset = node.data['media-set'];
|
|
||||||
let uuid = node.data['media-set-uuid'];
|
let uuid = node.data['media-set-uuid'];
|
||||||
let datastores = [node.data.store];
|
|
||||||
|
|
||||||
Ext.create('PBS.TapeManagement.TapeRestoreWindow', {
|
let list;
|
||||||
mediaset,
|
let datastores;
|
||||||
uuid,
|
if (node.data.restoreid !== undefined) {
|
||||||
list: [
|
list = [node.data.restoreid];
|
||||||
restoreid,
|
datastores = [node.data.store];
|
||||||
],
|
} else {
|
||||||
datastores,
|
|
||||||
listeners: {
|
|
||||||
destroy: function() {
|
|
||||||
me.reload();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}).show();
|
|
||||||
},
|
|
||||||
|
|
||||||
restore: function(button, record) {
|
|
||||||
let me = this;
|
|
||||||
let view = me.getView();
|
|
||||||
let selection = view.getSelection();
|
|
||||||
if (!selection || selection.length < 1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let node = selection[0];
|
|
||||||
let mediaset = node.data.text;
|
|
||||||
let uuid = node.data['media-set-uuid'];
|
|
||||||
let datastores = node.data.datastores;
|
|
||||||
while (!datastores && node.get('depth') > 2) {
|
|
||||||
node = node.parentNode;
|
|
||||||
datastores = node.data.datastores;
|
datastores = node.data.datastores;
|
||||||
|
while (!datastores && node.get('depth') > 2) {
|
||||||
|
node = node.parentNode;
|
||||||
|
datastores = node.data.datastores;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Ext.create('PBS.TapeManagement.TapeRestoreWindow', {
|
Ext.create('PBS.TapeManagement.TapeRestoreWindow', {
|
||||||
mediaset,
|
mediaset,
|
||||||
uuid,
|
uuid,
|
||||||
datastores,
|
datastores,
|
||||||
|
list,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
me.reload();
|
me.reload();
|
||||||
@ -99,6 +71,7 @@ Ext.define('PBS.TapeManagement.BackupOverview', {
|
|||||||
if (data[pool][media_set] === undefined) {
|
if (data[pool][media_set] === undefined) {
|
||||||
data[pool][media_set] = entry;
|
data[pool][media_set] = entry;
|
||||||
data[pool][media_set].text = media_set;
|
data[pool][media_set].text = media_set;
|
||||||
|
data[pool][media_set].restore =true;
|
||||||
data[pool][media_set].tapes = 1;
|
data[pool][media_set].tapes = 1;
|
||||||
data[pool][media_set]['seq-nr'] = undefined;
|
data[pool][media_set]['seq-nr'] = undefined;
|
||||||
data[pool][media_set].is_media_set = true;
|
data[pool][media_set].is_media_set = true;
|
||||||
@ -180,6 +153,7 @@ Ext.define('PBS.TapeManagement.BackupOverview', {
|
|||||||
|
|
||||||
for (let entry of list.result.data) {
|
for (let entry of list.result.data) {
|
||||||
entry.text = entry.snapshot;
|
entry.text = entry.snapshot;
|
||||||
|
entry.restore = true;
|
||||||
entry.leaf = true;
|
entry.leaf = true;
|
||||||
entry.children = [];
|
entry.children = [];
|
||||||
entry['media-set'] = media_set;
|
entry['media-set'] = media_set;
|
||||||
@ -289,22 +263,6 @@ Ext.define('PBS.TapeManagement.BackupOverview', {
|
|||||||
text: gettext('New Backup'),
|
text: gettext('New Backup'),
|
||||||
handler: 'backup',
|
handler: 'backup',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
xtype: 'proxmoxButton',
|
|
||||||
disabled: true,
|
|
||||||
text: gettext('Restore Media Set'),
|
|
||||||
handler: 'restore',
|
|
||||||
parentXType: 'treepanel',
|
|
||||||
enableFn: (rec) => !!rec.data['media-set-uuid'],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
xtype: 'proxmoxButton',
|
|
||||||
disabled: true,
|
|
||||||
text: gettext('Restore Snapshot'),
|
|
||||||
handler: 'restoreSingle',
|
|
||||||
parentXType: 'treepanel',
|
|
||||||
enableFn: (rec) => !!rec.data.restoreid,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
|
|
||||||
columns: [
|
columns: [
|
||||||
@ -315,6 +273,18 @@ Ext.define('PBS.TapeManagement.BackupOverview', {
|
|||||||
sortable: false,
|
sortable: false,
|
||||||
flex: 3,
|
flex: 3,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
header: gettext('Actions'),
|
||||||
|
xtype: 'actioncolumn',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
handler: 'restore',
|
||||||
|
tooltip: gettext('Restore'),
|
||||||
|
getClass: (v, m, rec) => rec.data.restore ? 'fa fa-fw fa-undo' : 'pmx-hidden',
|
||||||
|
isDisabled: (v, r, c, i, rec) => !rec.data.restore,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: gettext('Tapes'),
|
text: gettext('Tapes'),
|
||||||
dataIndex: 'tapes',
|
dataIndex: 'tapes',
|
||||||
|
Loading…
Reference in New Issue
Block a user