]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/PCIMapSelector.js
1 Ext
.define('pve-mapped-pci-model', {
2 extend
: 'Ext.data.Model',
4 fields
: ['id', 'path', 'vendor', 'device', 'iommugroup', 'mdev', 'description', 'map'],
8 Ext
.define('PVE.form.PCIMapSelector', {
9 extend
: 'Proxmox.form.ComboGrid',
10 xtype
: 'pvePCIMapSelector',
13 model
: 'pve-mapped-pci-model',
27 // can contain a load callback for the store
28 // useful to determine the state of the IOMMU
29 onLoadCallBack
: undefined,
35 header
: gettext('ID'),
40 header
: gettext('Description'),
41 dataIndex
: 'description',
45 header
: gettext('Status'),
47 renderer: function(value
) {
50 if (!Ext
.isArray(value
) || !value
?.length
) {
51 return `<i class="fa fa-check-circle good"></i> ${gettext('Mapping OK')}`;
56 value
.forEach((check
) => {
58 switch (check
?.severity
) {
60 iconCls
= 'fa-exclamation-circle warning';
63 iconCls
= 'fa-times-circle critical';
67 let message
= check
?.message
;
68 let icon
= `<i class="fa ${iconCls}"></i>`;
69 if (iconCls
!== undefined) {
70 checks
.push(`${icon} ${message}`);
74 return checks
.join('<br>');
81 setNodename: function(nodename
) {
84 if (!nodename
|| me
.nodename
=== nodename
) {
88 me
.nodename
= nodename
;
92 url
: `/api2/json/cluster/mapping/pci?check-node=${nodename}`,
98 initComponent: function() {
101 var nodename
= me
.nodename
;
102 me
.nodename
= undefined;
106 if (me
.onLoadCallBack
!== undefined) {
107 me
.mon(me
.getStore(), 'load', me
.onLoadCallBack
);
110 me
.setNodename(nodename
);