From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id A48721FF15E
	for <inbox@lore.proxmox.com>; Fri, 26 Jul 2024 16:10:18 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 66AD01F448;
	Fri, 26 Jul 2024 16:10:18 +0200 (CEST)
Date: Fri, 26 Jul 2024 16:09:38 +0200
To: Shannon Sterz <s.sterz@proxmox.com>, pve-devel@lists.proxmox.com
References: <20240726132745.168971-1-theodor.fumics@gmx.net>
 <D2ZIJ6YJHEH1.XZQUFY7Z493@proxmox.com>
In-Reply-To: <D2ZIJ6YJHEH1.XZQUFY7Z493@proxmox.com>
MIME-Version: 1.0
Message-ID: <mailman.702.1722003017.331.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: Theodor Fumics via pve-devel <pve-devel@lists.proxmox.com>
Precedence: list
Cc: Theodor Fumics <theodor.fumics@gmx.net>
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
Subject: Re: [pve-devel] [PATCH manager] sdn: subnets: hide irrelevant
 fields depending on zone type
Content-Type: multipart/mixed; boundary="===============6211081277557195834=="
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

--===============6211081277557195834==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <theodor.fumics@gmx.net>
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))
	(No client certificate requested)
	by lists.proxmox.com (Postfix) with ESMTPS id E7BC0C3B42
	for <pve-devel@lists.proxmox.com>; Fri, 26 Jul 2024 16:10:16 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id C52F81F3AD
	for <pve-devel@lists.proxmox.com>; Fri, 26 Jul 2024 16:09:46 +0200 (CEST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19])
	(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 <pve-devel@lists.proxmox.com>; Fri, 26 Jul 2024 16:09:45 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net;
	s=s31663417; t=1722002979; x=1722607779; i=theodor.fumics@gmx.net;
	bh=vspfj1jHdho9kfqrd4rxzcs2O+NatQfHCtosPRtOSSo=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:
	 References:From:In-Reply-To:Content-Type:
	 Content-Transfer-Encoding:cc:content-transfer-encoding:
	 content-type:date:from:message-id:mime-version:reply-to:subject:
	 to;
	b=T+XYW9BzwNZQsNqgvmm6DrLDAkxC4FguxN3UAtgeOFY5jwkMXyhBx24/VIUzLZGD
	 sTFXBW2s1NME5IE/Q0sYFToLe+xB3bc1qXu/kOVtFyVRWXPkJmeUBRUOdvFyd9Vis
	 zn0jOQCbFOBMuWw1NUtFxejapt+mpOY9CUAnL9P1pXLfrNp305e8a2zk0QfUCuO1g
	 dWtHwcijzoEubgWljfXhOqJ9VrSehXVUNmPjkc53WRsP0BPzb4Cz34UF044PcSwhm
	 Z6ivpXBjZkr288KBD1Xmd56c4K0ezH8fJIBriKbJhYFcxJxMgabSIJ1mHz+nWDycO
	 i0HZ+0/epC0LnImjAA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.16.89] ([94.136.29.99]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MtfJd-1sI8s93TIN-00vM85; Fri, 26
 Jul 2024 16:09:38 +0200
Message-ID: <6b9af9d2-b0e0-48ad-a064-8b91eb18a048@gmx.net>
Date: Fri, 26 Jul 2024 16:09:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH manager] sdn: subnets: hide irrelevant fields depending on
 zone type
To: Shannon Sterz <s.sterz@proxmox.com>, pve-devel@lists.proxmox.com
References: <20240726132745.168971-1-theodor.fumics@gmx.net>
 <D2ZIJ6YJHEH1.XZQUFY7Z493@proxmox.com>
