19 * along with ThermFerm; see the file COPYING. If not, write to the Free |
19 * along with ThermFerm; see the file COPYING. If not, write to the Free |
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
21 *****************************************************************************/ |
21 *****************************************************************************/ |
22 |
22 |
23 |
23 |
24 $(document).ready(function () { |
24 $(document).ready(function() { |
25 |
25 |
26 var url = "getnode.php?uuid='" + my_uuid + "'", |
26 var url = 'getnode.php?uuid="' + my_uuid + '"', |
27 source = { |
27 source = { |
28 datatype: "json", |
28 datatype: 'json', |
29 datafields: [ |
29 datafields: [ |
30 { name: 'record', type: 'int' }, |
30 { name: 'record', type: 'int' }, |
31 { name: 'uuid', type: 'string' }, |
31 { name: 'uuid', type: 'string' }, |
32 { name: 'node', type: 'string' }, |
32 { name: 'node', type: 'string' }, |
33 { name: 'online', type: 'bool' }, |
33 { name: 'online', type: 'bool' }, |
34 { name: 'group_id', type: 'string' }, |
34 { name: 'group_id', type: 'string' }, |
35 { name: 'hardwaremake', type: 'string' }, |
35 { name: 'hardwaremake', type: 'string' }, |
36 { name: 'hardwaremodel', type: 'string' }, |
36 { name: 'hardwaremodel', type: 'string' }, |
37 { name: 'os', type: 'string' }, |
37 { name: 'os', type: 'string' }, |
38 { name: 'os_version', type: 'string' }, |
38 { name: 'os_version', type: 'string' }, |
39 { name: 'firmware', type: 'string' }, |
39 { name: 'firmware', type: 'string' }, |
40 { name: 'firstseen', type: 'string' }, |
40 { name: 'firstseen', type: 'string' }, |
41 { name: 'lastseen', type: 'string' }, |
41 { name: 'lastseen', type: 'string' }, |
42 { name: 'temperature', type: 'float' }, |
42 { name: 'temperature', type: 'float' }, |
43 { name: 'humidity', type: 'float' }, |
43 { name: 'humidity', type: 'float' }, |
44 { name: 'barometer', type: 'float' }, |
44 { name: 'barometer', type: 'float' }, |
45 { name: 'gps_latitude', type: 'float' }, |
45 { name: 'gps_latitude', type: 'float' }, |
46 { name: 'gps_longitude', type: 'float' }, |
46 { name: 'gps_longitude', type: 'float' }, |
47 { name: 'gps_altitude', type: 'float' }, |
47 { name: 'gps_altitude', type: 'float' }, |
48 { name: 'net_address', type: 'string' }, |
48 { name: 'net_address', type: 'string' }, |
49 { name: 'net_ifname', type: 'string' }, |
49 { name: 'net_ifname', type: 'string' }, |
50 { name: 'net_rssi', type: 'int' } |
50 { name: 'net_rssi', type: 'int' } |
51 ], |
51 ], |
52 id: 'record', |
52 id: 'record', |
53 url: url |
53 url: url |
54 }, |
54 }, |
55 dataAdapter = new $.jqx.dataAdapter(source, { |
55 dataAdapter = new $.jqx.dataAdapter(source, { |
56 loadComplete: function (records) { |
56 loadComplete: function(records) { |
57 var record = dataAdapter.records[0], |
57 var record = dataAdapter.records[0], |
58 html = "<div id='node_table'>"; |
58 html = '<div id="node_table">'; |
59 html += "<table style='width: 100%; padding: 10px;'>"; |
59 html += '<table style="width: 100%; padding: 10px;">'; |
60 html += "<tr><th colspan=2>Systeem overzicht</th></tr>"; |
60 html += '<tr><th colspan=2>Systeem overzicht</th></tr>'; |
61 html += "<tr><td>Uuid</td><td>" + record.uuid + "</td></tr>"; |
61 html += '<tr><td>Uuid</td><td>' + record.uuid + '</td></tr>'; |
62 html += "<tr><td>Systeem</td><td>" + record.node + "</td></tr>"; |
62 html += '<tr><td>Systeem</td><td>' + record.node + '</td></tr>'; |
63 html += "<tr><td>Online</td><td>" + record.online + "</td></tr>"; |
63 html += '<tr><td>Online</td><td>' + record.online + '</td></tr>'; |
64 html += "<tr><td>Type</td><td>" + record.group_id + "</td></tr>"; |
64 html += '<tr><td>Type</td><td>' + record.group_id + '</td></tr>'; |
65 html += "<tr><td>Eerst gezien</td><td>" + record.firstseen + "</td></tr>"; |
65 html += '<tr><td>Eerst gezien</td><td>' + record.firstseen + '</td></tr>'; |
66 html += "<tr><td>Laatst gezien</td><td>" + record.lastseen + "</td></tr>"; |
66 html += '<tr><td>Laatst gezien</td><td>' + record.lastseen + '</td></tr>'; |
67 html += "<tr><td>Hardware maker</td><td>" + record.hardwaremake+ "</td></tr>"; |
67 html += '<tr><td>Hardware maker</td><td>' + record.hardwaremake + '</td></tr>'; |
68 html += "<tr><td>Hardware model</td><td>" + record.hardwaremodel+ "</td></tr>"; |
68 html += '<tr><td>Hardware model</td><td>' + record.hardwaremodel + '</td></tr>'; |
69 html += "<tr><td>OS</td><td>" + record.os + " versie: " + record.os_version + "</td></tr>"; |
69 html += '<tr><td>OS</td><td>' + record.os + ' versie: ' + record.os_version + '</td></tr>'; |
70 html += "<tr><td>Firmware</td><td>" + record.firmware + "</td></tr>"; |
70 html += '<tr><td>Firmware</td><td>' + record.firmware + '</td></tr>'; |
71 if (record.online) { |
71 if (record.online) { |
72 html += "<tr><td>Temperatuur</td><td>" + record.temperature.toFixed(1) + "°C</td></tr>"; |
72 html += '<tr><td>Temperatuur</td><td>' + record.temperature.toFixed(1) + '°C</td></tr>'; |
73 if (record.humidity > 0) { |
73 if (record.humidity > 0) { |
74 html += "<tr><td>Vochtigheid</td><td>" + record.humidity.toFixed(1) + "%</td></tr>"; |
74 html += '<tr><td>Vochtigheid</td><td>' + record.humidity.toFixed(1) + '%</td></tr>'; |
75 } |
75 } |
76 if (record.barometer > 0) { |
76 if (record.barometer > 0) { |
77 html += "<tr><td>Luchtdruk</td><td>" + record.barometer.toFixed(0) + "</td></tr>"; |
77 html += '<tr><td>Luchtdruk</td><td>' + record.barometer.toFixed(0) + '</td></tr>'; |
78 } |
78 } |
79 if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) { |
79 if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) { |
80 html += "<tr><td>GPS</td><td>"+ record.gps_latitude + " " + record.gps_longitude + " " + record.gps_altitude + "</td></tr>"; |
80 html += '<tr><td>GPS</td><td>' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + '</td></tr>'; |
81 } |
81 } |
82 html += "<tr><td>Netwerk</td><td>"+ record.net_ifname + " " + record.net_address + "</td></tr>"; |
82 html += '<tr><td>Netwerk</td><td>' + record.net_ifname + ' ' + record.net_address + '</td></tr>'; |
83 } |
83 } |
84 html += "</<table>"; |
84 html += '</<table>'; |
85 html += "</div>"; |
85 html += '</div>'; |
86 $("#ContentPanel").html(html); |
86 $('#ContentPanel').html(html); |
87 } |
87 } |
88 }); |
88 }); |
89 |
89 |
90 // Get the data immediatly and then at regular intervals to refresh. |
90 // Get the data immediatly and then at regular intervals to refresh. |
91 dataAdapter.dataBind(); |
91 dataAdapter.dataBind(); |
92 setInterval(function(){ |
92 setInterval(function() { |
93 dataAdapter.dataBind(); |
93 dataAdapter.dataBind(); |
94 }, 30000); |
94 }, 30000); |
95 }); |
95 }); |
96 |
96 |