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