/******************************************************************** * Dynamic Aircraftlist for Radarcape ******************************************************************** * Guenter Koellner Embedded Development GmbH * * Am Rain 24 * 85256 Vierkirchen * Geschaeftsfuehrer Guenter Koellner * * http://www.modesbeast.com ********************************************************************/ http://maps.google.de/maps?q=50.11834,8.66309(Block+House)&t=k&z=19 var sort_key = "id"; var sort_asc = true; function get_date_time_string (unix_timestamp) { // Create a new JavaScript Date object based on the timestamp // multiplied by 1000 so that the argument is in milliseconds, not seconds. var date = new Date(unix_timestamp*1000); return date.toISOString().replace("T"," ").substr(0, 19); } function updateTable() { console.log("updateTable"); getJSON( rcd_globals.sensors_endpoint_prefix+"clients.json", function(unsorted_data) { //console.log("unsorted_data.length=",unsorted_data.length); var data = unsorted_data["TLS"].sort(function(a, b) { var x = a[sort_key]; var y = b[sort_key]; if (sort_asc) { return ((x < y) ? -1 : ((x > y) ? 1 : 0)); } else { return ((x > y) ? -1 : ((x < y) ? 1 : 0)); } }); var table = document.getElementById("clientlist").tBodies[0]; var rows_len = table.rows.length - 1; //first is row to clone while ( rows_len > data.length ) { table.removeChild(table.rows[rows_len--]); } for( var i = 0; i < data.length; ++i ) { var line; if( i >= rows_len ) { var line = table.rows[0].cloneNode(true); line.style = ""; // remove style="display:none;" table.appendChild(line); } else { var line = table.rows[1+i]; } line.cells.namedItem("active" ).innerHTML = data[i].active; line.cells.namedItem("id" ).innerHTML = "" + data[i].id + ""; line.cells.namedItem("ver" ).innerHTML = data[i].ver; line.cells.namedItem("swtyp" ).innerHTML = data[i].swtyp; line.cells.namedItem("hwtyp" ).innerHTML = data[i].hwtyp; line.cells.namedItem("temp" ).innerHTML = data[i].temp; line.cells.namedItem("gnss" ).innerHTML = data[i].gnss; line.cells.namedItem("anto" ).innerHTML = data[i].anto; line.cells.namedItem("ants" ).innerHTML = data[i].ants; line.cells.namedItem("conn" ).innerHTML = data[i].conn; if(data[i].lat == null || data[i].lon == null) { line.cells.namedItem("lat" ).innerHTML = ""; line.cells.namedItem("lon" ).innerHTML = ""; } else { line.cells.namedItem("lat").innerHTML = data[i].lat.toFixed(5); line.cells.namedItem("lon").innerHTML = data[i].lon.toFixed(5); } line.cells.namedItem("alt" ).innerHTML = data[i].alt; line.cells.namedItem("ac" ).innerHTML = data[i].ac; line.cells.namedItem("iBy" ).innerHTML = data[i].iBy; line.cells.namedItem("iTotal" ).innerHTML = data[i].iTotal; line.cells.namedItem("iMsg" ).innerHTML = data[i].iMsg; line.cells.namedItem("qRes" ).innerHTML = data[i].qRes; line.cells.namedItem("tLogin" ).innerHTML = get_date_time_string(data[i].login); line.cells.namedItem("tLogout" ).innerHTML = get_date_time_string(data[i].logout); line.cells.namedItem("tUTC" ).innerHTML = data[i].tUTC; line.cells.namedItem("latMin" ).innerHTML = data[i].latMin; line.cells.namedItem("latAvg" ).innerHTML = data[i].latAvg; line.cells.namedItem("latMax" ).innerHTML = data[i].latMax; } var statuslines = $("tr.serverstatusline"); line = $(statuslines[0]); line.children(".NofClients" ).html(data.length); line.children(".AcDbSize" ).html(unsorted_data.AcDbSize); line.children(".dat" ).html(unsorted_data.dat); line.children(".incomingEvents").html(unsorted_data.incomingEvents); }); } $(document).ready(function() { $(".arrow-box .arrow-down").click(function(evt) { sort_key = $(this).parent().attr("id"); sort_asc = false; updateTable(); }); $(".arrow-box .arrow-up").click(function(evt) { sort_key = $(this).parent().attr("id"); sort_asc = true; updateTable(); }); updateTable(); //setInterval( function() { updateTable(); }, RefreshInterval * 1000); setInterval( function() { updateTable(); }, 5000); });