Content-Language: en-US
From: Theodor Fumics <theodor.fumics@gmx.net>
In-Reply-To: <D2ZIJ6YJHEH1.XZQUFY7Z493@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:o1qhUgGSoXqxh5CITceT3T0TI2P16POoNXRAa9sAOSkLWJ9fdTB
 rR0KTeQ09Toxx+V5RMcx2Uf3aARRBTnmYqluaO82xF0/J4CEZvm3MdHXd9rrRJOhEqZ0AVw
 3VHeuXNDbEbmHZQ9HhBBtDx0Au3yY/cCAePhnUsuNI4HQ1LIojKlRc0gmI1KUF721Lf9JPg
 FuyXKC/mXjOxWrlYybsGQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:v7m5KmWsLUM=;+8vpE50xGb5PKpZX1iv2bYLo5eQ
 kvijkR32S99fiRS1+jPAuxMRZoBY8Y6FtsTxKdtiIwOpciOaWZbydMxGnNhySUrQoZc3//62I
 p/2Fr1kaM5RHEmGli+gUft39DgPgiPUprvvsdksI/HGcLVUo2UcwnsEQenRvXY84/6ouDCZnf
 B8FNiBz4DHBnHpQ5PXKR5N4l7ep7jAOE2aLr4zFER3GETxgB7DeIi9TwenDjgVM2dBkIeJC7r
 DzDZnYEqHRIaLN0A+XpUz9Jh40HeKCsFNlYvM1/49OuAkQX1EvN5iatUJsUBWeU25Oq6AwhXf
 ZxqrW1Cw21pLUEQsoYR/62QAYSll3TpIEUaly/Dm9C+c0hkBiG5Zh/DeqgxhJhERMcj4MOVIO
 /ZfIz53HDoWEBWfN+a+XbqxZj63F68Zh8VXzF01HX5tjPVFAV/2Nwi1FVP+6tC/NXsOGO0Vpa
 EAubecq7eP19IZO+3HbSyCA17WANcy7ecT7K5XZ2YUKmBdndXpN2gii3NW2cEK/1lwDfRNp7D
 3Zpru//3wZrtearOY7jbDe2ovPxwq9nzuU6HOMXftnUETmUqejFZ1BpcY5qxrDah6T+9kqKX3
 zW2OXHMdKyDEIzLtFoaMTX9I+uJvj5PH9nO1D6dn8dYS/5G3N3zpPagkQr9t2734y6eNZvYpt
 XYFSx1IoARG8e61wOL0Fx/pawUW2fTbCEYSzAMseJHZD3hDP1++TtxxfYiJ1C7dW18K990/ik
 nXxiCPu27xWSY+Chz3tSK9hbu6OuHRigkZmDO6FXuApPjoqwNT2p77QIevArrI+O0EVDXfqg2
 gakg532yIDZmEQWIZxNiv6Dw==
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_H3       0.001 Good reputation (+3)
	RCVD_IN_MSPIKE_WL       0.001 Mailspike good senders
	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. [proxmox.com]

Hi Shannon,

Thanks for catching that! I missed the use of var and have now sent a
revised version (v2) using let instead [1].


[1]
https://lore.proxmox.com/pve-devel/mailman.701.1722002701.331.pve-devel@li=
sts.proxmox.com/T/#u

On 7/26/24 15:42, Shannon Sterz wrote:
> On Fri Jul 26, 2024 at 3:27 PM CEST, Theodor Fumics wrote:
>> 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 <theodor.fumics@gmx.net>
>> ---
>>   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/SubnetEd=
it.js
>> index 8fc3f52b..d80eeca2 100644
>> --- 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;
>> +
>> +	var showSNATCheckbox =3D ['simple', 'evpn'].includes(zoneType);
>> +
>> +	var snatCheckbox =3D me.down('#snatSubnetCheckbox');
>> +	snatCheckbox.setHidden(!showSNATCheckbox);
> hey thanks for your contribution, any reason you are using `var` instead
> of `let` here? our style guide says all new code should use `let` or
> `const` and i can't determine a reason why you'd need a `var` here.
> generally the behaviour of a `var` is also less predictable in regards
> to hoisting etc.
>
>> +    },
>>   });
>>
>>   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/SubnetVi=
ew.js
>> index d342f0ba..fd103d78 100644
>> --- 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.j=
s
>> index 3fd3c916..9c9dcc5b 100644
>> --- 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);
>> --
>> 2.39.2
>


--===============6211081277557195834==
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

--===============6211081277557195834==--