]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/CPUModelSelector.js
1 Ext
.define('PVE.data.CPUModel', {
2 extend
: 'Ext.data.Model',
7 { name
: 'displayname' },
11 Ext
.define('PVE.form.CPUModelSelector', {
12 extend
: 'Proxmox.form.ComboGrid',
13 alias
: ['widget.CPUModelSelector'],
16 displayField
: 'displayname',
18 emptyText
: Proxmox
.Utils
.defaultText
+ ' (kvm64)',
31 header
: gettext('Model'),
32 dataIndex
: 'displayname',
38 header
: gettext('Vendor'),
50 model
: 'PVE.data.CPUModel',
53 url
: '/api2/json/nodes/localhost/capabilities/qemu/cpu',
57 sorterFn: function(recordA
, recordB
) {
61 let vendorOrder
= PVE
.Utils
.cpu_vendor_order
;
62 let orderA
= vendorOrder
[a
.vendor
] || vendorOrder
._default_
;
63 let orderB
= vendorOrder
[b
.vendor
] || vendorOrder
._default_
;
65 if (orderA
> orderB
) {
67 } else if (orderA
< orderB
) {
71 // Within same vendor, sort alphabetically
72 return a
.name
.localeCompare(b
.name
);
78 load: function(store
, records
, success
) {
80 records
.forEach(rec
=> {
81 rec
.data
.displayname
= rec
.data
.name
.replace(/^custom-/, '');
83 let vendor
= rec
.data
.vendor
;
85 if (rec
.data
.name
=== 'host') {
89 // We receive vendor names as given to QEMU as CPUID
90 vendor
= PVE
.Utils
.cpu_vendor_map
[vendor
] || vendor
;
92 if (rec
.data
.custom
) {
93 vendor
= gettext('Custom') + ` (${vendor})`;
96 rec
.data
.vendor
= vendor
;