]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/OSTypeEdit.js
1 Ext
.define('PVE.qemu.OSTypeInputPanel', {
2 extend
: 'Proxmox.panel.InputPanel',
3 alias
: 'widget.pveQemuOSTypePanel',
4 onlineHelp
: 'qm_os_settings',
8 xclass
: 'Ext.app.ViewController',
10 'combobox[name=osbase]': {
11 change
: 'onOSBaseChange'
13 'combobox[name=ostype]': {
14 afterrender
: 'onOSTypeChange',
15 change
: 'onOSTypeChange'
18 onOSBaseChange: function(field
, value
) {
19 this.lookup('ostype').getStore().setData(PVE
.Utils
.kvm_ostypes
[value
]);
21 onOSTypeChange: function(field
) {
22 var me
= this, ostype
= field
.getValue();
23 if (!me
.getView().insideWizard
) {
26 var targetValues
= PVE
.qemu
.OSDefaults
.getDefaults(ostype
);
28 me
.setWidget('pveBusSelector', targetValues
.busType
);
29 me
.setWidget('pveNetworkCardSelector', targetValues
.networkCard
);
30 me
.setWidget('field[name=scsihw]', targetValues
.scsihw
);
32 setWidget: function(widget
, newValue
) {
33 // changing a widget is safe only if ComponentQuery.query returns us
34 // a single value array
35 var widgets
= Ext
.ComponentQuery
.query('pveQemuCreateWizard ' + widget
);
36 if (widgets
.length
=== 1) {
37 widgets
[0].setValue(newValue
);
39 throw 'non unique widget :' + widget
+ ' in Wizard';
44 initComponent : function() {
47 /*jslint confusion: true */
50 xtype
: 'displayfield',
51 value
: gettext('Guest OS') + ':',
52 hidden
: !me
.insideWizard
58 fieldLabel
: gettext('Type'),
62 store
: Object
.keys(PVE
.Utils
.kvm_ostypes
)
68 fieldLabel
: gettext('Version'),
76 fields
: ['desc', 'val'],
77 data
: PVE
.Utils
.kvm_ostypes
.Linux
,
79 datachanged: function (store
) {
80 var ostype
= me
.lookup('ostype');
81 var old_val
= ostype
.getValue();
82 if (!me
.insideWizard
&& old_val
&& store
.find('val', old_val
) != -1) {
83 ostype
.setValue(old_val
);
85 ostype
.setValue(store
.getAt(0));
92 /*jslint confusion: false */
98 Ext
.define('PVE.qemu.OSTypeEdit', {
99 extend
: 'Proxmox.window.Edit',
103 items
: [{ xtype
: 'pveQemuOSTypePanel' }],
105 initComponent : function() {
111 success: function(response
, options
) {
112 var value
= response
.result
.data
.ostype
|| 'other';
113 var osinfo
= PVE
.Utils
.get_kvm_osinfo(value
);
114 me
.setValues({ ostype
: value
, osbase
: osinfo
.base
});