From: Aaron Lauterer <a.lauterer@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Dominik Csapak <d.csapak@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager v2] ui: pool create: allow selecting parent pool via selector
Date: Mon, 31 Aug 2026 16:03:19 +0200 [thread overview]
Message-ID: <6a9f8cca-061f-4eee-8d10-ccf4ed842e39@proxmox.com> (raw)
In-Reply-To: <20260123074546.396323-1-d.csapak@proxmox.com>
Gave this a quick test.
Works as expected.
I guess that handling the 3rd level pools differently but still showing
them in the selector with a marking and not selectable will make the
whole thing a lot more complex. As in, a custom component potentially,
if the pvePoolSelector cannot do it.
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
On 2026-01-23 08:44, Dominik Csapak wrote:
> instead of having to type out the full path, e.g. 'foo/bar/baz',
> show a 'pool selector' to select the parent pool.
>
> Forbid using slashes in the name field so it's not possible to specify
> the structure with both the name and parent pool field.
>
> This makes creating nested pools more obvious and easier.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> changes from v1:
> * always delete 'parentPool' from values so we don't accidentally submit it
> * only consider parentPool if it's a non-empty string
> * add regex to the namefield to disallow slashes
> * add emptyText to the poolselector
>
> www/manager6/dc/PoolEdit.js | 52 +++++++++++++++++++++++++++----------
> 1 file changed, 39 insertions(+), 13 deletions(-)
>
> diff --git a/www/manager6/dc/PoolEdit.js b/www/manager6/dc/PoolEdit.js
> index 72a084ac..ee39137a 100644
> --- a/www/manager6/dc/PoolEdit.js
> +++ b/www/manager6/dc/PoolEdit.js
> @@ -17,20 +17,46 @@ Ext.define('PVE.dc.PoolEdit', {
>
> items: [
> {
> - xtype: 'pmxDisplayEditField',
> - fieldLabel: gettext('Name'),
> - cbind: {
> - editable: '{isCreate}',
> - value: '{poolid}',
> + xtype: 'inputpanel',
> + onGetValues: function (values) {
> + if (Ext.isString(values.parentPool) && values.parentPool.length > 0) {
> + values.poolid = values.parentPool + '/' + values.poolid;
> + }
> + delete values.parentPool;
> + return values;
> },
> - name: 'poolid',
> - allowBlank: false,
> - },
> - {
> - xtype: 'textfield',
> - fieldLabel: gettext('Comment'),
> - name: 'comment',
> - allowBlank: true,
> + items: [
> + {
> + xtype: 'pmxDisplayEditField',
> + fieldLabel: gettext('Name'),
> + cbind: {
> + editable: '{isCreate}',
> + value: '{poolid}',
> + },
> + editConfig: {
> + regex: /^[^/]+$/,
> + },
> + name: 'poolid',
> + allowBlank: false,
> + },
> + {
> + xtype: 'pvePoolSelector',
> + name: 'parentPool',
> + fieldLabel: gettext('Parent Pool'),
> + allowBlank: true,
> + emptyText: Proxmox.Utils.NoneText,
> + cbind: {
> + disabled: '{!isCreate}',
> + hidden: '{!isCreate}',
> + },
> + },
> + {
> + xtype: 'textfield',
> + fieldLabel: gettext('Comment'),
> + name: 'comment',
> + allowBlank: true,
> + },
> + ],
> },
> ],
>
next prev parent reply other threads:[~2026-08-31 14:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 7:42 [pve-devel] [PATCH manager v2] ui: pool create: allow selecting parent pool via selector Dominik Csapak
2026-08-31 9:26 ` Dominik Csapak
2026-08-31 13:43 ` Jakob Klocker
2026-08-31 14:03 ` Aaron Lauterer [this message]
2026-09-01 7:18 ` superseded: " Dominik Csapak
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=6a9f8cca-061f-4eee-8d10-ccf4ed842e39@proxmox.com \
--to=a.lauterer@proxmox.com \
--cc=d.csapak@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