Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/lxc/MPEdit.js | 119 ++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 87 deletions(-)
diff --git a/www/manager6/lxc/MPEdit.js b/www/manager6/lxc/MPEdit.js index 1238d086..eaab0193 100644 --- a/www/manager6/lxc/MPEdit.js +++ b/www/manager6/lxc/MPEdit.js @@ -19,7 +19,7 @@ Ext.define('PVE.lxc.MountPointInputPanel', { me.mpdata.file = me.vmconfig[values.unusedId]; confid = values.mpsel; } else if (me.isCreate) { - me.mpdata.file = values.storage + ':' + values.disksize; + me.mpdata.file = values.hdstorage + ':' + values.disksize; } if (confid !== 'rootfs') { @@ -63,6 +63,11 @@ Ext.define('PVE.lxc.MountPointInputPanel', { setMountPoint: function(mp) { var me = this; + // the fields name is 'hdstorage', + // but the api expects/has 'storage' + mp.hdstorage = mp.storage; + delete mp.hdstorage; + me.mpdata = mp; if (!Ext.isDefined(me.mpdata.acl)) { me.mpdata.acl = 'Default'; @@ -73,7 +78,7 @@ Ext.define('PVE.lxc.MountPointInputPanel', { me.quota.setValue(false); me.acl.setDisabled(true); me.acl.setValue('Default'); - me.hdstoragesel.setDisabled(true); + me.down('#hdstorage').setDisabled(true); if (me.confid !== 'rootfs') { me.backup.setDisabled(true); } @@ -117,8 +122,8 @@ Ext.define('PVE.lxc.MountPointInputPanel', { setNodename: function(nodename) { var me = this; - me.hdstoragesel.setNodename(nodename); - me.hdfilesel.setStorage(undefined, nodename); + me.down('#hdstorage').setNodename(nodename); + me.down('#hdimage').setStorage(undefined, nodename); }, initComponent : function() { @@ -162,69 +167,13 @@ Ext.define('PVE.lxc.MountPointInputPanel', { me.column1.push(me.mpsel); } - // we always have this around, but only visible when creating a new mp - // since this handles per-filesystem capabilities - me.hdstoragesel = Ext.create('PVE.form.StorageSelector', { - name: 'storage', + me.column1.push({ + xtype: 'pveDiskStorageSelector', nodename: me.nodename, - fieldLabel: gettext('Storage'), storageContent: 'rootdir', - allowBlank: false, autoSelect: true, - hidden: me.unused || !me.isCreate, - listeners: { - change: function(f, value) { - if (!value) { // initial store loading fires an unwanted 'change' - return; - } - if (me.mpdata.type === 'bind') { - me.quota.setDisabled(true); - me.quota.setValue(false); - me.acl.setDisabled(true); - me.acl.setValue('Default'); - if (!isroot) { - me.backup.setDisabled(true); - } - return; - } - var rec = f.store.getById(value); - if (rec && - (rec.data.type === 'zfs' || - rec.data.type === 'zfspool')) { - me.quota.setDisabled(true); - me.quota.setValue(false); - } else { - me.quota.setDisabled(false); - } - if (me.unused || !me.isCreate) { - return; - } - if (rec.data.type === 'iscsi') { - me.hdfilesel.setStorage(value); - me.hdfilesel.setDisabled(false); - me.hdfilesel.setVisible(true); - me.hdsizesel.setDisabled(true); - me.hdsizesel.setVisible(false); - } else if (rec.data.type === 'lvm' || - rec.data.type === 'lvmthin' || - rec.data.type === 'rbd' || - rec.data.type === 'sheepdog' || - rec.data.type === 'zfs' || - rec.data.type === 'zfspool') { - me.hdfilesel.setDisabled(true); - me.hdfilesel.setVisible(false); - me.hdsizesel.setDisabled(false); - me.hdsizesel.setVisible(true); - } else { - me.hdfilesel.setDisabled(true); - me.hdfilesel.setVisible(false); - me.hdsizesel.setDisabled(false); - me.hdsizesel.setVisible(true); - } - } - } + hidden: me.unused || !me.isCreate }); - me.column1.push(me.hdstoragesel); if (me.unused) { me.unusedDisks = Ext.create('PVE.form.KVComboBox', { @@ -242,34 +191,12 @@ Ext.define('PVE.lxc.MountPointInputPanel', { // between images on different storages: var disk = me.vmconfig[value]; var storage = disk.split(':')[0]; - me.hdstoragesel.setValue(storage); + me.down('#hdstorage').setValue(storage); } } }); me.column1.push(me.unusedDisks); - } else if (me.isCreate) { - me.hdfilesel = Ext.create('PVE.form.FileSelector', { - name: 'file', - nodename: me.nodename, - storageContent: 'images', - fieldLabel: gettext('Disk image'), - disabled: true, - hidden: true, - allowBlank: false - }); - me.hdsizesel = Ext.createWidget('numberfield', { - name: 'disksize', - minValue: 0.1, - maxValue: 128*1024, - decimalPrecision: 3, - value: '8', - step: 1, - fieldLabel: gettext('Disk size') + ' (GB)', - allowBlank: false - }); - me.column1.push(me.hdfilesel); - me.column1.push(me.hdsizesel); - } else { + } else if (!me.isCreate) { me.column1.push({ xtype: 'textfield', disabled: true, @@ -332,6 +259,24 @@ Ext.define('PVE.lxc.MountPointInputPanel', { } me.callParent(); + + if (me.unused || me.isCreate) { + me.mon(me.down('#hdstorage'), 'change', function(field, newValue) { + if (!newValue) { + return; + } + var rec = field.store.getById(newValue); + if (!rec) { + return; + } + if (rec.data.type === 'zfs' || rec.data.type === 'zfspool') { + me.quota.setDisabled(true); + me.quota.setValue(false); + } else { + me.quota.setDisabled(false); + } + }); + } } }); -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel