From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 5EE361FF09B for ; Mon, 28 Sep 2026 07:49:47 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 45ACC217F3; Mon, 28 Sep 2026 07:48:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=genua.de; s=202307; t=1790574498; bh=dWp7J7z/xqGx6dmPSNwGjrsoumIKcGM9BlXDLCVjZP0=; h=Date:From:To:Subject:References:In-Reply-To:From; b=GXm9FHIalIbK/GsIJJbcf39vGbxgOHVgKmhpYhrmzdmDJM7RaCH+XttCCoAafLINV 3Def1Iho9Tk1mOerSCVNYNUk6sL7c5eJWuvtDHHhc39GRE3dbpoyITWQflKRTfwrDv EKWKM9fsZrN6fOorb2hftNfGz0lyuS+f56zWkkGAFor8hsUt3teY0s4a7ODehAUw4K r9Z4vsQTqg0KiuW9wkEH7oJKvjO95corQ8L9rOoOGHe4jlYKkEYlNMIOZzB/Zj083r qDPqnIj/fspYGZG+3fQEX/zXv0j4SyFXT0tRu2dk058J/XPdhiKq+WIA2zXgAksyW6 EFPZd79sQJiLw== Date: Mon, 28 Sep 2026 07:48:16 +0200 From: Christian Ludwig To: Subject: [PATCH v2 pve-manager 13/16] ui: form: support other content types in the ISO selector Message-ID: <0ef5d24516aee0659479863de81cef1012cda74e.1790337878.git@genua.de> References: MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [192.168.217.185] X-ClientProxiedBy: kch1-mta07.win.genua.de (10.208.16.107) To kch1-mta07.win.genua.de (10.208.16.107) Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline X-SPAM-LEVEL: Spam detection results: 0 AWL 0.081 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record UNPARSEABLE_RELAY 0.001 Informational: message has unparseable relay lines Message-ID-Hash: ILSUIN2AFYWZPADCD47JSBKHBYRYTSHB X-Message-ID-Hash: ILSUIN2AFYWZPADCD47JSBKHBYRYTSHB X-MailFrom: christian_ludwig@genua.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The selector pairs a storage selector with a file selector and keeps both in sync, which is useful for any content type, not just ISO images. Filter both lists by the 'storageContent' config. The file selector label gets configured via 'fileLabel'. The defaults keep the existing ISO behavior. Signed-off-by: Christian Ludwig --- www/manager6/form/IsoSelector.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/www/manager6/form/IsoSelector.js b/www/manager6/form/IsoSelector.js index b2d94ed3..508c0eaf 100644 --- a/www/manager6/form/IsoSelector.js +++ b/www/manager6/form/IsoSelector.js @@ -13,11 +13,17 @@ Ext.define('PVE.form.IsoSelector', { labelWidth: undefined, labelAlign: 'right', + // Storage content type to select from, default: iso. + storageContent: 'iso', + fileLabel: gettext('ISO image'), + cbindData: function () { let me = this; return { nodename: me.nodename, insideWizard: me.insideWizard, + storageContent: me.storageContent, + fieldLabel: me.fileLabel, }; }, @@ -71,9 +77,9 @@ Ext.define('PVE.form.IsoSelector', { reference: 'storage', isFormField: false, fieldLabel: gettext('Storage'), - storageContent: 'iso', allowBlank: false, cbind: { + storageContent: '{storageContent}', nodename: '{nodename}', autoSelect: '{insideWizard}', insideWizard: '{insideWizard}', @@ -94,10 +100,10 @@ Ext.define('PVE.form.IsoSelector', { xtype: 'pveFileSelector', reference: 'file', isFormField: false, - storageContent: 'iso', - fieldLabel: gettext('ISO image'), labelAlign: 'right', cbind: { + storageContent: '{storageContent}', + fieldLabel: '{fieldLabel}', nodename: '{nodename}', disabled: '{disabled}', labelWidth: '{labelWidth}', -- 2.34.1