[pve-devel] [PATCH] fix bug #781: separate CPU and memory in editor

Wolfgang Link w.link at proxmox.com
Fri Oct 23 11:04:48 CEST 2015


This is necessary because CPU are not hot-plug-able and memory are hot-plug-able.
also this will be useful for the new resource window.
---
 www/manager/Makefile            |  1 +
 www/manager/lxc/ResourceEdit.js | 79 +++++++++++++++++++++++++++++++++++
 www/manager/lxc/Resources.js    | 92 ++---------------------------------------
 3 files changed, 84 insertions(+), 88 deletions(-)
 create mode 100644 www/manager/lxc/ResourceEdit.js

diff --git a/www/manager/Makefile b/www/manager/Makefile
index 129eca7..ea2e0b1 100644
--- a/www/manager/Makefile
+++ b/www/manager/Makefile
@@ -149,6 +149,7 @@ JSSRC= 				                 	\
 	lxc/CreateWizard.js				\
 	lxc/SnapshotTree.js				\
 	lxc/Snapshot.js					\
+	lxc/ResourceEdit.js				\
 	pool/StatusView.js				\
 	pool/Summary.js					\
 	pool/Config.js					\
diff --git a/www/manager/lxc/ResourceEdit.js b/www/manager/lxc/ResourceEdit.js
new file mode 100644
index 0000000..41d772c
--- /dev/null
+++ b/www/manager/lxc/ResourceEdit.js
@@ -0,0 +1,79 @@
+var labelWidth = 120;
+
+Ext.define('PVE.lxc.CPUEdit', {
+    extend: 'PVE.window.Edit',
+
+    initComponent : function() {
+	var me = this;
+
+	Ext.apply(me, {
+	    subject: gettext('CPU'),
+	    items: [
+		{
+		    xtype: 'numberfield',
+		    name: 'cpulimit',
+		    minValue: 0,
+		    value: '1',
+		    step: 1,
+		    fieldLabel: gettext('CPU limit'),
+		    labelWidth: labelWidth,
+		    allowBlank: false
+		},
+		{
+		    xtype: 'numberfield',
+		    name: 'cpuunits',
+		    fieldLabel: gettext('CPU units'),
+		    value: 1024,
+		    minValue: 8,
+		    maxValue: 500000,
+		    labelWidth: labelWidth,
+		    allowBlank: false
+		}
+	    ]
+	});
+
+	me.callParent();
+
+	me.load();
+    }
+});
+
+Ext.define('PVE.lxc.MemoryEdit', {
+    extend: 'PVE.window.Edit',
+
+    initComponent : function() {
+	var me = this;
+
+	Ext.apply(me, {
+	    subject: gettext('Memory'),
+	    items: [
+		{
+		    xtype: 'numberfield',
+		    name: 'memory',
+		    minValue: 32,
+		    maxValue: 512*1024,
+		    value: '512',
+		    step: 32,
+		    fieldLabel: gettext('Memory (MB)'),
+		    labelWidth: labelWidth,
+		    allowBlank: false
+		},
+		{
+		    xtype: 'numberfield',
+		    name: 'swap',
+		    minValue: 0,
+		    maxValue: 128*1024,
+		    value: '512',
+		    step: 32,
+		    fieldLabel: gettext('Swap (MB)'),
+		    labelWidth: labelWidth,
+		    allowBlank: false
+		}
+	    ]
+	});
+
+	me.callParent();
+
+	me.load();
+    }
+});
diff --git a/www/manager/lxc/Resources.js b/www/manager/lxc/Resources.js
index a8f1d9d..55c8321 100644
--- a/www/manager/lxc/Resources.js
+++ b/www/manager/lxc/Resources.js
@@ -1,83 +1,3 @@
-Ext.define('PVE.lxc.RessourceInputPanel', {
-    extend: 'PVE.panel.InputPanel',
-    alias: 'widget.pveLxcResourceInputPanel',
-
-    insideWizard: false,
-
-    initComponent : function() {
-	var me = this;
-
-	var labelWidth = 120;
-
-	me.column1 = [
-	    {
-		xtype: 'numberfield',
-		name: 'memory',
-		minValue: 32,
-		maxValue: 512*1024,
-		value: '512',
-		step: 32,
-		fieldLabel: gettext('Memory') + ' (MB)',
-		labelWidth: labelWidth,
-		allowBlank: false
-	    },
-	    {
-		xtype: 'numberfield',
-		name: 'swap',
-		minValue: 0,
-		maxValue: 128*1024,
-		value: '512',
-		step: 32,
-		fieldLabel: gettext('Swap') + ' (MB)',
-		labelWidth: labelWidth,
-		allowBlank: false
-	    }
-	];
-
-	me.column2 = [
-	    {
-		xtype: 'numberfield',
-		name: 'cpulimit',
-		minValue: 0,
-		value: '1',
-		step: 1,
-		fieldLabel: gettext('CPU limit'),
-		labelWidth: labelWidth,
-		allowBlank: false
-	    },
-	    {
-		xtype: 'numberfield',
-		name: 'cpuunits',
-		fieldLabel: gettext('CPU units'),
-		value: 1024,
-		minValue: 8,
-		maxValue: 500000,
-		labelWidth: labelWidth,
-		allowBlank: false
-	    }
-	];
-
-	me.callParent();
-    }
-});
-
-Ext.define('PVE.lxc.RessourceEdit', {
-    extend: 'PVE.window.Edit',
-
-    initComponent : function() {
-	var me = this;
-	
-	Ext.apply(me, {
-	    subject: gettext('Resources'),
-	    items: Ext.create('PVE.lxc.RessourceInputPanel')
-	});
-
-	me.callParent();
-
-	me.load();
-    }
-});
-
 /*jslint confusion: true */
 Ext.define('PVE.lxc.RessourceView', {
     extend: 'PVE.grid.ObjectGrid',
@@ -99,14 +19,10 @@ Ext.define('PVE.lxc.RessourceView', {
 
 	var caps = Ext.state.Manager.get('GuiCap');
 
-	var resEditor = (caps.vms['VM.Config.Memory'] || caps.vms['VM.Config.Disk'] ||
-			 caps.vms['VM.Config.CPU']) ? 'PVE.lxc.RessourceEdit' : undefined;
-
-
 	var rows = {
 	    memory: {
 		header: gettext('Memory'),
-		editor: resEditor,
+		editor: caps.vms['VM.Config.Memory'] ? 'PVE.lxc.MemoryEdit' : undefined,
 		never_delete: true,
 		renderer: function(value) {
 		    return PVE.Utils.format_size(value*1024*1024);
@@ -114,7 +30,7 @@ Ext.define('PVE.lxc.RessourceView', {
 	    },
 	    swap: {
 		header: gettext('Swap'),
-		editor: resEditor,
+		editor: caps.vms['VM.Config.Memory'] ? 'PVE.lxc.MemoryEdit' : undefined,
 		never_delete: true,
 		renderer: function(value) {
 		    return PVE.Utils.format_size(value*1024*1024);
@@ -123,7 +39,7 @@ Ext.define('PVE.lxc.RessourceView', {
 	    cpulimit: {
 		header: gettext('CPU limit'),
 		never_delete: true,
-		editor: resEditor,
+		editor: caps.vms['VM.Config.CPU'] ? 'PVE.lxc.CPUEdit' : undefined,
 		defaultValue: 1,
 		renderer: function(value) {
 		    if (value) { return value; };
@@ -133,7 +49,7 @@ Ext.define('PVE.lxc.RessourceView', {
 	    cpuunits: {
 		header: gettext('CPU units'),
 		never_delete: true,
-		editor: resEditor,
+		editor: caps.vms['VM.Config.CPU'] ? 'PVE.lxc.CPUEdit' : undefined,
 		defaultValue: 1024
 	    }
 	};
-- 
2.1.4




More information about the pve-devel mailing list