Am 22.01.26 um 15:01 schrieb Dominik Csapak:
> instead of having to type out the full path, e.g. 'foo/bar/baz',
> show a 'pool selector' to select the parent pool.
> 
> This makes creating nested pools more obvious and easier.
> 
> Signed-off-by: Dominik Csapak <[email protected]>
> ---
>  www/manager6/dc/PoolEdit.js | 48 +++++++++++++++++++++++++++----------
>  1 file changed, 35 insertions(+), 13 deletions(-)
> 
> diff --git a/www/manager6/dc/PoolEdit.js b/www/manager6/dc/PoolEdit.js
> index 72a084ac..325f649b 100644
> --- a/www/manager6/dc/PoolEdit.js
> +++ b/www/manager6/dc/PoolEdit.js
> @@ -17,20 +17,42 @@ Ext.define('PVE.dc.PoolEdit', {
>  
>      items: [
>          {
> -            xtype: 'pmxDisplayEditField',
> -            fieldLabel: gettext('Name'),
> -            cbind: {
> -                editable: '{isCreate}',
> -                value: '{poolid}',
> +            xtype: 'inputpanel',
> +            onGetValues: function (values) {
> +                if (values.parentPool) {
> +                    values.poolid = values.parentPool + '/' + values.poolid;
> +                    delete values.parentPool;
> +                }

If values.parentPool is an empty string it will evaluate to falsy above, but
then still exist and gets submitted, so with this patch one cannot create any
top-level pool anymore.

Something else, one can mix-and match parent field and using / separators
in the name, seems a bit odd and potentially confusing UX wise.

Maybe it would be better to just disallow using / in the name then, having
that would be only useful if we would also created all intermediate pools,
which we currently don't.

> +                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}',
> +                    },
> +                    name: 'poolid',
> +                    allowBlank: false,
> +                },
> +                {
> +                    xtype: 'pvePoolSelector',
> +                    name: 'parentPool',
> +                    fieldLabel: gettext('Parent Pool'),
> +                    allowBlank: true,
> +                    cbind: {
> +                        disabled: '{!isCreate}',
> +                        hidden: '{!isCreate}',
> +                    },
> +                },
> +                {
> +                    xtype: 'textfield',
> +                    fieldLabel: gettext('Comment'),
> +                    name: 'comment',
> +                    allowBlank: true,
> +                },
> +            ],
>          },
>      ],
>  



_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to