From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 98C671FF15E for ; Fri, 26 Jul 2024 16:05:04 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CB04A1F357; Fri, 26 Jul 2024 16:05:02 +0200 (CEST) To: pve-devel@lists.proxmox.com Date: Fri, 26 Jul 2024 16:03:44 +0200 MIME-Version: 1.0 Message-ID: List-Id: Proxmox VE development discussion List-Post: From: Theodor Fumics via pve-devel Precedence: list Cc: Theodor Fumics X-Mailman-Version: 2.1.29 X-BeenThere: pve-devel@lists.proxmox.com List-Subscribe: , List-Unsubscribe: , List-Archive: Reply-To: Proxmox VE development discussion List-Help: Subject: [pve-devel] [PATCH manager v2] sdn: subnets: hide irrelevant fields depending on zone type Content-Type: multipart/mixed; boundary="===============3895535242352143964==" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" --===============3895535242352143964== Content-Type: message/rfc822 Content-Disposition: inline Return-Path: X-Original-To: pve-devel@lists.proxmox.com Delivered-To: pve-devel@lists.proxmox.com 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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id B2238C3B17 for ; Fri, 26 Jul 2024 16:05:01 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 843B61F2B0 for ; Fri, 26 Jul 2024 16:04:31 +0200 (CEST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 26 Jul 2024 16:04:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1722002670; x=1722607470; i=theodor.fumics@gmx.net; bh=sJZAYir2MFbxCH/PT7eY7+xjwnh/cqQ+j2rlWyMw1e4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id: MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Lpz6fCqDq0e46zUOTP7FwJME2Gmy5qh36TQ9AvrXn0sx4LVQvZJ2YMPR+ep1DGqC cu5g0FlKyL0xP5R0rdwSe5xi3RMaxcoLQxC3GR5C7rwto9VXuWUpvtiVycmpovCGD MVL+KpDakixzey3MSkWO2T6njYl5ld3YFkWtOL9+pHOUXpdpdbev8C3tlLXYq6AOT OhnWrFxePwsSafML2dvlDx91iVoRE0uFitZPY1aznbn4VqK5uI9rP6IhaYi6f1Dgl 9bgI3Ol0XnGe3yTCBp3itTluzCfyQUpmYv0ylk2MlrTTtih9wYNzLgZYjXM/b2w6s XplGu5jrSjBTgKkRMw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from praktikum3.proxmox.com ([94.136.29.99]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M2f5Z-1sZoOY4BSx-004Uw7; Fri, 26 Jul 2024 16:04:30 +0200 From: Theodor Fumics To: pve-devel@lists.proxmox.com Subject: [PATCH manager v2] sdn: subnets: hide irrelevant fields depending on zone type Date: Fri, 26 Jul 2024 16:03:44 +0200 Message-Id: <20240726140344.185142-1-theodor.fumics@gmx.net> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:dSMtQIFOK06DTfUhK4P4m9tXIyMjyk9nSLEivKo0xPevFYoKoH8 OAq9NNx3m/llRVzp10smwvnXkzbEcetvwNDL0lZcB2CImeS2oSBYksL33OZhty3N7ZaPeXy LI/AVhVQ+bm80CBFONhbOtz/eUSyBGIJpV+lVtnd3NMQT1MDPrVBS9V4q+s9S4vE0HVA7El X7g19Re5QD3MDK3pyfF7w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:4pY4YFbojVg=;eAuPEQORfi87muMhnbC0YnlmoVq l3OGQW8ReJS96U/pNBrpFfHKBrmFeDNMW0hP4xGRvVBvKk/KIdfzmPUjwlHjh091V6sjJQSh8 Yz+XR5mHh43M6/r0ISiO2oid/1QH+j5EYIWdoHWlVQ3XOkytQDnvx5UKIn5NLwCp4YP73aPOl IxwblCg8ntEZsD5C1B2Gb6s3pBiEP7kJO81YHxNl0qM8/+C8Jwr61Anx/32MtYgFOKtZw8ssi 3XbjANfL0su+Emt1aHCP3OfcJ7SJzQSJS7KvL34wpiBDZTJvE/OnEwKP/ssoB/hCYm/IMk0y0 d2oo7ZfJfPiAVya2LxFv29LzFwNvlROC9ucYat8+LGvA5vgnARy1mlNvOoQYnGB7jBum0clVz awfq2SHzmSvW8IuXveBtPqL3Yi9bHEwnFvzgUl4ah7A2VdcFuOmQ3AX0kvcpcN4z31xLiDNcu HtfWTytjzWPjYB283skj8WAwFwOnRNeIYP0Yeqd1bAJaQ5H030Y0NGfR5pO+ATXFun0BMGZW7 yd6zTtu1ZHoZJA7dGBVIICkx0YQD/dfm2BYvgn/E8ORBbcu/+TVgJ8qsJ1UnhQXARm5bicCnA 2cDrQ2i49YEf8IEk4xmE9nQ4/+xfx/GG9OjOQgrsWV6HMhpVHsrfSfUtOmKj+UaRInTDIgNXo mfm2l1coSA50gR3K3Fln5D6D47UFWQizNU93C8bD3RKuiTPakK8xcXNMmAy6zN0BK8jy46S1z upuda8lc7Z0IU/GfHCyrFbhRhXSZhnW4Xnl9Tklp7MaVcNcN9YBd0eLRaJz6KFr/oG/hgJbZK hOM9S9Qu+225LadwBN3RIgCw== X-SPAM-LEVEL: Spam detection results: 0 AWL 0.001 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% 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 FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust RCVD_IN_MSPIKE_H2 -0.001 Average reputation (+2) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record The SNAT option is only applicable to Simple and EVPN zone types. For other zone types, this field is irrelevant and can cause confusion. This commit hides the SNAT field when it is not applicable to the selected zone type, improving clarity for users. Signed-off-by: Theodor Fumics =2D-- Notes: Changes from v1 -> v2 * switched var to let in SubnetEdit.js (thanks @Shannon) www/manager6/sdn/SubnetEdit.js | 18 ++++++++++++++++++ www/manager6/sdn/SubnetView.js | 16 ++++++++++++++++ www/manager6/sdn/VnetView.js | 9 +++++++++ 3 files changed, 43 insertions(+) diff --git a/www/manager6/sdn/SubnetEdit.js b/www/manager6/sdn/SubnetEdit.= js index 8fc3f52b..7e4ec458 100644 =2D-- a/www/manager6/sdn/SubnetEdit.js +++ b/www/manager6/sdn/SubnetEdit.js @@ -2,6 +2,8 @@ Ext.define('PVE.sdn.SubnetInputPanel', { extend: 'Proxmox.panel.InputPanel', mixins: ['Proxmox.Mixin.CBind'], + zoneInfo: undefined, + onGetValues: function(values) { let me =3D this; @@ -38,6 +40,7 @@ Ext.define('PVE.sdn.SubnetInputPanel', { }, { xtype: 'proxmoxcheckbox', + itemId: 'snatSubnetCheckbox', name: 'snat', uncheckedValue: null, checked: false, @@ -57,6 +60,18 @@ Ext.define('PVE.sdn.SubnetInputPanel', { }, }, ], + + initComponent: function() { + let me =3D this; + me.callParent(); + + let zoneType =3D me.zoneInfo?.type; + + let showSNATCheckbox =3D ['simple', 'evpn'].includes(zoneType); + + let snatCheckbox =3D me.down('#snatSubnetCheckbox'); + snatCheckbox.setHidden(!showSNATCheckbox); + }, }); Ext.define('PVE.sdn.SubnetDhcpRangePanel', { @@ -243,6 +258,8 @@ Ext.define('PVE.sdn.SubnetEdit', { base_url: undefined, + zoneInfo: undefined, + bodyPadding: 0, initComponent: function() { @@ -261,6 +278,7 @@ Ext.define('PVE.sdn.SubnetEdit', { let ipanel =3D Ext.create('PVE.sdn.SubnetInputPanel', { isCreate: me.isCreate, title: gettext('General'), + zoneInfo: me.zoneInfo, }); let dhcpPanel =3D Ext.create('PVE.sdn.SubnetDhcpRangePanel', { diff --git a/www/manager6/sdn/SubnetView.js b/www/manager6/sdn/SubnetView.= js index d342f0ba..fd103d78 100644 =2D-- a/www/manager6/sdn/SubnetView.js +++ b/www/manager6/sdn/SubnetView.js @@ -7,6 +7,9 @@ Ext.define('PVE.sdn.SubnetView', { base_url: undefined, + zoneName: undefined, + zoneInfo: undefined, + remove_btn: undefined, setBaseUrl: function(url) { @@ -28,6 +31,18 @@ Ext.define('PVE.sdn.SubnetView', { } }, + loadZone: function(name) { + let me =3D this; + + Proxmox.Utils.API2Request({ + url: `/cluster/sdn/zones/${name}?pending=3D1`, + method: 'GET', + success: function(response) { + me.zoneInfo =3D response?.result?.data; + }, + }); + }, + initComponent: function() { let me =3D this; @@ -59,6 +74,7 @@ Ext.define('PVE.sdn.SubnetView', { let win =3D Ext.create('PVE.sdn.SubnetEdit', { autoShow: true, base_url: me.base_url, + zoneInfo: me.zoneInfo, type: 'subnet', }); win.on('destroy', reload); diff --git a/www/manager6/sdn/VnetView.js b/www/manager6/sdn/VnetView.js index 3fd3c916..9c9dcc5b 100644 =2D-- a/www/manager6/sdn/VnetView.js +++ b/www/manager6/sdn/VnetView.js @@ -141,6 +141,15 @@ Ext.define('PVE.sdn.VnetView', { select: function(_sm, rec) { let url =3D `/cluster/sdn/vnets/${rec.data.vnet}/subnets`; me.subnetview_panel.setBaseUrl(url); + + let zoneName; + if (rec.data.pending) { + zoneName =3D rec.data.pending.zone; + } else { + zoneName =3D rec.data.zone; + } + + me.subnetview_panel.loadZone(zoneName); }, deselect: function() { me.subnetview_panel.setBaseUrl(undefined); =2D- 2.39.2 --===============3895535242352143964== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel --===============3895535242352143964==--