2024-09-07 20:53:46 +10:00
|
|
|
function renderPlugin_smart(data) {
|
|
|
|
|
2025-05-14 16:14:01 +01:00
|
|
|
if ((data.Plugins.Plugin_SMART !== undefined) && (data.Plugins.Plugin_SMART.columns !== undefined) && (items(data.Plugins.Plugin_SMART.columns.column).length > 0) && (data.Plugins.Plugin_SMART.disks !== undefined) && (items(data.Plugins.Plugin_SMART.disks.disk).length > 0)) {
|
|
|
|
var smartitems = items(data.Plugins.Plugin_SMART.columns.column);
|
2024-09-07 20:53:46 +10:00
|
|
|
var html = '';
|
2025-05-14 16:14:01 +01:00
|
|
|
var i,j;
|
|
|
|
var smartid;
|
|
|
|
var attribute_name;
|
2024-09-07 20:53:46 +10:00
|
|
|
|
|
|
|
html+="<thead>";
|
|
|
|
html+="<tr>";
|
2025-05-14 16:14:01 +01:00
|
|
|
html+="<th id=\"smart_name\" class=\"rightCell\">"+genlang(2, 'smart')+"</th>"; // Name
|
2024-09-07 20:53:46 +10:00
|
|
|
for (i = 0; i < smartitems.length ; i++) {
|
2025-05-14 16:14:01 +01:00
|
|
|
attribute_name = smartitems[i]["@attributes"].attribute_name;
|
|
|
|
if (typeof attribute_name === 'string')
|
|
|
|
attribute_name = attribute_name.replace(/_/g, " ").replace(/;/g, "<br>");
|
|
|
|
else
|
|
|
|
attribute_name = "Attribute " + smartitems[i]["@attributes"].id;
|
|
|
|
|
|
|
|
html+="<th class=\"sorttable_numeric rightCell\">"+ attribute_name + "</th>";
|
2024-09-07 20:53:46 +10:00
|
|
|
}
|
|
|
|
html+="</tr>";
|
|
|
|
html+="</thead>";
|
|
|
|
|
2025-05-14 16:14:01 +01:00
|
|
|
var diskitems = items(data.Plugins.Plugin_SMART.disks.disk);
|
2024-09-07 20:53:46 +10:00
|
|
|
html += '<tbody>';
|
|
|
|
for (i = 0; i < diskitems.length; i++) {
|
|
|
|
html += '<tr>';
|
2025-05-14 16:14:01 +01:00
|
|
|
if (diskitems[i]["@attributes"].event !== undefined)
|
|
|
|
html += '<th class="rightCell"><table class="borderless table-hover table-nopadding" style="float:right;"><tbody><tr><td>'+ diskitems[i]["@attributes"].name + ' </td><td><img style="vertical-align:middle;width:20px;" src="./gfx/attention.gif" alt="!" title="' + diskitems[i]["@attributes"].event + '"/></td></tr></tbody></table></th>';
|
|
|
|
else
|
|
|
|
html += '<th class="rightCell">'+ diskitems[i]["@attributes"].name + '</th>';
|
|
|
|
var attribitems = items(diskitems[i].attribute);
|
2024-09-07 20:53:46 +10:00
|
|
|
var valarray = [];
|
|
|
|
for (j = 0;j < attribitems.length; j++) {
|
2025-05-14 16:14:01 +01:00
|
|
|
valarray[attribitems[j]["@attributes"].id] = attribitems[j]["@attributes"];
|
2024-09-07 20:53:46 +10:00
|
|
|
}
|
|
|
|
for (j = 0; j < smartitems.length; j++) {
|
2025-05-14 16:14:01 +01:00
|
|
|
smartid = smartitems[j]["@attributes"].id;
|
|
|
|
if ((smartid !== undefined) && (valarray[smartid] !== undefined)) {
|
|
|
|
var itemvalue = valarray[smartid][smartitems[j]["@attributes"].name];
|
|
|
|
if ((itemvalue !== undefined) && (itemvalue !== '' )) {
|
|
|
|
if (smartid === "194") {
|
|
|
|
html += '<td class="rightCell">' + formatTemp(itemvalue, data.Options["@attributes"].tempFormat) + '</td>';
|
|
|
|
} else {
|
|
|
|
html += '<td class="rightCell">' + itemvalue + '</td>';
|
|
|
|
}
|
2024-09-07 20:53:46 +10:00
|
|
|
} else {
|
2025-05-14 16:14:01 +01:00
|
|
|
html += '<td></td>';
|
2024-09-07 20:53:46 +10:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
html += '<td></td>';
|
|
|
|
}
|
|
|
|
}
|
2025-05-14 16:14:01 +01:00
|
|
|
html += '</tr>';
|
2024-09-07 20:53:46 +10:00
|
|
|
}
|
|
|
|
html += '</tbody>';
|
|
|
|
$('#smart').empty().append(html);
|
|
|
|
$('#smart').addClass("sortable");
|
|
|
|
sorttable.makeSortable($('#smart')[0]);
|
|
|
|
sorttable.innerSortFunction.apply($('#smart_name')[0], []);
|
|
|
|
$('#block_smart').show();
|
|
|
|
} else {
|
|
|
|
$('#block_smart').hide();
|
|
|
|
}
|
|
|
|
}
|