]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/qemu/SystemEdit.js
update shipped appliance info index
[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',
56148f25 83 comboItems: Object.entries(PVE.Utils.kvm_vga_drivers),
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 },
cef0b24c
DC
96 {
97 xtype: 'displayfield',
98 value: gettext('Firmware'),
99 },
a1ee14a2
DC
100 {
101 xtype: 'pveQemuBiosSelector',
102 name: 'bios',
a9175b0b 103 reference: 'bios',
a1ee14a2 104 value: '__default__',
f6710aac 105 fieldLabel: 'BIOS',
a1ee14a2
DC
106 },
107 {
108 xtype: 'proxmoxcheckbox',
a1ee14a2
DC
109 bind: {
110 value: '{addefi}',
111 hidden: '{!efi}',
f6710aac 112 disabled: '{!efi}',
a1ee14a2
DC
113 },
114 hidden: true,
c24fdb62 115 submitValue: false,
a1ee14a2 116 disabled: true,
f6710aac 117 fieldLabel: gettext('Add EFI Disk'),
a1ee14a2
DC
118 },
119 {
fd12adfb 120 xtype: 'pveEFIDiskInputPanel',
a1ee14a2 121 name: 'efidisk0',
a1ee14a2
DC
122 storageContent: 'images',
123 bind: {
124 nodename: '{nodename}',
125 hidden: '{!efi}',
f6710aac 126 disabled: '{!efidisk}',
a1ee14a2
DC
127 },
128 autoSelect: false,
129 disabled: true,
130 hidden: true,
f6710aac 131 hideSize: true,
fd12adfb 132 usesEFI: true,
f6710aac 133 },
a1ee14a2
DC
134 ],
135
b0a0b17d 136 column2: [
a1ee14a2 137 {
b0a0b17d
SR
138 xtype: 'pveScsiHwSelector',
139 name: 'scsihw',
a1ee14a2 140 value: '__default__',
b0a0b17d
SR
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'),
f6710aac 153 },
cef0b24c
DC
154 {
155 // fake for spacing
156 xtype: 'displayfield',
157 value: ' ',
158 },
78b3c3df
TL
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 },
f6710aac 180 ],
a1ee14a2
DC
181
182});