]> git.proxmox.com Git - pve-manager.git/commitdiff
copy qemu/ProcessorEdit.js from manager to manager6
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 16 Mar 2016 08:12:22 +0000 (09:12 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 16 Mar 2016 08:12:22 +0000 (09:12 +0100)
www/manager6/qemu/ProcessorEdit.js [new file with mode: 0644]

diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js
new file mode 100644 (file)
index 0000000..e2bad11
--- /dev/null
@@ -0,0 +1,133 @@
+Ext.define('PVE.qemu.ProcessorInputPanel', {
+    extend: 'PVE.panel.InputPanel',
+    alias: 'widget.PVE.qemu.ProcessorInputPanel',
+
+    onGetValues: function(values) {
+       var me = this;
+
+       // build the cpu options:
+       me.cpu.cputype = values['cputype'];
+       delete values['cputype'];
+       var cpustring = PVE.Parser.printQemuCpu(me.cpu);
+
+       // remove cputype delete request:
+       var del = values['delete'];
+       delete values['delete'];
+       if (del) {
+           del = del.split(',');
+           Ext.Array.remove(del, 'cputype');
+       } else {
+           del = [];
+       }
+
+       if (cpustring) {
+           values['cpu'] = cpustring;
+       } else {
+           del.push('cpu');
+       }
+
+       del = del.join(',');
+       if (del) {
+           values['delete'] = del;
+       }
+
+       return values;
+    },
+
+    initComponent : function() {
+       var me = this;
+
+       me.cpu = {};
+
+       me.column1 = [
+           {
+               xtype: 'numberfield',
+               name: 'sockets',
+               minValue: 1,
+               maxValue: 4,
+               value: '1',
+               fieldLabel: gettext('Sockets'),
+               allowBlank: false,
+               listeners: {
+                   change: function(f, value) {
+                       var sockets = me.down('field[name=sockets]').getValue();
+                       var cores = me.down('field[name=cores]').getValue();
+                       me.down('field[name=totalcores]').setValue(sockets*cores);
+                   }
+               }
+           },
+           {
+               xtype: 'numberfield',
+               name: 'cores',
+               minValue: 1,
+               maxValue: 128,
+               value: '1',
+               fieldLabel: gettext('Cores'),
+               allowBlank: false,
+               listeners: {
+                   change: function(f, value) {
+                       var sockets = me.down('field[name=sockets]').getValue();
+                       var cores = me.down('field[name=cores]').getValue();
+                       me.down('field[name=totalcores]').setValue(sockets*cores);
+                   }
+               }
+           },
+           {
+               xtype: 'pvecheckbox',
+               fieldLabel: gettext('Enable numa'),
+               name: 'numa',
+               uncheckedValue: 0,
+           },
+
+       ];
+
+
+       me.column2 = [
+           {
+               xtype: 'CPUModelSelector',
+               name: 'cputype',
+               value: '',
+               fieldLabel: gettext('Type')
+           },
+           {
+               xtype: 'displayfield',
+               fieldLabel: gettext('Total cores'),
+               name: 'totalcores',
+               value: '1'
+           }
+
+       ];
+
+       me.callParent();
+    }
+});
+
+Ext.define('PVE.qemu.ProcessorEdit', {
+    extend: 'PVE.window.Edit',
+
+    initComponent : function() {
+       var me = this;
+       
+       var ipanel = Ext.create('PVE.qemu.ProcessorInputPanel')
+
+       Ext.apply(me, {
+           subject: gettext('Processors'),
+           items: ipanel
+       });
+
+       me.callParent();
+
+       me.load({
+           success: function(response, options) {
+               var data = response.result.data;
+               var value = data['cpu'];
+               if (value) {
+                   var cpu = PVE.Parser.parseQemuCpu(value);
+                   ipanel.cpu = cpu;
+                   data.cputype = cpu.cputype;
+               }
+               me.setValues(data);
+           }
+       });
+    }
+});