From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 8D14093ECE for ; Tue, 20 Sep 2022 14:53:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B6CDC1CB8D for ; Tue, 20 Sep 2022 14:53:46 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 20 Sep 2022 14:53:40 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 93C7F4442D for ; Tue, 20 Sep 2022 14:50:46 +0200 (CEST) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Tue, 20 Sep 2022 14:50:35 +0200 Message-Id: <20220920125041.3636561-30-d.csapak@proxmox.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220920125041.3636561-1-d.csapak@proxmox.com> References: <20220920125041.3636561-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.078 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [result.data] Subject: [pve-devel] [PATCH manager v3 07/13] ui: qemu/USBEdit: add 'mapped' device case X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Sep 2022 12:53:51 -0000 to be able to select 'mapped' usb devices Signed-off-by: Dominik Csapak --- www/manager6/qemu/USBEdit.js | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/www/manager6/qemu/USBEdit.js b/www/manager6/qemu/USBEdit.js index a2204584..1b017bc9 100644 --- a/www/manager6/qemu/USBEdit.js +++ b/www/manager6/qemu/USBEdit.js @@ -5,6 +5,15 @@ Ext.define('PVE.qemu.USBInputPanel', { autoComplete: false, onlineHelp: 'qm_usb_passthrough', + cbindData: function(initialConfig) { + let me = this; + if (!me.pveSelNode) { + throw "no pveSelNode given"; + } + + return { nodename: me.pveSelNode.data.node }; + }, + viewModel: { data: {}, }, @@ -31,6 +40,7 @@ Ext.define('PVE.qemu.USBInputPanel', { case 'spice': val = 'spice'; break; + case 'mapped': case 'hostdevice': case 'port': val = 'host=' + values[type]; @@ -61,6 +71,23 @@ Ext.define('PVE.qemu.USBInputPanel', { submitValue: false, checked: true, }, + { + name: 'usb', + inputValue: 'mapped', + boxLabel: gettext('Use mapped Device'), + reference: 'mapped', + submitValue: false, + }, + { + xtype: 'pveUSBMapSelector', + disabled: true, + name: 'mapped', + cbind: { nodename: '{nodename}' }, + bind: { disabled: '{!mapped.checked}' }, + allowBlank: false, + fieldLabel: gettext('Choose Device'), + labelAlign: 'right', + }, { name: 'usb', inputValue: 'hostdevice', @@ -145,7 +172,7 @@ Ext.define('PVE.qemu.USBEdit', { } var data = response.result.data[me.confid].split(','); - var port, hostdevice, usb3 = false; + var port, hostdevice, mapped, usb3 = false; var type = 'spice'; for (let i = 0; i < data.length; i++) { @@ -157,6 +184,12 @@ Ext.define('PVE.qemu.USBEdit', { port = data[i]; port = port.replace('host=', ''); type = 'port'; + } else if (/^(host=)?[a-zA-Z0-9\-_]+$/.test(data[i])) { + if (data[i] !== 'spice') { + mapped = data[i]; + mapped = mapped.replace('host=', ''); + type = 'mapped'; + } } if (/^usb3=(1|on|true)$/.test(data[i])) { @@ -168,6 +201,7 @@ Ext.define('PVE.qemu.USBEdit', { hostdevice: hostdevice, port: port, usb3: usb3, + mapped, }; ipanel.setValues(values); -- 2.30.2