]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/lxc/Resources.js
ui: lxc: switch reboot and stop button to match VMs
[pve-manager.git] / www / manager6 / lxc / Resources.js
index 501ddf69c877aed681cb7a05402c065cf45f31b5..1114c0514669bf88398296f3827f670352323c71 100644 (file)
@@ -1,6 +1,6 @@
 /*jslint confusion: true */
 Ext.define('PVE.lxc.RessourceView', {
-    extend: 'Proxmox.grid.ObjectGrid',
+    extend: 'Proxmox.grid.PendingObjectGrid',
     alias: ['widget.pveLxcRessourceView'],
 
     onlineHelp: 'pct_configuration',
@@ -215,6 +215,8 @@ Ext.define('PVE.lxc.RessourceView', {
            handler: run_move
        });
 
+       var revert_btn = new PVE.button.PendingRevert();
+
        var set_button_status = function() {
            var rec = me.selModel.getSelection()[0];
 
@@ -222,12 +224,14 @@ Ext.define('PVE.lxc.RessourceView', {
                edit_btn.disable();
                remove_btn.disable();
                resize_btn.disable();
+               revert_btn.disable();
                return;
            }
            var key = rec.data.key;
            var value = rec.data.value;
            var rowdef = rows[key];
 
+           var pending = rec.data['delete'] || me.hasPendingChanges(key);
            var isDisk = (rowdef.tdCls == 'pve-itype-icon-storage');
 
            var noedit = rec.data['delete'] || !rowdef.editor;
@@ -242,6 +246,7 @@ Ext.define('PVE.lxc.RessourceView', {
            remove_btn.setDisabled(!isDisk || rec.data.key === 'rootfs' || !diskCap);
            resize_btn.setDisabled(!isDisk || !diskCap);
            move_btn.setDisabled(!isDisk || !diskCap);
+           revert_btn.setDisabled(!pending);
 
        };
        
@@ -271,7 +276,7 @@ Ext.define('PVE.lxc.RessourceView', {
        };
 
        Ext.apply(me, {
-           url: '/api2/json/' + baseurl,
+           url: "/api2/json/nodes/" + nodename + "/lxc/" + vmid + "/pending",
            selModel: me.selModel,
            interval: 2000,
            cwidth1: 170,
@@ -290,6 +295,7 @@ Ext.define('PVE.lxc.RessourceView', {
                                        unprivileged: me.getObjectValue('unprivileged'),
                                        pveSelNode: me.pveSelNode
                                    });
+                                   win.on('destroy', me.reload, me);
                                    win.show();
                                }
                            }
@@ -299,7 +305,8 @@ Ext.define('PVE.lxc.RessourceView', {
                edit_btn,
                remove_btn,
                resize_btn,
-               move_btn
+               move_btn,
+               revert_btn
            ],
            rows: rows,
            sorterFn: sorterFn,
@@ -319,6 +326,10 @@ Ext.define('PVE.lxc.RessourceView', {
        me.on('destroy', me.rstore.stopUpdate);
        me.on('deactivate', me.rstore.stopUpdate);
 
+       me.mon(me.getStore(), 'datachanged', function() {
+           set_button_status();
+       });
+
        Ext.apply(me.editorConfig, { unprivileged: me.getObjectValue('unprivileged') });
     }
 });