]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/ProcessorEdit.js
use auto-generated block IDs to reference online docu.
[pve-manager.git] / www / manager6 / qemu / ProcessorEdit.js
1 Ext.define('PVE.qemu.ProcessorInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3 alias: 'widget.pveQemuProcessorPanel',
4 onlineHelp: 'qm_cpu',
5
6 onGetValues: function(values) {
7 var me = this;
8
9 // build the cpu options:
10 me.cpu.cputype = values.cputype;
11 delete values.cputype;
12 var cpustring = PVE.Parser.printQemuCpu(me.cpu);
13
14 // remove cputype delete request:
15 var del = values['delete'];
16 delete values['delete'];
17 if (del) {
18 del = del.split(',');
19 Ext.Array.remove(del, 'cputype');
20 } else {
21 del = [];
22 }
23
24 if (cpustring) {
25 values.cpu = cpustring;
26 } else {
27 del.push('cpu');
28 }
29
30 var delarr = del.join(',');
31 if (delarr) {
32 values['delete'] = delarr;
33 }
34
35 return values;
36 },
37
38 initComponent : function() {
39 var me = this;
40
41 me.cpu = {};
42
43 me.column1 = [
44 {
45 xtype: 'numberfield',
46 name: 'sockets',
47 minValue: 1,
48 maxValue: 4,
49 value: '1',
50 fieldLabel: gettext('Sockets'),
51 allowBlank: false,
52 listeners: {
53 change: function(f, value) {
54 var sockets = me.down('field[name=sockets]').getValue();
55 var cores = me.down('field[name=cores]').getValue();
56 me.down('field[name=totalcores]').setValue(sockets*cores);
57 }
58 }
59 },
60 {
61 xtype: 'numberfield',
62 name: 'cores',
63 minValue: 1,
64 maxValue: 128,
65 value: '1',
66 fieldLabel: gettext('Cores'),
67 allowBlank: false,
68 listeners: {
69 change: function(f, value) {
70 var sockets = me.down('field[name=sockets]').getValue();
71 var cores = me.down('field[name=cores]').getValue();
72 me.down('field[name=totalcores]').setValue(sockets*cores);
73 }
74 }
75 },
76 {
77 xtype: 'pvecheckbox',
78 fieldLabel: gettext('Enable NUMA'),
79 name: 'numa',
80 uncheckedValue: 0
81 }
82
83 ];
84
85
86 me.column2 = [
87 {
88 xtype: 'CPUModelSelector',
89 name: 'cputype',
90 value: '__default__',
91 fieldLabel: gettext('Type')
92 },
93 {
94 xtype: 'displayfield',
95 fieldLabel: gettext('Total cores'),
96 name: 'totalcores',
97 value: '1'
98 }
99
100 ];
101
102 me.callParent();
103 }
104 });
105
106 Ext.define('PVE.qemu.ProcessorEdit', {
107 extend: 'PVE.window.Edit',
108
109 initComponent : function() {
110 var me = this;
111
112 var ipanel = Ext.create('PVE.qemu.ProcessorInputPanel');
113
114 Ext.apply(me, {
115 subject: gettext('Processors'),
116 items: ipanel
117 });
118
119 me.callParent();
120
121 me.load({
122 success: function(response, options) {
123 var data = response.result.data;
124 var value = data.cpu;
125 if (value) {
126 var cpu = PVE.Parser.parseQemuCpu(value);
127 ipanel.cpu = cpu;
128 data.cputype = cpu.cputype;
129 }
130 me.setValues(data);
131 }
132 });
133 }
134 });