]>
Commit | Line | Data |
---|---|---|
a1ee14a2 DC |
1 | Ext.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 | ||
25 | var efidrive = {}; | |
26 | if (values.hdimage) { | |
27 | efidrive.file = values.hdimage; | |
28 | } else if (values.hdstorage) { | |
29 | efidrive.file = values.hdstorage + ":1"; | |
30 | } | |
31 | ||
32 | if (values.diskformat) { | |
33 | efidrive.format = values.diskformat; | |
34 | } | |
35 | ||
36 | delete values.hdimage; | |
37 | delete values.hdstorage; | |
38 | delete values.diskformat; | |
39 | ||
40 | if (efidrive.file) { | |
41 | values.efidisk0 = PVE.Parser.printQemuDrive(efidrive); | |
42 | } | |
43 | ||
44 | return values; | |
45 | }, | |
46 | ||
47 | controller: { | |
48 | xclass: 'Ext.app.ViewController', | |
49 | ||
50 | scsihwChange: function(field, value) { | |
51 | var me = this; | |
52 | if (me.getView().insideWizard) { | |
53 | me.getViewModel().set('current.scsihw', value); | |
54 | } | |
55 | }, | |
56 | ||
57 | biosChange: function(field, value) { | |
58 | var me = this; | |
59 | if (me.getView().insideWizard) { | |
60 | me.getViewModel().set('efi', value === 'ovmf'); | |
61 | } | |
62 | }, | |
63 | ||
64 | control: { | |
65 | 'pveScsiHwSelector': { | |
f6710aac | 66 | change: 'scsihwChange', |
a1ee14a2 DC |
67 | }, |
68 | 'pveQemuBiosSelector': { | |
f6710aac TL |
69 | change: 'biosChange', |
70 | }, | |
71 | }, | |
a1ee14a2 DC |
72 | }, |
73 | ||
74 | column1: [ | |
75 | { | |
76 | xtype: 'proxmoxKVComboBox', | |
77 | value: '__default__', | |
78 | deleteEmpty: false, | |
79 | fieldLabel: gettext('Graphic card'), | |
80 | name: 'vga', | |
f6710aac | 81 | comboItems: PVE.Utils.kvm_vga_driver_array(), |
a1ee14a2 DC |
82 | }, |
83 | { | |
84 | xtype: 'proxmoxcheckbox', | |
85 | name: 'agent', | |
86 | uncheckedValue: 0, | |
87 | defaultValue: 0, | |
88 | deleteDefaultValue: true, | |
f6710aac TL |
89 | fieldLabel: gettext('Qemu Agent'), |
90 | }, | |
a1ee14a2 DC |
91 | ], |
92 | ||
93 | column2: [ | |
94 | { | |
95 | xtype: 'pveScsiHwSelector', | |
96 | name: 'scsihw', | |
97 | value: '__default__', | |
98 | bind: { | |
f6710aac | 99 | value: '{current.scsihw}', |
a1ee14a2 | 100 | }, |
f6710aac TL |
101 | fieldLabel: gettext('SCSI Controller'), |
102 | }, | |
a1ee14a2 DC |
103 | ], |
104 | ||
105 | advancedColumn1: [ | |
106 | { | |
107 | xtype: 'pveQemuBiosSelector', | |
108 | name: 'bios', | |
109 | value: '__default__', | |
f6710aac | 110 | fieldLabel: 'BIOS', |
a1ee14a2 DC |
111 | }, |
112 | { | |
113 | xtype: 'proxmoxcheckbox', | |
a1ee14a2 DC |
114 | bind: { |
115 | value: '{addefi}', | |
116 | hidden: '{!efi}', | |
f6710aac | 117 | disabled: '{!efi}', |
a1ee14a2 DC |
118 | }, |
119 | hidden: true, | |
c24fdb62 | 120 | submitValue: false, |
a1ee14a2 | 121 | disabled: true, |
f6710aac | 122 | fieldLabel: gettext('Add EFI Disk'), |
a1ee14a2 DC |
123 | }, |
124 | { | |
125 | xtype: 'pveDiskStorageSelector', | |
126 | name: 'efidisk0', | |
a1ee14a2 DC |
127 | storageContent: 'images', |
128 | bind: { | |
129 | nodename: '{nodename}', | |
130 | hidden: '{!efi}', | |
f6710aac | 131 | disabled: '{!efidisk}', |
a1ee14a2 DC |
132 | }, |
133 | autoSelect: false, | |
134 | disabled: true, | |
135 | hidden: true, | |
f6710aac TL |
136 | hideSize: true, |
137 | }, | |
a1ee14a2 DC |
138 | ], |
139 | ||
140 | advancedColumn2: [ | |
141 | { | |
142 | xtype: 'proxmoxKVComboBox', | |
143 | name: 'machine', | |
144 | value: '__default__', | |
145 | fieldLabel: gettext('Machine'), | |
146 | comboItems: [ | |
147 | ['__default__', PVE.Utils.render_qemu_machine('')], | |
f6710aac TL |
148 | ['q35', 'q35'], |
149 | ], | |
150 | }, | |
151 | ], | |
a1ee14a2 DC |
152 | |
153 | }); |