public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH widget-toolkit 2/4] fix #3892: Network: add bridge vids field for bridge_vids
Date: Fri, 10 Nov 2023 12:03:59 +0100	[thread overview]
Message-ID: <1699612956.608kpqvagx.astroid@yuna.none> (raw)
In-Reply-To: <20230614093033.820848-2-a.lauterer@proxmox.com>

On June 14, 2023 11:30 am, Aaron Lauterer wrote:
> The new optional bridge_vids field allows to set that property via the
> GUI. Since the backend needs to support it, the field needs to be
> explicitly enabled.
> 
> For now, Proxmox VE (PVE) is the use case.
> 
> Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
> ---
> changes since v2:
> 
> add a new option to the NodeNetworkEdit widget called 'bridge_set_vids'
> which determines if the field will be added. We need to pass it through
> the NetworkView widget as well.
> 
>  src/node/NetworkEdit.js | 23 +++++++++++++++++++++++
>  src/node/NetworkView.js |  5 +++++
>  2 files changed, 28 insertions(+)
> 
> diff --git a/src/node/NetworkEdit.js b/src/node/NetworkEdit.js
> index bb9add3..799ca1e 100644
> --- a/src/node/NetworkEdit.js
> +++ b/src/node/NetworkEdit.js
> @@ -2,6 +2,9 @@ Ext.define('Proxmox.node.NetworkEdit', {
>      extend: 'Proxmox.window.Edit',
>      alias: ['widget.proxmoxNodeNetworkEdit'],
>  
> +    // Enable to show the VLAN ID field
> +    bridge_set_vids: false,
> +
>      initComponent: function() {
>  	let me = this;
>  
> @@ -57,11 +60,28 @@ Ext.define('Proxmox.node.NetworkEdit', {
>  	}
>  
>  	if (me.iftype === 'bridge') {
> +	    let vids = Ext.create('Ext.form.field.Text', {
> +		fieldLabel: gettext('Bridge VIDS'),
> +		name: 'bridge_vids',
> +		emptyText: '2-4094',
> +		disabled: true,
> +		autoEl: {
> +		    tag: 'div',
> +		    'data-qtip': gettext('Space-separated list of VLANs and ranges, for example: 2 4 100-200'),
> +		},
> +	    });

we might want to validate the format here as well to give feedback right
away?

>  	    column2.push({
>  		xtype: 'proxmoxcheckbox',
>  		fieldLabel: gettext('VLAN aware'),
>  		name: 'bridge_vlan_aware',
>  		deleteEmpty: !me.isCreate,
> +		listeners: {
> +		    change: function(f, newVal) {
> +			if (me.bridge_set_vids) {
> +			    vids.setDisabled(!newVal);
> +			}
> +		    },
> +		},
>  	    });
>  	    column2.push({
>  		xtype: 'textfield',
> @@ -72,6 +92,9 @@ Ext.define('Proxmox.node.NetworkEdit', {
>  		    'data-qtip': gettext('Space-separated list of interfaces, for example: enp0s0 enp1s0'),
>  		},
>  	    });
> +	    if (me.bridge_set_vids) {
> +		advancedColumn2.push(vids);
> +	    }
>  	} else if (me.iftype === 'OVSBridge') {
>  	    column2.push({
>  		xtype: 'textfield',
> diff --git a/src/node/NetworkView.js b/src/node/NetworkView.js
> index 1d67ac8..c08cbfa 100644
> --- a/src/node/NetworkView.js
> +++ b/src/node/NetworkView.js
> @@ -33,6 +33,9 @@ Ext.define('Proxmox.node.NetworkView', {
>  
>      showApplyBtn: false,
>  
> +    // decides if VLAN IDs field for bridges is shown, depends on the product if needed
> +    bridge_set_vids: false,
> +
>      initComponent: function() {
>  	let me = this;
>  
> @@ -100,6 +103,7 @@ Ext.define('Proxmox.node.NetworkView', {
>  		nodename: me.nodename,
>  		iface: rec.data.iface,
>  		iftype: rec.data.type,
> +		bridge_set_vids: me.bridge_set_vids,
>  		listeners: {
>  		    destroy: () => reload(),
>  		},
> @@ -170,6 +174,7 @@ Ext.define('Proxmox.node.NetworkView', {
>  		    nodename: me.nodename,
>  		    iftype: iType,
>  		    iface_default: findNextFreeInterfaceId(iDefault ?? iType),
> +		    bridge_set_vids: me.bridge_set_vids,
>  		    onlineHelp: 'sysadmin_network_configuration',
>  		    listeners: {
>  			destroy: () => reload(),
> -- 
> 2.39.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 




  parent reply	other threads:[~2023-11-10 11:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-14  9:30 [pve-devel] [PATCH v2 common 1/4] fix #3893: network: make bridge vids configurable Aaron Lauterer
2023-06-14  9:30 ` [pve-devel] [PATCH widget-toolkit 2/4] fix #3892: Network: add bridge vids field for bridge_vids Aaron Lauterer
2023-06-14  9:34   ` Aaron Lauterer
2023-11-10 11:03   ` Fabian Grünbichler [this message]
2023-06-14  9:30 ` [pve-devel] [PATCH v2 manager 3/4] fix #3893: api: network: add bridge_vids parameter Aaron Lauterer
2023-11-10 11:03   ` Fabian Grünbichler
2023-06-14  9:30 ` [pve-devel] [PATCH v2 manager 4/4] fix #3893: ui: network: enable bridge_vids field Aaron Lauterer
2023-09-29 13:37 ` [pve-devel] [PATCH v2 common 1/4] fix #3893: network: make bridge vids configurable Aaron Lauterer
2023-11-10 11:04 ` Fabian Grünbichler
2024-07-03  8:02 ` Aaron Lauterer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1699612956.608kpqvagx.astroid@yuna.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal