mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-06-02 08:20:32 +00:00

This fixes around 20 jslint type confusion warnings. Also reduce the scope and document jslint warnings along the way. No functional changes.
136 lines
3.0 KiB
JavaScript
136 lines
3.0 KiB
JavaScript
Ext.define('PVE.qemu.EFIDiskInputPanel', {
|
|
extend: 'PVE.panel.InputPanel',
|
|
alias: 'widget.pveEFIDiskInputPanel',
|
|
|
|
insideWizard: false,
|
|
|
|
unused: false, // ADD usused disk imaged
|
|
|
|
vmconfig: {}, // used to select usused disks
|
|
|
|
controller: {
|
|
|
|
xclass: 'Ext.app.ViewController',
|
|
|
|
control: {
|
|
'field[name=hdstorage]': {
|
|
change: function(f, value) {
|
|
if (!value) { // initial store loading fires an unwanted 'change'
|
|
return;
|
|
}
|
|
var me = this.getView();
|
|
var rec = f.store.getById(value);
|
|
|
|
var rawArray = ['iscsi', 'lvm', 'lvmthin', 'drbd', 'rbd', 'sheepdog', 'zfs', 'zfspool'];
|
|
|
|
me.hdfilesel.setDisabled(true);
|
|
me.hdfilesel.setVisible(false);
|
|
me.formatsel.setValue('qcow2');
|
|
me.formatsel.setDisabled(false);
|
|
|
|
// if rec.data.type exists in the array
|
|
if (rawArray.indexOf(rec.data.type) !== -1) {
|
|
me.formatsel.setValue('raw');
|
|
me.formatsel.setDisabled(true);
|
|
}
|
|
|
|
if (rec.data.type === 'iscsi') {
|
|
me.hdfilesel.setStorage(value);
|
|
me.hdfilesel.setDisabled(false);
|
|
me.hdfilesel.setVisible(true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
onGetValues: function(values) {
|
|
var me = this;
|
|
|
|
var confid = 'efidisk0';
|
|
|
|
if (values.hdimage) {
|
|
me.drive.file = values.hdimage;
|
|
} else {
|
|
// we use 1 here, because for efi the size gets overridden from the backend
|
|
me.drive.file = values.hdstorage + ":1";
|
|
}
|
|
|
|
me.drive.format = values.diskformat;
|
|
var params = {};
|
|
params[confid] = PVE.Parser.printQemuDrive(me.drive);
|
|
return params;
|
|
},
|
|
|
|
setNodename: function(nodename) {
|
|
var me = this;
|
|
me.hdstoragesel.setNodename(nodename);
|
|
me.hdfilesel.setStorage(undefined, nodename);
|
|
},
|
|
|
|
initComponent : function() {
|
|
var me = this;
|
|
|
|
me.drive = {};
|
|
|
|
me.items= [];
|
|
|
|
me.formatsel = Ext.create('PVE.form.DiskFormatSelector', {
|
|
name: 'diskformat',
|
|
fieldLabel: gettext('Format'),
|
|
value: 'qcow2',
|
|
allowBlank: false
|
|
});
|
|
|
|
me.hdfilesel = Ext.create('PVE.form.FileSelector', {
|
|
name: 'hdimage',
|
|
nodename: me.nodename,
|
|
storageContent: 'images',
|
|
fieldLabel: gettext('Disk image'),
|
|
disabled: true,
|
|
hidden: true,
|
|
allowBlank: false
|
|
});
|
|
|
|
me.hdstoragesel = Ext.create('PVE.form.StorageSelector', {
|
|
name: 'hdstorage',
|
|
nodename: me.nodename,
|
|
fieldLabel: gettext('Storage'),
|
|
storageContent: 'images',
|
|
autoSelect: me.insideWizard,
|
|
allowBlank: false
|
|
});
|
|
me.items.push(me.hdstoragesel);
|
|
me.items.push(me.hdfilesel);
|
|
me.items.push(me.formatsel);
|
|
|
|
me.callParent();
|
|
}
|
|
});
|
|
|
|
Ext.define('PVE.qemu.EFIDiskEdit', {
|
|
extend: 'PVE.window.Edit',
|
|
|
|
isAdd: true,
|
|
subject: gettext('EFI Disk'),
|
|
|
|
initComponent : function() {
|
|
var me = this;
|
|
|
|
var nodename = me.pveSelNode.data.node;
|
|
if (!nodename) {
|
|
throw "no node name specified";
|
|
}
|
|
|
|
me.items = [{
|
|
xtype: 'pveEFIDiskInputPanel',
|
|
onlineHelp: 'qm_bios_and_uefi',
|
|
confid: me.confid,
|
|
nodename: nodename,
|
|
isCreate: true
|
|
}];
|
|
|
|
me.callParent();
|
|
}
|
|
});
|