* [PATCH pve-manager 1/3] ui: sdn: improve wireguard node edit dialog with no interfaces
2026-05-18 15:07 [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Hannes Laimer
@ 2026-05-18 15:07 ` Hannes Laimer
2026-05-18 15:07 ` [PATCH pve-manager 2/3] ui: sdn: avoid flicker when opening wireguard dialogs Hannes Laimer
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Hannes Laimer @ 2026-05-18 15:07 UTC (permalink / raw)
To: pve-devel
The list collapsed to a thin strip and the right pane stayed empty,
making the dialog look broken when none had been added yet.
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
.../sdn/fabrics/wireguard/InterfacePanel.js | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
index 9db453a0..c3376011 100644
--- a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
@@ -162,6 +162,8 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
xtype: 'pveSDNFabricWireGuardInterfacePanel',
+ minHeight: 200,
+
layout: {
type: 'hbox',
align: 'stretch',
@@ -212,6 +214,10 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
flex: 1,
margin: '0 0 10 0',
hideHeaders: true,
+ viewConfig: {
+ emptyText: gettext('No interfaces configured'),
+ deferEmptyText: false,
+ },
columns: [
{
text: gettext('Name'),
@@ -280,6 +286,31 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
},
],
},
+ {
+ xtype: 'panel',
+ border: false,
+ flex: 1,
+ width: 300,
+ layout: {
+ type: 'vbox',
+ pack: 'center',
+ align: 'center',
+ },
+ bind: {
+ hidden: '{selectedInterface}',
+ },
+ items: [
+ {
+ xtype: 'component',
+ html: gettext('Select an interface to configure, or add a new one.'),
+ style: {
+ color: '#888',
+ 'font-style': 'italic',
+ 'text-align': 'center',
+ },
+ },
+ ],
+ },
{
xtype: 'form',
border: false,
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH pve-manager 2/3] ui: sdn: avoid flicker when opening wireguard dialogs
2026-05-18 15:07 [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Hannes Laimer
2026-05-18 15:07 ` [PATCH pve-manager 1/3] ui: sdn: improve wireguard node edit dialog with no interfaces Hannes Laimer
@ 2026-05-18 15:07 ` Hannes Laimer
2026-05-18 15:07 ` [PATCH pve-manager 3/3] ui: sdn: skip delete confirmation for unsaved wireguard interfaces Hannes Laimer
2026-05-18 20:06 ` applied: [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Thomas Lamprecht
3 siblings, 0 replies; 5+ messages in thread
From: Hannes Laimer @ 2026-05-18 15:07 UTC (permalink / raw)
To: pve-devel
Without `hidden: true` fields appeard shortly before being hidden again
by the bind.
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
www/manager6/sdn/fabrics/wireguard/InterfacePanel.js | 2 ++
www/manager6/sdn/fabrics/wireguard/NodeEdit.js | 2 ++
2 files changed, 4 insertions(+)
diff --git a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
index c3376011..65399451 100644
--- a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
@@ -291,6 +291,7 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
border: false,
flex: 1,
width: 300,
+ hidden: true,
layout: {
type: 'vbox',
pack: 'center',
@@ -317,6 +318,7 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
flex: 1,
width: 300,
padding: 4,
+ hidden: true,
items: [
{
xtype: 'proxmoxtextfield',
diff --git a/www/manager6/sdn/fabrics/wireguard/NodeEdit.js b/www/manager6/sdn/fabrics/wireguard/NodeEdit.js
index 26c86bda..9c9d2ce9 100644
--- a/www/manager6/sdn/fabrics/wireguard/NodeEdit.js
+++ b/www/manager6/sdn/fabrics/wireguard/NodeEdit.js
@@ -33,6 +33,7 @@ Ext.define('PVE.sdn.Fabric.WireGuard.Node.Edit', {
fieldLabel: gettext('Name'),
labelWidth: 120,
name: 'node_id',
+ hidden: true,
bind: {
hidden: '{current.isPveNode}',
disabled: '{disableNameField}',
@@ -47,6 +48,7 @@ Ext.define('PVE.sdn.Fabric.WireGuard.Node.Edit', {
emptyText: gettext('base64-encoded WireGuard public key'),
regex: /^[A-Za-z0-9+/]{43}=$/,
regexText: gettext('WireGuard public key must be 44 base64 characters'),
+ hidden: true,
bind: {
hidden: '{current.isPveNode}',
disabled: '{current.isPveNode}',
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH pve-manager 3/3] ui: sdn: skip delete confirmation for unsaved wireguard interfaces
2026-05-18 15:07 [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Hannes Laimer
2026-05-18 15:07 ` [PATCH pve-manager 1/3] ui: sdn: improve wireguard node edit dialog with no interfaces Hannes Laimer
2026-05-18 15:07 ` [PATCH pve-manager 2/3] ui: sdn: avoid flicker when opening wireguard dialogs Hannes Laimer
@ 2026-05-18 15:07 ` Hannes Laimer
2026-05-18 20:06 ` applied: [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Thomas Lamprecht
3 siblings, 0 replies; 5+ messages in thread
From: Hannes Laimer @ 2026-05-18 15:07 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
.../sdn/fabrics/wireguard/InterfacePanel.js | 32 +++++++++++--------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
index 65399451..60f951b9 100644
--- a/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
+++ b/www/manager6/sdn/fabrics/wireguard/InterfacePanel.js
@@ -239,6 +239,23 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
_e,
rec,
) {
+ let removeRecord = () => {
+ let grid = table.up('grid[reference=interfaceGrid]');
+
+ let updateSelection = grid.getSelection().includes(rec);
+
+ grid.getStore().remove(rec);
+
+ if (updateSelection) {
+ grid.setSelection(grid.getStore().first());
+ }
+ };
+
+ if (rec.data.isCreate) {
+ removeRecord();
+ return;
+ }
+
Ext.Msg.show({
title: gettext('Confirm'),
icon: Ext.Msg.WARNING,
@@ -254,20 +271,7 @@ Ext.define('PVE.sdn.Fabric.WireGuard.InterfacePanel', {
if (btn !== 'yes') {
return;
}
-
- let grid = table.up(
- 'grid[reference=interfaceGrid]',
- );
-
- let updateSelection = grid
- .getSelection()
- .includes(rec);
-
- grid.getStore().remove(rec);
-
- if (updateSelection) {
- grid.setSelection(grid.getStore().first());
- }
+ removeRecord();
},
});
},
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread* applied: [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups
2026-05-18 15:07 [PATCH pve-manager 0/3] wireguard fabric node ui touch-ups Hannes Laimer
` (2 preceding siblings ...)
2026-05-18 15:07 ` [PATCH pve-manager 3/3] ui: sdn: skip delete confirmation for unsaved wireguard interfaces Hannes Laimer
@ 2026-05-18 20:06 ` Thomas Lamprecht
3 siblings, 0 replies; 5+ messages in thread
From: Thomas Lamprecht @ 2026-05-18 20:06 UTC (permalink / raw)
To: pve-devel, Hannes Laimer
On Mon, 18 May 2026 17:07:44 +0200, Hannes Laimer wrote:
> Small improvemnts to the wireguard node edit dialog, don't really depend
> on eachother.
>
> Hannes Laimer (3):
> ui: sdn: improve wireguard node edit dialog with no interfaces
> ui: sdn: avoid flicker when opening wireguard dialogs
> ui: sdn: skip delete confirmation for unsaved wireguard interfaces
>
> [...]
Applied, thanks!
[1/3] ui: sdn: improve wireguard node edit dialog with no interfaces
commit: f89e0b4c872de778d673e6fdc998029a26c5cd19
[2/3] ui: sdn: avoid flicker when opening wireguard dialogs
commit: 1b5f326af1fcfce351917eabb9aade303667d863
[3/3] ui: sdn: skip delete confirmation for unsaved wireguard interfaces
commit: 4049266a454221e66aa27491954af28532a58bb2
^ permalink raw reply [flat|nested] 5+ messages in thread