mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-08-14 14:32:37 +00:00
use Proxmox.button.StdRemoveButton where possible
most 'Remove' buttons we have used the same code pattern over and over, with the StdRemoveButton we have a component which does all of this for us Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
1774f14804
commit
3b1ca3ff5d
@ -46,31 +46,14 @@ Ext.define('PVE.dc.AuthView', {
|
|||||||
handler: run_editor
|
handler: run_editor
|
||||||
});
|
});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
baseurl: '/access/domains/',
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
confirmMsg: function (rec) {
|
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
|
||||||
"'" + rec.data.realm + "'");
|
|
||||||
},
|
|
||||||
enableFn: function(rec) {
|
enableFn: function(rec) {
|
||||||
return !(rec.data.type === 'pve' || rec.data.type === 'pam');
|
return !(rec.data.type === 'pve' || rec.data.type === 'pam');
|
||||||
},
|
},
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
var realm = rec.data.realm;
|
|
||||||
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/access/domains/' + realm,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -362,23 +362,11 @@ Ext.define('PVE.dc.BackupView', {
|
|||||||
handler: run_editor
|
handler: run_editor
|
||||||
});
|
});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
confirmMsg: gettext('Are you sure you want to remove this entry'),
|
baseurl: '/cluster/backup',
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/cluster/backup/' + rec.data.id,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -25,27 +25,12 @@ Ext.define('PVE.dc.GroupView', {
|
|||||||
|
|
||||||
var sm = Ext.create('Ext.selection.RowModel', {});
|
var sm = Ext.create('Ext.selection.RowModel', {});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
confirmMsg: function (rec) {
|
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
|
||||||
"'" + rec.data.groupid + "'");
|
|
||||||
},
|
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/access/groups/' + rec.data.groupid,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
},
|
||||||
failure: function (response, opts) {
|
baseurl: '/access/groups/'
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var run_editor = function() {
|
var run_editor = function() {
|
||||||
|
@ -25,26 +25,11 @@ Ext.define('PVE.dc.PoolView', {
|
|||||||
|
|
||||||
var sm = Ext.create('Ext.selection.RowModel', {});
|
var sm = Ext.create('Ext.selection.RowModel', {});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
confirmMsg: function (rec) {
|
baseurl: '/pools/',
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
callback: function () {
|
||||||
"'" + rec.data.poolid + "'");
|
|
||||||
},
|
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/pools/' + rec.data.poolid,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -149,24 +149,14 @@ Ext.define('PVE.SecurityGroupList', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.removeBtn = new PVE.button.Button({
|
me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
baseurl: me.base_url + '/',
|
||||||
handler: function() {
|
enableFn: function(rec) {
|
||||||
var rec = sm.getSelection()[0];
|
return (rec && me.base_url);
|
||||||
if (!rec || !me.base_url) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: me.base_url + '/' + rec.data.group,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, options) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
},
|
},
|
||||||
callback: reload
|
callback: function() {
|
||||||
});
|
reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -77,26 +77,11 @@ Ext.define('PVE.dc.StorageView', {
|
|||||||
handler: run_editor
|
handler: run_editor
|
||||||
});
|
});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
confirmMsg: function (rec) {
|
baseurl: '/storage/',
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
|
||||||
"'" + rec.data.storage + "'");
|
|
||||||
},
|
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/storage/' + rec.data.storage,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -81,34 +81,17 @@ Ext.define('PVE.dc.UserView', {
|
|||||||
|
|
||||||
var sm = Ext.create('Ext.selection.RowModel', {});
|
var sm = Ext.create('Ext.selection.RowModel', {});
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
|
baseurl: '/access/users/',
|
||||||
enableFn: function(rec) {
|
enableFn: function(rec) {
|
||||||
if (!caps.access['User.Modify']) {
|
if (!caps.access['User.Modify']) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return rec.data.userid !== 'root@pam';
|
return rec.data.userid !== 'root@pam';
|
||||||
},
|
},
|
||||||
confirmMsg: function (rec) {
|
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
|
||||||
"'" + rec.data.userid + "'");
|
|
||||||
},
|
|
||||||
handler: function(btn, event, rec) {
|
|
||||||
var userid = rec.data.userid;
|
|
||||||
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/access/users/' + userid,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -156,9 +156,7 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var delete_btn = Ext.create('PVE.button.Button', {
|
var delete_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
dangerous: true,
|
dangerous: true,
|
||||||
confirmMsg: function(rec) {
|
confirmMsg: function(rec) {
|
||||||
@ -168,29 +166,14 @@ Ext.define('PVE.grid.BackupView', {
|
|||||||
|
|
||||||
return msg;
|
return msg;
|
||||||
},
|
},
|
||||||
enableFn: function(rec) {
|
getUrl: function(rec) {
|
||||||
return !!rec;
|
|
||||||
},
|
|
||||||
handler: function(b, e, rec){
|
|
||||||
var storage = storagesel.getValue();
|
var storage = storagesel.getValue();
|
||||||
if (!storage) {
|
return '/nodes/' + nodename + '/storage/' + storage + '/content/' + rec.data.volid;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var volid = rec.data.volid;
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: "/nodes/" + nodename + "/storage/" + storage + "/content/" + volid,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, opts) {
|
|
||||||
Ext.Msg.alert('Error', response.htmlStatus);
|
|
||||||
},
|
},
|
||||||
success: function(response, options) {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var config_btn = Ext.create('PVE.button.Button', {
|
var config_btn = Ext.create('PVE.button.Button', {
|
||||||
text: gettext('Show Configuration'),
|
text: gettext('Show Configuration'),
|
||||||
|
@ -152,26 +152,11 @@ Ext.define('PVE.FirewallAliases', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.removeBtn = new PVE.button.Button({
|
me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
baseurl: me.base_url + '/',
|
||||||
handler: function() {
|
|
||||||
var rec = sm.getSelection()[0];
|
|
||||||
if (!rec) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: me.base_url + '/' + rec.data.name,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, options) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
},
|
|
||||||
callback: reload
|
callback: reload
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
|
@ -408,6 +408,7 @@ Ext.define('PVE.FirewallRules', {
|
|||||||
me.store.removeAll();
|
me.store.removeAll();
|
||||||
} else {
|
} else {
|
||||||
me.addBtn.setDisabled(false);
|
me.addBtn.setDisabled(false);
|
||||||
|
me.removeBtn.baseurl = url + '/';
|
||||||
if (me.groupBtn) {
|
if (me.groupBtn) {
|
||||||
me.groupBtn.setDisabled(false);
|
me.groupBtn.setDisabled(false);
|
||||||
}
|
}
|
||||||
@ -468,26 +469,6 @@ Ext.define('PVE.FirewallRules', {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteRule: function(rule) {
|
|
||||||
var me = this;
|
|
||||||
|
|
||||||
if (!me.base_url) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: me.base_url + '/' + rule.pos.toString() +
|
|
||||||
'?digest=' + encodeURIComponent(rule.digest),
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, options) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
},
|
|
||||||
callback: function() {
|
|
||||||
me.store.load();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
initComponent: function() {
|
initComponent: function() {
|
||||||
/*jslint confusion: true */
|
/*jslint confusion: true */
|
||||||
@ -606,16 +587,17 @@ Ext.define('PVE.FirewallRules', {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
me.removeBtn = Ext.create('PVE.button.Button',{
|
me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton',{
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
baseurl: me.base_url + '/',
|
||||||
handler: function() {
|
confirmMsg: false,
|
||||||
var rec = sm.getSelection()[0];
|
getRecordName: function(rec) {
|
||||||
if (!rec) {
|
var rule = rec.data;
|
||||||
return;
|
return rule.pos.toString() +
|
||||||
}
|
'?digest=' + encodeURIComponent(rule.digest);
|
||||||
me.deleteRule(rec.data);
|
},
|
||||||
|
callback: function() {
|
||||||
|
me.store.load();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -129,6 +129,8 @@ Ext.define('PVE.window.ReplicaEdit', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*jslint confusion: true */
|
||||||
|
/* callback is a function and string */
|
||||||
Ext.define('PVE.grid.ReplicaView', {
|
Ext.define('PVE.grid.ReplicaView', {
|
||||||
extend: 'Ext.grid.Panel',
|
extend: 'Ext.grid.Panel',
|
||||||
xtype: 'pveReplicaView',
|
xtype: 'pveReplicaView',
|
||||||
@ -166,20 +168,6 @@ Ext.define('PVE.grid.ReplicaView', {
|
|||||||
win.show();
|
win.show();
|
||||||
},
|
},
|
||||||
|
|
||||||
removeJob: function(button,event,rec) {
|
|
||||||
var me = this.getView();
|
|
||||||
var controller = this;
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/api2/extjs/cluster/replication/' + rec.data.id,
|
|
||||||
waitMsgTarget: me,
|
|
||||||
method: 'DELETE',
|
|
||||||
callback: function() { controller.reload(); },
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
scheduleJobNow: function(button,event,rec) {
|
scheduleJobNow: function(button,event,rec) {
|
||||||
var me = this.getView();
|
var me = this.getView();
|
||||||
var controller = this;
|
var controller = this;
|
||||||
@ -266,16 +254,11 @@ Ext.define('PVE.grid.ReplicaView', {
|
|||||||
disabled: true
|
disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveButton',
|
xtype: 'proxmoxStdRemoveButton',
|
||||||
text: gettext('Remove'),
|
|
||||||
itemId: 'removeButton',
|
itemId: 'removeButton',
|
||||||
handler: 'removeJob',
|
baseurl: '/api2/extjs/cluster/replication/',
|
||||||
dangerous: true,
|
dangerous: true,
|
||||||
confirmMsg: function(rec) {
|
callback: 'reload'
|
||||||
var msg = Ext.String.format(gettext("Are you sure you want to remove entry {0}"), rec.id);
|
|
||||||
return msg;
|
|
||||||
},
|
|
||||||
disabled: true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveButton',
|
xtype: 'pveButton',
|
||||||
|
@ -36,24 +36,11 @@ Ext.define('PVE.ha.GroupsView', {
|
|||||||
win.show();
|
win.show();
|
||||||
};
|
};
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
handler: function(btn, event, rec) {
|
baseurl: '/cluster/ha/groups/',
|
||||||
var group = rec.data.group;
|
|
||||||
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: '/cluster/ha/groups/' + group,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -67,24 +67,15 @@ Ext.define('PVE.ha.ResourcesView', {
|
|||||||
win.show();
|
win.show();
|
||||||
};
|
};
|
||||||
|
|
||||||
var remove_btn = new PVE.button.Button({
|
var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
disabled: true,
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
handler: function(btn, event, rec) {
|
baseurl: '/cluster/ha/resources/',
|
||||||
var sid = rec.data.sid;
|
getUrl: function(rec) {
|
||||||
|
var me = this;
|
||||||
PVE.Utils.API2Request({
|
return me.baseurl + '/' + rec.get('sid');
|
||||||
url: '/cluster/ha/resources/' + sid,
|
},
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
|
||||||
failure: function (response, opts) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -129,26 +129,11 @@ Ext.define('PVE.IPSetList', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.removeBtn = new PVE.button.Button({
|
me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
baseurl: me.base_url + '/',
|
||||||
handler: function() {
|
|
||||||
var rec = sm.getSelection()[0];
|
|
||||||
if (!rec || !me.base_url) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: me.base_url + '/' + rec.data.name,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, options) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
},
|
|
||||||
callback: reload
|
callback: reload
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Ext.apply(me, {
|
Ext.apply(me, {
|
||||||
store: store,
|
store: store,
|
||||||
@ -287,6 +272,7 @@ Ext.define('PVE.IPSetGrid', {
|
|||||||
me.store.removeAll();
|
me.store.removeAll();
|
||||||
} else {
|
} else {
|
||||||
me.addBtn.setDisabled(false);
|
me.addBtn.setDisabled(false);
|
||||||
|
me.removeBtn.baseurl = url + '/';
|
||||||
me.store.setProxy({
|
me.store.setProxy({
|
||||||
type: 'pve',
|
type: 'pve',
|
||||||
url: '/api2/json' + url
|
url: '/api2/json' + url
|
||||||
@ -350,27 +336,11 @@ Ext.define('PVE.IPSetGrid', {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
me.removeBtn = new PVE.button.Button({
|
me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
baseurl: me.base_url + '/',
|
||||||
handler: function() {
|
|
||||||
var rec = sm.getSelection()[0];
|
|
||||||
if (!rec || !me.base_url) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: me.base_url + '/' + rec.data.cidr,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
failure: function(response, options) {
|
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
},
|
|
||||||
callback: reload
|
callback: reload
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var render_errors = function(value, metaData, record) {
|
var render_errors = function(value, metaData, record) {
|
||||||
var errors = record.data.errors;
|
var errors = record.data.errors;
|
||||||
|
@ -438,30 +438,15 @@ Ext.define('PVE.storage.ContentView', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveButton',
|
xtype: 'proxmoxStdRemoveButton',
|
||||||
text: gettext('Remove'),
|
|
||||||
selModel: sm,
|
selModel: sm,
|
||||||
disabled: true,
|
|
||||||
confirmMsg: function(rec) {
|
|
||||||
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
|
|
||||||
"'" + rec.data.volid + "'");
|
|
||||||
},
|
|
||||||
enableFn: function(rec) {
|
enableFn: function(rec) {
|
||||||
return rec && rec.data.content !== 'images';
|
return rec && rec.data.content !== 'images';
|
||||||
},
|
},
|
||||||
handler: function(b, e, rec) {
|
|
||||||
PVE.Utils.API2Request({
|
|
||||||
url: baseurl + '/' + rec.data.volid,
|
|
||||||
method: 'DELETE',
|
|
||||||
waitMsgTarget: me,
|
|
||||||
callback: function() {
|
callback: function() {
|
||||||
reload();
|
reload();
|
||||||
},
|
},
|
||||||
failure: function (response, opts) {
|
baseurl: baseurl + '/'
|
||||||
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
templateButton,
|
templateButton,
|
||||||
uploadButton,
|
uploadButton,
|
||||||
|
Loading…
Reference in New Issue
Block a user