]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/SystemEdit.js
gui: add qemu/SystemEdit
[pve-manager.git] / www / manager6 / qemu / SystemEdit.js
1 /*jslint confusion: true*/
2 Ext.define('PVE.qemu.SystemInputPanel', {
3 extend: 'Proxmox.panel.InputPanel',
4 xtype: 'pveQemuSystemPanel',
5
6 onlineHelp: 'qm_virtual_machines_settings',
7
8 viewModel: {
9 data: {
10 efi: false,
11 addefi: true
12 },
13
14 formulas: {
15 efidisk: function(get) {
16 return get('efi') && get('addefi');
17 }
18 }
19 },
20
21 onGetValues: function(values) {
22 if (values.vga && values.vga.substr(0,6) === 'serial') {
23 values['serial' + values.vga.substr(6,1)] = 'socket';
24 }
25
26 var efidrive = {};
27 if (values.hdimage) {
28 efidrive.file = values.hdimage;
29 } else if (values.hdstorage) {
30 efidrive.file = values.hdstorage + ":1";
31 }
32
33 if (values.diskformat) {
34 efidrive.format = values.diskformat;
35 }
36
37 delete values.hdimage;
38 delete values.hdstorage;
39 delete values.diskformat;
40
41 if (efidrive.file) {
42 values.efidisk0 = PVE.Parser.printQemuDrive(efidrive);
43 }
44
45 return values;
46 },
47
48 controller: {
49 xclass: 'Ext.app.ViewController',
50
51 scsihwChange: function(field, value) {
52 var me = this;
53 if (me.getView().insideWizard) {
54 me.getViewModel().set('current.scsihw', value);
55 }
56 },
57
58 biosChange: function(field, value) {
59 var me = this;
60 if (me.getView().insideWizard) {
61 me.getViewModel().set('efi', value === 'ovmf');
62 }
63 },
64
65 control: {
66 'pveScsiHwSelector': {
67 change: 'scsihwChange'
68 },
69 'pveQemuBiosSelector': {
70 change: 'biosChange'
71 }
72 }
73 },
74
75 column1: [
76 {
77 xtype: 'proxmoxKVComboBox',
78 value: '__default__',
79 deleteEmpty: false,
80 fieldLabel: gettext('Graphic card'),
81 name: 'vga',
82 comboItems: PVE.Utils.kvm_vga_driver_array()
83 },
84 {
85 xtype: 'proxmoxcheckbox',
86 name: 'agent',
87 uncheckedValue: 0,
88 defaultValue: 0,
89 deleteDefaultValue: true,
90 fieldLabel: gettext('Qemu Agent')
91 }
92 ],
93
94 column2: [
95 {
96 xtype: 'pveScsiHwSelector',
97 name: 'scsihw',
98 value: '__default__',
99 bind: {
100 value: '{current.scsihw}'
101 },
102 fieldLabel: gettext('SCSI Controller')
103 }
104 ],
105
106 advancedColumn1: [
107 {
108 xtype: 'pveQemuBiosSelector',
109 name: 'bios',
110 value: '__default__',
111 fieldLabel: 'BIOS'
112 },
113 {
114 xtype: 'proxmoxcheckbox',
115 name: 'eficb',
116 reference: 'eficb',
117 bind: {
118 value: '{addefi}',
119 hidden: '{!efi}',
120 disabled: '{!efi}'
121 },
122 hidden: true,
123 disabled: true,
124 fieldLabel: gettext('Add EFI Disk')
125 },
126 {
127 xtype: 'pveDiskStorageSelector',
128 name: 'efidisk0',
129 reference: 'efidisk',
130 storageContent: 'images',
131 bind: {
132 nodename: '{nodename}',
133 hidden: '{!efi}',
134 disabled: '{!efidisk}'
135 },
136 autoSelect: false,
137 disabled: true,
138 hidden: true,
139 hideSize: true
140 }
141 ],
142
143 advancedColumn2: [
144 {
145 xtype: 'proxmoxKVComboBox',
146 name: 'machine',
147 value: '__default__',
148 fieldLabel: gettext('Machine'),
149 comboItems: [
150 ['__default__', PVE.Utils.render_qemu_machine('')],
151 ['q35', 'q35']
152 ]
153 }
154 ]
155
156 });