- allowBlank: false
- });
-
- if (me.create) {
- var vgField = Ext.create('PVE.storage.VgSelector', {
- name: 'vgname',
- fieldLabel: gettext('Volume group'),
- allowBlank: false
- });
-
- var baseField = Ext.createWidget('pveFileSelector', {
- name: 'base',
- hidden: true,
- disabled: true,
- nodename: 'localhost',
- storageContent: 'images',
- fieldLabel: gettext('Base volume'),
- allowBlank: false
- });
-
- me.column1.push({
- xtype: 'pveBaseStorageSelector',
- name: 'basesel',
- fieldLabel: gettext('Base storage'),
- submitValue: false,
- listeners: {
- change: function(f, value) {
- if (value) {
- vgnameField.setVisible(true);
- vgnameField.setDisabled(false);
- vgField.setVisible(false);
- vgField.setDisabled(true);
- baseField.setVisible(true);
- baseField.setDisabled(false);
- } else {
- vgnameField.setVisible(false);
- vgnameField.setDisabled(true);
- vgField.setVisible(true);
- vgField.setDisabled(false);
- baseField.setVisible(false);
- baseField.setDisabled(true);
- }
- baseField.setStorage(value);
- }
- }
- });
-
- me.column1.push(baseField);
-
- me.column1.push(vgField);
- }
-
- me.column1.push(vgnameField);
-
- // here value is an array,
- // while before it was a string
- /*jslint confusion: true*/
- me.column1.push({
+ reference: 'volumeGroupSelector',
+ cbind: {
+ disabled: '{!isCreate}',
+ hidden: '{!isCreate}',
+ },
+ allowBlank: false,
+ listeners: {
+ nodechanged: function(value) {
+ this.up('inputpanel').lookup('storageNodeRestriction').setValue(value);
+ },
+ },
+ },
+ {
+ name: 'vgname',
+ fieldLabel: gettext('Volume group'),
+ reference: 'vgName',
+ cbind: {
+ xtype: (get) => get('isCreate') ? 'textfield' : 'displayfield',
+ hidden: '{isCreate}',
+ disabled: '{isCreate}',
+ },
+ value: '',
+ allowBlank: false,
+ },
+ {