@@ -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