Skip to content

Commit 33f9b61

Browse files
SteveSteve
authored andcommitted
Added cell creation and update
Optimised element existance checking and creation
1 parent 1831002 commit 33f9b61

File tree

1 file changed

+41
-27
lines changed
  • homemon-server/public/javascripts

1 file changed

+41
-27
lines changed

homemon-server/public/javascripts/snmp.js

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,40 +19,54 @@ socket.on('data', function(data) {
1919
// console.log("Message received " + data.message);
2020
var decodedData = JSON.parse (data.message);
2121

22-
if (ElementExists (decodedData.device)) {
23-
// table exists
24-
// console.log ("table exists: " + decodedData.device);
25-
if (ElementExists (decodedData.device+"-"+decodedData.interface)) {
26-
// table-row exists
27-
// console.log ("interface exists: " + decodedData.interface);
28-
console.log ("updating " + decodedData.device+" "+decodedData.interface);
29-
cell = document.getElementById(decodedData.device+"-"+decodedData.interface);
30-
cell.innerHTML = data.message;
31-
} else {
32-
// table-tow does not exist - create it
22+
if (!ElementExists (decodedData.device+"-"+decodedData.interface)) {
23+
// device/interface element does not exist, so create it
24+
if (!ElementExists (decodedData.device)) {
25+
// create table
26+
console.log ("creating table: " + decodedData.device);
27+
var div = document.createElement("div");
28+
div.className = "row well ";
29+
var div2 = document.createElement("div");
30+
var title = document.createElement("h4");
31+
title.innerHTML = decodedData.device;
32+
var tbl = document.createElement("TABLE");
33+
tbl.id = decodedData.device;
34+
35+
document.getElementById("tables").appendChild(div);
36+
div.appendChild(div2);
37+
div2.appendChild(title);
38+
div2.appendChild(tbl);
39+
}
40+
41+
if (!ElementExists (decodedData.device+"-"+decodedData.interface)) {
42+
// create row
3343
console.log ("creating interface: " + decodedData.interface);
3444
var tbl = document.getElementById(decodedData.device);
3545
var row = tbl.insertRow();
3646
row.id = decodedData.device+"-"+decodedData.interface;
3747
var cell = row.insertCell(0);
38-
cell.innerHTML = data.message;
48+
cell.id = decodedData.device+"-"+decodedData.interface+"-ifInOctets";
49+
cell = row.insertCell(0);
50+
cell.id = decodedData.device+"-"+decodedData.interface+"-ifOutOctets";
51+
cell = row.insertCell(0);
52+
cell.id = decodedData.device+"-"+decodedData.interface+"-ifName";
53+
cell = row.insertCell(0);
54+
cell.id = decodedData.device+"-"+decodedData.interface+"-interface";
3955
}
40-
} else {
41-
// no table, create one
42-
console.log ("creating table: " + decodedData.device);
43-
var div = document.createElement("div");
44-
div.className = "row well ";
45-
var div2 = document.createElement("div");
46-
var title = document.createElement("h4");
47-
title.innerHTML = decodedData.device;
48-
var tbl = document.createElement("TABLE");
49-
tbl.id = decodedData.device;
50-
51-
document.getElementById("tables").appendChild(div);
52-
div.appendChild(div2);
53-
div2.appendChild(title);
54-
div2.appendChild(tbl)
5556
}
57+
58+
// update cells now we are sure they exist
59+
var updateCell = document.getElementById(decodedData.device+"-"+decodedData.interface+"-interface");
60+
updateCell.innerHTML = decodedData.interface;
61+
62+
updateCell = document.getElementById(decodedData.device+"-"+decodedData.interface+"-ifName");
63+
updateCell.innerHTML = decodedData.ifName;
64+
65+
updateCell = document.getElementById(decodedData.device+"-"+decodedData.interface+"-ifInOctets");
66+
updateCell.innerHTML = decodedData.ifInOctets;
67+
68+
updateCell = document.getElementById(decodedData.device+"-"+decodedData.interface+"-ifOutOctets");
69+
updateCell.innerHTML = decodedData.ifOutOctets;
5670

5771
// print the time the refresh happened
5872
var dt = new Date();

0 commit comments

Comments
 (0)