Merge pull request #1 from aaraya1516/master

Avoid javascript memory leaks on web page
This commit is contained in:
Jeff Lawson 2014-10-10 16:54:43 -05:00
commit 04a19df6f1
2 changed files with 26 additions and 31 deletions

View File

@ -49,7 +49,22 @@
<div id="plane_detail"></div> <div id="plane_detail"></div>
<div id="options"></div> <div id="options"></div>
<div id="planes_table"></div> <div id="planes_table">
<table id="tableinfo" width="100%">
<thead style="background-color: #BBBBBB; cursor: pointer;">
<td onclick="setASC_DESC('0');sortTable('tableinfo','0');">ICAO</td>
<td onclick="setASC_DESC('1');sortTable('tableinfo','1');">Flight</td>
<td onclick="setASC_DESC('2');sortTable('tableinfo','2');" align="right">Squawk</td>
<td onclick="setASC_DESC('3');sortTable('tableinfo','3');" align="right">Altitude</td>
<td onclick="setASC_DESC('4');sortTable('tableinfo','4');" align="right">Speed</td>
<td onclick="setASC_DESC('5');sortTable('tableinfo','5');" align="right">Track</td>
<td onclick="setASC_DESC('6');sortTable('tableinfo','6');" align="right">Msgs</td>
<td onclick="setASC_DESC('7');sortTable('tableinfo','7');" align="right">Seen</td>
</thead>
<tbody id="dataTable">
</tbody>
</table>
</div>
<div id="plane_extension"></div> <div id="plane_extension"></div>
</div> </div>
</div> </div>

View File

@ -403,22 +403,7 @@ function normalizeTrack(track, valid){
// Refeshes the larger table of all the planes // Refeshes the larger table of all the planes
function refreshTableInfo() { function refreshTableInfo() {
var html = '<table id="tableinfo" width="100%">'; var html = '';
html += '<thead style="background-color: #BBBBBB; cursor: pointer;">';
html += '<td onclick="setASC_DESC(\'0\');sortTable(\'tableinfo\',\'0\');">ICAO</td>';
html += '<td onclick="setASC_DESC(\'1\');sortTable(\'tableinfo\',\'1\');">Flight</td>';
html += '<td onclick="setASC_DESC(\'2\');sortTable(\'tableinfo\',\'2\');" ' +
'align="right">Squawk</td>';
html += '<td onclick="setASC_DESC(\'3\');sortTable(\'tableinfo\',\'3\');" ' +
'align="right">Altitude</td>';
html += '<td onclick="setASC_DESC(\'4\');sortTable(\'tableinfo\',\'4\');" ' +
'align="right">Speed</td>';
html += '<td onclick="setASC_DESC(\'5\');sortTable(\'tableinfo\',\'5\');" ' +
'align="right">Track</td>';
html += '<td onclick="setASC_DESC(\'6\');sortTable(\'tableinfo\',\'6\');" ' +
'align="right">Msgs</td>';
html += '<td onclick="setASC_DESC(\'7\');sortTable(\'tableinfo\',\'7\');" ' +
'align="right">Seen</td></thead><tbody>';
for (var tablep in Planes) { for (var tablep in Planes) {
var tableplane = Planes[tablep] var tableplane = Planes[tablep]
if (!tableplane.reapable) { if (!tableplane.reapable) {
@ -441,9 +426,9 @@ function refreshTableInfo() {
} }
if (tableplane.vPosition == true) { if (tableplane.vPosition == true) {
html += '<tr class="plane_table_row vPosition' + specialStyle + '">'; html += '<tr onclick="planeTRclick(\''+tableplane.icao+'\')" class="plane_table_row vPosition' + specialStyle + '">';
} else { } else {
html += '<tr class="plane_table_row ' + specialStyle + '">'; html += '<tr onclick="planeTRclick(\''+tableplane.icao+'\')" class="plane_table_row ' + specialStyle + '">';
} }
html += '<td>' + tableplane.icao + '</td>'; html += '<td>' + tableplane.icao + '</td>';
@ -475,9 +460,8 @@ function refreshTableInfo() {
html += '</tr>'; html += '</tr>';
} }
} }
html += '</tbody></table>';
document.getElementById('planes_table').innerHTML = html; document.getElementById('dataTable').innerHTML = html;
if (SpecialSquawk) { if (SpecialSquawk) {
$('#SpecialSquawkWarning').css('display', 'inline'); $('#SpecialSquawkWarning').css('display', 'inline');
@ -485,16 +469,6 @@ function refreshTableInfo() {
$('#SpecialSquawkWarning').css('display', 'none'); $('#SpecialSquawkWarning').css('display', 'none');
} }
// Click event for table
$('#planes_table').find('tr').click( function(){
var hex = $(this).find('td:first').text();
if (hex != "ICAO") {
selectPlaneByHex(hex);
refreshTableInfo();
refreshSelected();
}
});
sortTable("tableinfo"); sortTable("tableinfo");
} }
@ -639,3 +613,9 @@ function drawCircle(marker, distance) {
}); });
circle.bindTo('center', marker, 'position'); circle.bindTo('center', marker, 'position');
} }
function planeTRclick(hex) {
selectPlaneByHex(hex);
refreshTableInfo();
refreshSelected();
}