pve-manager/www/manager6/qemu/HDEfi.js

118 lines
2.6 KiB
JavaScript
Raw Normal View History

Ext.define('PVE.qemu.EFIDiskInputPanel', {
extend: 'Proxmox.panel.InputPanel',
alias: 'widget.pveEFIDiskInputPanel',
insideWizard: false,
unused: false, // ADD usused disk imaged
vmconfig: {}, // used to select usused disks
onGetValues: function(values) {
var me = this;
if (me.disabled) {
return {};
}
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";
}
// always default to newer 4m type with secure boot support, if we're
// adding a new EFI disk there can't be any old state anyway
me.drive.efitype = '4m';
me.drive['pre-enrolled-keys'] = values.preEnrolledKeys;
delete values.preEnrolledKeys;
me.drive.format = values.diskformat;
let params = {};
params[confid] = PVE.Parser.printQemuDrive(me.drive);
return params;
},
setNodename: function(nodename) {
var me = this;
me.down('#hdstorage').setNodename(nodename);
me.down('#hdimage').setStorage(undefined, nodename);
},
setDisabled: function(disabled) {
let me = this;
me.down('pveDiskStorageSelector').setDisabled(disabled);
me.down('proxmoxcheckbox[name=preEnrolledKeys]').setDisabled(disabled);
me.callParent(arguments);
},
initComponent: function() {
var me = this;
me.drive = {};
me.items = [
{
xtype: 'pveDiskStorageSelector',
name: 'efidisk0',
storageLabel: gettext('EFI Storage'),
storageContent: 'images',
nodename: me.nodename,
disabled: me.disabled,
hideSize: true,
},
{
xtype: 'proxmoxcheckbox',
name: 'preEnrolledKeys',
checked: true,
fieldLabel: gettext("Pre-Enroll keys"),
disabled: me.disabled,
//boxLabel: '(e.g., Microsoft secure-boot keys')',
autoEl: {
tag: 'div',
'data-qtip': gettext('Use EFIvars image with standard distribution and Microsoft secure boot keys enrolled.'),
},
},
{
xtype: 'label',
text: gettext("Warning: The VM currently does not uses 'OVMF (UEFI)' as BIOS."),
userCls: 'pmx-hint',
hidden: me.usesEFI,
},
];
me.callParent();
},
});
Ext.define('PVE.qemu.EFIDiskEdit', {
extend: 'Proxmox.window.Edit',
isAdd: true,
subject: gettext('EFI Disk'),
width: 450,
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,
usesEFI: me.usesEFI,
isCreate: true,
}];
me.callParent();
},
});