]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/qemu/SystemEdit.js
ui: add 'win11' ostype and set defaults in wizard
[pve-manager.git] / www / manager6 / qemu / SystemEdit.js
CommitLineData
a1ee14a2
DC
1Ext.define('PVE.qemu.SystemInputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
3 xtype: 'pveQemuSystemPanel',
4
3a958fd5 5 onlineHelp: 'qm_system_settings',
a1ee14a2
DC
6
7 viewModel: {
8 data: {
9 efi: false,
f6710aac 10 addefi: true,
a1ee14a2
DC
11 },
12
13 formulas: {
14 efidisk: function(get) {
15 return get('efi') && get('addefi');
f6710aac
TL
16 },
17 },
a1ee14a2
DC
18 },
19
20 onGetValues: function(values) {
f6710aac
TL
21 if (values.vga && values.vga.substr(0, 6) === 'serial') {
22 values['serial' + values.vga.substr(6, 1)] = 'socket';
a1ee14a2
DC
23 }
24
a1ee14a2
DC
25 delete values.hdimage;
26 delete values.hdstorage;
27 delete values.diskformat;
28
fd12adfb 29 delete values.preEnrolledKeys; // efidisk
78b3c3df 30 delete values.version; // tpmstate
a1ee14a2
DC
31
32 return values;
33 },
34
35 controller: {
36 xclass: 'Ext.app.ViewController',
37
38 scsihwChange: function(field, value) {
39 var me = this;
40 if (me.getView().insideWizard) {
41 me.getViewModel().set('current.scsihw', value);
42 }
43 },
44
45 biosChange: function(field, value) {
46 var me = this;
47 if (me.getView().insideWizard) {
48 me.getViewModel().set('efi', value === 'ovmf');
49 }
50 },
51
52 control: {
53 'pveScsiHwSelector': {
f6710aac 54 change: 'scsihwChange',
a1ee14a2
DC
55 },
56 'pveQemuBiosSelector': {
f6710aac
TL
57 change: 'biosChange',
58 },
a9175b0b
SR
59 '#': {
60 afterrender: 'setMachine',
61 },
62 },
63
64 setMachine: function() {
65 let me = this;
66 let vm = this.getViewModel();
67 let ostype = vm.get('current.ostype');
68 if (ostype === 'win11') {
69 me.lookup('machine').setValue('q35');
70 me.lookup('bios').setValue('ovmf');
71 me.lookup('addtpmbox').setValue(true);
72 }
f6710aac 73 },
a1ee14a2
DC
74 },
75
76 column1: [
77 {
78 xtype: 'proxmoxKVComboBox',
79 value: '__default__',
80 deleteEmpty: false,
81 fieldLabel: gettext('Graphic card'),
82 name: 'vga',
f6710aac 83 comboItems: PVE.Utils.kvm_vga_driver_array(),
a1ee14a2
DC
84 },
85 {
b0a0b17d
SR
86 xtype: 'proxmoxKVComboBox',
87 name: 'machine',
a9175b0b 88 reference: 'machine',
a1ee14a2 89 value: '__default__',
b0a0b17d
SR
90 fieldLabel: gettext('Machine'),
91 comboItems: [
92 ['__default__', PVE.Utils.render_qemu_machine('')],
93 ['q35', 'q35'],
94 ],
f6710aac 95 },
a1ee14a2
DC
96 {
97 xtype: 'pveQemuBiosSelector',
98 name: 'bios',
a9175b0b 99 reference: 'bios',
a1ee14a2 100 value: '__default__',
f6710aac 101 fieldLabel: 'BIOS',
a1ee14a2
DC
102 },
103 {
104 xtype: 'proxmoxcheckbox',
a1ee14a2
DC
105 bind: {
106 value: '{addefi}',
107 hidden: '{!efi}',
f6710aac 108 disabled: '{!efi}',
a1ee14a2
DC
109 },
110 hidden: true,
c24fdb62 111 submitValue: false,
a1ee14a2 112 disabled: true,
f6710aac 113 fieldLabel: gettext('Add EFI Disk'),
a1ee14a2
DC
114 },
115 {
fd12adfb 116 xtype: 'pveEFIDiskInputPanel',
a1ee14a2 117 name: 'efidisk0',
a1ee14a2
DC
118 storageContent: 'images',
119 bind: {
120 nodename: '{nodename}',
121 hidden: '{!efi}',
f6710aac 122 disabled: '{!efidisk}',
a1ee14a2
DC
123 },
124 autoSelect: false,
125 disabled: true,
126 hidden: true,
f6710aac 127 hideSize: true,
fd12adfb 128 usesEFI: true,
f6710aac 129 },
a1ee14a2
DC
130 ],
131
b0a0b17d 132 column2: [
a1ee14a2 133 {
b0a0b17d
SR
134 xtype: 'pveScsiHwSelector',
135 name: 'scsihw',
a1ee14a2 136 value: '__default__',
b0a0b17d
SR
137 bind: {
138 value: '{current.scsihw}',
139 },
140 fieldLabel: gettext('SCSI Controller'),
141 },
142 {
143 xtype: 'proxmoxcheckbox',
144 name: 'agent',
145 uncheckedValue: 0,
146 defaultValue: 0,
147 deleteDefaultValue: true,
148 fieldLabel: gettext('Qemu Agent'),
f6710aac 149 },
78b3c3df
TL
150 {
151 xtype: 'proxmoxcheckbox',
152 reference: 'addtpmbox',
153 bind: {
154 value: '{addtpm}',
155 },
156 submitValue: false,
157 fieldLabel: gettext('Add TPM'),
158 },
159 {
160 xtype: 'pveTPMDiskInputPanel',
161 name: 'tpmstate0',
162 storageContent: 'images',
163 bind: {
164 nodename: '{nodename}',
165 hidden: '{!addtpm}',
166 disabled: '{!addtpm}',
167 },
168 disabled: true,
169 hidden: true,
170 },
f6710aac 171 ],
a1ee14a2
DC
172
173});