layout: 'fit',
defaults: {
- margin: '0 0 5 0'
+ margin: '0 0 5 0',
},
// the fieldLabel for the storageselector
// hides the size field (e.g, for the efi disk dialog)
hideSize: false,
- // sets the intial size value
+ // hides the format field (e.g. for TPM state)
+ hideFormat: false,
+
+ // sets the initial size value
// string because else we get a type confusion
defaultSize: '32',
return;
}
- var selectformat = false;
+ let validFormats = {};
+ let selectFormat = 'raw';
if (rec.data.format) {
- var format = rec.data.format[0]; // 0 is the formats, 1 the default in the backend
- delete format.subvol; // we never need subvol in the gui
- selectformat = (Ext.Object.getSize(format) > 1);
+ validFormats = rec.data.format[0]; // 0 is the formats, 1 the default in the backend
+ delete validFormats.subvol; // we never need subvol in the gui
+ if (validFormats.qcow2) {
+ selectFormat = 'qcow2';
+ } else if (validFormats.raw) {
+ selectFormat = 'raw';
+ } else {
+ selectFormat = rec.data.format[1];
+ }
}
var select = !!rec.data.select_existing && !me.hideSelection;
- formatsel.setDisabled(!selectformat);
- formatsel.setValue(selectformat ? 'qcow2' : 'raw');
+ formatsel.setDisabled(me.hideFormat || Ext.Object.getSize(validFormats) <= 1);
+ formatsel.setValue(selectFormat);
hdfilesel.setDisabled(!select);
hdfilesel.setVisible(select);
xtype: 'pveStorageSelector',
itemId: 'hdstorage',
name: 'hdstorage',
- reference: 'hdstorage',
fieldLabel: me.storageLabel,
nodename: me.nodename,
storageContent: me.storageContent,
listeners: {
change: {
fn: me.changeStorage,
- scope: me
- }
- }
+ scope: me,
+ },
+ },
},
{
xtype: 'pveFileSelector',
name: 'hdimage',
- reference: 'hdimage',
itemId: 'hdimage',
fieldLabel: gettext('Disk image'),
nodename: me.nodename,
disabled: true,
- hidden: true
+ hidden: true,
},
{
xtype: 'numberfield',
itemId: 'disksize',
- reference: 'disksize',
name: 'disksize',
fieldLabel: gettext('Disk size') + ' (GiB)',
hidden: me.hideSize,
maxValue: 128*1024,
decimalPrecision: 3,
value: me.defaultSize,
- allowBlank: false
+ allowBlank: false,
},
{
xtype: 'pveDiskFormatSelector',
itemId: 'diskformat',
- reference: 'diskformat',
name: 'diskformat',
fieldLabel: gettext('Format'),
nodename: me.nodename,
disabled: true,
- hidden: me.storageContent === 'rootdir',
+ hidden: me.hideFormat || me.storageContent === 'rootdir',
value: 'qcow2',
- allowBlank: false
- }
+ allowBlank: false,
+ },
];
// use it to disable the children but not ourself
me.disabled = false;
me.callParent();
- }
+ },
});