From: Dominik Csapak Date: Mon, 11 Mar 2024 10:57:57 +0000 (+0100) Subject: ui: guest import: add ostype selector X-Git-Url: https://git.proxmox.com/?p=pve-manager.git;a=commitdiff_plain;h=4fb223f75ed2a4f0472b4d582e0f033c396f2856 ui: guest import: add ostype selector Signed-off-by: Dominik Csapak --- diff --git a/www/manager6/window/GuestImport.js b/www/manager6/window/GuestImport.js index 70cdb75f..f5809c32 100644 --- a/www/manager6/window/GuestImport.js +++ b/www/manager6/window/GuestImport.js @@ -52,6 +52,19 @@ Ext.define('PVE.window.GuestImport', { }); }, + onOSBaseChange: function(_field, value) { + let me = this; + let ostype = me.lookup('ostype'); + let store = ostype.getStore(); + store.setData(PVE.Utils.kvm_ostypes[value]); + let old_val = ostype.getValue(); + if (old_val && store.find('val', old_val) !== -1) { + ostype.setValue(old_val); + } else { + ostype.setValue(store.getAt(0)); + } + }, + control: { 'grid field': { // update records from widgetcolumns @@ -64,6 +77,9 @@ Ext.define('PVE.window.GuestImport', { 'pveStorageSelector': { change: 'storageChange', }, + 'field[name=osbase]': { + change: 'onOSBaseChange', + }, }, }, @@ -195,6 +211,32 @@ Ext.define('PVE.window.GuestImport', { value: '{totalCoreCount}', }, }, + { + xtype: 'combobox', + submitValue: false, + name: 'osbase', + fieldLabel: gettext('OS Type'), + editable: false, + queryMode: 'local', + value: 'Linux', + store: Object.keys(PVE.Utils.kvm_ostypes), + }, + { + xtype: 'combobox', + name: 'ostype', + reference: 'ostype', + fieldLabel: gettext('Version'), + value: 'l26', + allowBlank: false, + editable: false, + queryMode: 'local', + valueField: 'val', + displayField: 'desc', + store: { + fields: ['desc', 'val'], + data: PVE.Utils.kvm_ostypes.Linux, + }, + }, ], columnB: [ { @@ -397,7 +439,12 @@ Ext.define('PVE.window.GuestImport', { me.getViewModel().set('warnings', data.warnings.map(w => renderWarning(w))); - me.setValues(me.vmConfig); + let osinfo = PVE.Utils.get_kvm_osinfo(me.vmConfig.ostype ?? ''); + + me.setValues({ + osbase: osinfo.base, + ...me.vmConfig, + }); }, }); },