Expose the 'force' parameter through the UI when deleting an IPSet.
Small OQL imporovement: the member panel now gets cleared
automatically whenever an IPSet is deselected, which is necessary
when deleting a non-empty set.

Signed-off-by: Leo Nunner <l.nun...@proxmox.com>
---
 www/manager6/panel/IPSet.js | 32 +++++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/www/manager6/panel/IPSet.js b/www/manager6/panel/IPSet.js
index a4606769..a6146566 100644
--- a/www/manager6/panel/IPSet.js
+++ b/www/manager6/panel/IPSet.js
@@ -46,6 +46,7 @@ Ext.define('PVE.IPSetList', {
 
        var reload = function() {
            var oldrec = sm.getSelection()[0];
+           sm.deselect(oldrec);
            store.load(function(records, operation, success) {
                if (oldrec) {
                    var rec = store.findRecord('name', oldrec.data.name, 0, 
false, true, true);
@@ -91,6 +92,30 @@ Ext.define('PVE.IPSetList', {
            win.on('destroy', reload);
        };
 
+       var run_delete = function() {
+           var rec = sm.getSelection()[0];
+           if (!rec) {
+               return;
+           }
+           var win = Ext.create('Proxmox.window.Edit', {
+               title: "Delete IPSet '"+ rec.data.name + "'?",
+               url: me.base_url + '/' + rec.data.name,
+               method: 'DELETE',
+               isCreate: true,
+               isRemove: true,
+               items: [
+                   {
+                       xtype: 'proxmoxcheckbox',
+                       name: 'force',
+                       checked: false,
+                       fieldLabel: gettext('Delete members'),
+                   },
+               ],
+           });
+           win.show();
+           win.on('destroy', reload);
+       };
+
        me.editBtn = new Proxmox.button.Button({
            text: gettext('Edit'),
            disabled: true,
@@ -127,10 +152,11 @@ Ext.define('PVE.IPSetList', {
            },
        });
 
-       me.removeBtn = Ext.create('Proxmox.button.StdRemoveButton', {
+       me.removeBtn = Ext.create('Proxmox.button.Button', {
+           text: gettext('Remove'),
+           disabled: true,
            selModel: sm,
-           baseurl: me.base_url + '/',
-           callback: reload,
+           handler: run_delete,
        });
 
        Ext.apply(me, {
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to