]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/PCISelector.js
fix #5734: provide missing methods for Proxmox.Utils for mobile ui
[pve-manager.git] / www / manager6 / form / PCISelector.js
1 Ext.define('PVE.form.PCISelector', {
2 extend: 'Proxmox.form.ComboGrid',
3 xtype: 'pvePCISelector',
4
5 store: {
6 fields: ['id', 'vendor_name', 'device_name', 'vendor', 'device', 'iommugroup', 'mdev'],
7 filterOnLoad: true,
8 sorters: [
9 {
10 property: 'id',
11 direction: 'ASC',
12 },
13 ],
14 },
15
16 autoSelect: false,
17 valueField: 'id',
18 displayField: 'id',
19
20 // can contain a load callback for the store
21 // useful to determine the state of the IOMMU
22 onLoadCallBack: undefined,
23
24 listConfig: {
25 minHeight: 80,
26 width: 800,
27 columns: [
28 {
29 header: 'ID',
30 dataIndex: 'id',
31 width: 100,
32 },
33 {
34 header: gettext('IOMMU Group'),
35 dataIndex: 'iommugroup',
36 renderer: v => v === -1 ? '-' : v,
37 width: 75,
38 },
39 {
40 header: gettext('Vendor'),
41 dataIndex: 'vendor_name',
42 flex: 2,
43 },
44 {
45 header: gettext('Device'),
46 dataIndex: 'device_name',
47 flex: 6,
48 },
49 {
50 header: gettext('Mediated Devices'),
51 dataIndex: 'mdev',
52 flex: 1,
53 renderer: function(val) {
54 return Proxmox.Utils.format_boolean(!!val);
55 },
56 },
57 ],
58 },
59
60 setNodename: function(nodename) {
61 var me = this;
62
63 if (!nodename || me.nodename === nodename) {
64 return;
65 }
66
67 me.nodename = nodename;
68
69 me.store.setProxy({
70 type: 'proxmox',
71 url: '/api2/json/nodes/' + me.nodename + '/hardware/pci',
72 });
73
74 me.store.load();
75 },
76
77 initComponent: function() {
78 var me = this;
79
80 var nodename = me.nodename;
81 me.nodename = undefined;
82
83 me.callParent();
84
85 if (me.onLoadCallBack !== undefined) {
86 me.mon(me.getStore(), 'load', me.onLoadCallBack);
87 }
88
89 me.setNodename(nodename);
90 },
91 });
92