]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/SystemEdit.js
update shipped appliance info index
[pve-manager.git] / www / manager6 / qemu / SystemEdit.js
1 Ext.define('PVE.qemu.SystemInputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
3 xtype: 'pveQemuSystemPanel',
4
5 onlineHelp: 'qm_system_settings',
6
7 viewModel: {
8 data: {
9 efi: false,
10 addefi: true,
11 },
12
13 formulas: {
14 efidisk: function(get) {
15 return get('efi') && get('addefi');
16 },
17 },
18 },
19
20 onGetValues: function(values) {
21 if (values.vga && values.vga.substr(0, 6) === 'serial') {
22 values['serial' + values.vga.substr(6, 1)] = 'socket';
23 }
24
25 delete values.hdimage;
26 delete values.hdstorage;
27 delete values.diskformat;
28
29 delete values.preEnrolledKeys; // efidisk
30 delete values.version; // tpmstate
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': {
54 change: 'scsihwChange',
55 },
56 'pveQemuBiosSelector': {
57 change: 'biosChange',
58 },
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 }
73 },
74 },
75
76 column1: [
77 {
78 xtype: 'proxmoxKVComboBox',
79 value: '__default__',
80 deleteEmpty: false,
81 fieldLabel: gettext('Graphic card'),
82 name: 'vga',
83 comboItems: Object.entries(PVE.Utils.kvm_vga_drivers),
84 },
85 {
86 xtype: 'proxmoxKVComboBox',
87 name: 'machine',
88 reference: 'machine',
89 value: '__default__',
90 fieldLabel: gettext('Machine'),
91 comboItems: [
92 ['__default__', PVE.Utils.render_qemu_machine('')],
93 ['q35', 'q35'],
94 ],
95 },
96 {
97 xtype: 'displayfield',
98 value: gettext('Firmware'),
99 },
100 {
101 xtype: 'pveQemuBiosSelector',
102 name: 'bios',
103 reference: 'bios',
104 value: '__default__',
105 fieldLabel: 'BIOS',
106 },
107 {
108 xtype: 'proxmoxcheckbox',
109 bind: {
110 value: '{addefi}',
111 hidden: '{!efi}',
112 disabled: '{!efi}',
113 },
114 hidden: true,
115 submitValue: false,
116 disabled: true,
117 fieldLabel: gettext('Add EFI Disk'),
118 },
119 {
120 xtype: 'pveEFIDiskInputPanel',
121 name: 'efidisk0',
122 storageContent: 'images',
123 bind: {
124 nodename: '{nodename}',
125 hidden: '{!efi}',
126 disabled: '{!efidisk}',
127 },
128 autoSelect: false,
129 disabled: true,
130 hidden: true,
131 hideSize: true,
132 usesEFI: true,
133 },
134 ],
135
136 column2: [
137 {
138 xtype: 'pveScsiHwSelector',
139 name: 'scsihw',
140 value: '__default__',
141 bind: {
142 value: '{current.scsihw}',
143 },
144 fieldLabel: gettext('SCSI Controller'),
145 },
146 {
147 xtype: 'proxmoxcheckbox',
148 name: 'agent',
149 uncheckedValue: 0,
150 defaultValue: 0,
151 deleteDefaultValue: true,
152 fieldLabel: gettext('Qemu Agent'),
153 },
154 {
155 // fake for spacing
156 xtype: 'displayfield',
157 value: ' ',
158 },
159 {
160 xtype: 'proxmoxcheckbox',
161 reference: 'addtpmbox',
162 bind: {
163 value: '{addtpm}',
164 },
165 submitValue: false,
166 fieldLabel: gettext('Add TPM'),
167 },
168 {
169 xtype: 'pveTPMDiskInputPanel',
170 name: 'tpmstate0',
171 storageContent: 'images',
172 bind: {
173 nodename: '{nodename}',
174 hidden: '{!addtpm}',
175 disabled: '{!addtpm}',
176 },
177 disabled: true,
178 hidden: true,
179 },
180 ],
181
182 });