[pve-devel] applied: [PATCH manager] add spec-ctrl cpu flag checkbox
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed Jan 17 09:09:46 CET 2018
On Tue, Jan 16, 2018 at 02:51:21PM +0100, Dominik Csapak wrote:
> also make the mechanism for the flag checkboxes generic
>
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
> www/manager6/qemu/ProcessorEdit.js | 47 ++++++++++++++++++++++++++------------
> 1 file changed, 32 insertions(+), 15 deletions(-)
>
> diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js
> index a14e5c87..e8afc7bb 100644
> --- a/www/manager6/qemu/ProcessorEdit.js
> +++ b/www/manager6/qemu/ProcessorEdit.js
> @@ -5,15 +5,27 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
>
> insideWizard: false,
>
> + // defines the possible cpu flags and their labels
> + flagsAvail: ['pcid', 'spec-ctrl'],
> + flagLabels: ['PCID', 'SPEC-CTRL'],
> +
> onGetValues: function(values) {
> var me = this;
>
> // build the cpu options:
> me.cpu.cputype = values.cputype;
>
> - // as long as flags is not a textfield, we
> - // have to manuall set the value
> - me.cpu.flags = (values.flags) ? '+pcid' : undefined;
> + var flags = [];
> +
> + me.flagsAvail.forEach(function(flag) {
> + if (values[flag]) {
> + flags.push('+' + flag.toString());
> + }
> + delete values[flag];
> + });
> +
> + me.cpu.flags = flags.length ? flags.join(';') : undefined;
> +
> delete values.cputype;
> delete values.flags;
> var cpustring = PVE.Parser.printQemuCpu(me.cpu);
> @@ -102,19 +114,19 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
> fieldLabel: gettext('Total cores'),
> name: 'totalcores',
> value: '1'
> - },
> - {
> - // will be a textfield probably someday,
> - // so we name it flags
> + }
> + ];
> +
> + me.flagsAvail.forEach(function(flag, i) {
> + me.column2.push({
> hidden: me.insideWizard,
> disabled: me.insideWizard,
> xtype: 'pvecheckbox',
> - fieldLabel: 'PCID',
> - name: 'flags',
> + fieldLabel: me.flagLabels[i] || flag,
> + name: flag,
> uncheckedValue: 0
> - }
> -
> - ];
> + });
> + });
>
> me.callParent();
> }
> @@ -143,9 +155,14 @@ Ext.define('PVE.qemu.ProcessorEdit', {
> var cpu = PVE.Parser.parseQemuCpu(value);
> ipanel.cpu = cpu;
> data.cputype = cpu.cputype;
> - /*jslint confusion: true*/
> - // .flags is boolean and string
> - data.flags = (cpu.flags === '+pcid');
> + if (cpu.flags) {
> + var flags = cpu.flags.split(';');
> + flags.forEach(function(flag) {
> + var sign = flag.substr(0,1);
> + flag = flag.substr(1);
> + data[flag] = (sign === '+');
> + });
> + }
> }
> me.setValues(data);
> }
> --
> 2.11.0
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list