diff --git a/public_html/script.js b/public_html/script.js index c2c3342..6c506ba 100644 --- a/public_html/script.js +++ b/public_html/script.js @@ -320,24 +320,15 @@ function initialize() { }); $('#grouptype_checkbox').on('click', function() { - if ($('#grouptype_checkbox').hasClass('settingsCheckboxChecked')) { - sortByDistance(); - } else { - sortByDataSource(); - } - - }); + toggleGroupByDataType(true); + }); $('#altitude_checkbox').on('click', function() { toggleAltitudeChart(true); }); $('#selectall_checkbox').on('click', function() { - if ($('#selectall_checkbox').hasClass('settingsCheckboxChecked')) { - deselectAllPlanes(); - } else { - selectAllPlanes(); - } + toggleAllPlanes(true); }) // Force map to redraw if sidebar container is resized - use a timer to debounce @@ -350,6 +341,8 @@ function initialize() { filterGroundVehicles(false); filterBlockedMLAT(false); toggleAltitudeChart(false); + toggleAllPlanes(false); + toggleGroupByDataType(false); // Get receiver metadata, reconfigure using it, then continue // with initialization @@ -509,16 +502,21 @@ function initialize_map() { CenterLon = Number(localStorage['CenterLon']) || DefaultCenterLon; ZoomLvl = Number(localStorage['ZoomLvl']) || DefaultZoomLvl; MapType = localStorage['MapType']; + var groupByDataTypeBox = localStorage.getItem('groupByDataType'); // Set SitePosition, initialize sorting if (SiteShow && (typeof SiteLat !== 'undefined') && (typeof SiteLon !== 'undefined')) { SitePosition = [SiteLon, SiteLat]; - sortByDistance(); + if (groupByDataTypeBox === 'deselected') { + sortByDistance(); + } } else { SitePosition = null; PlaneRowTemplate.cells[9].style.display = 'none'; // hide distance column document.getElementById("distance").style.display = 'none'; // hide distance header - sortByAltitude(); + if (groupByDataTypeBox === 'deselected') { + sortByAltitude(); + } } // Maybe hide flag info @@ -1343,11 +1341,11 @@ function resortTable() { } function sortBy(id,sc,se) { - if (id !== 'data_source') { - $('#grouptype_checkbox').removeClass('settingsCheckboxChecked'); - } else { - $('#grouptype_checkbox').addClass('settingsCheckboxChecked'); - } + if (id !== 'data_source') { + $('#grouptype_checkbox').removeClass('settingsCheckboxChecked'); + localStorage.setItem('groupByDataType', 'deselected'); + } + if (id === sortId) { sortAscending = !sortAscending; PlanesOrdered.reverse(); // this correctly flips the order of rows that compare equal @@ -1466,6 +1464,45 @@ function selectNewPlanes() { } } +function toggleGroupByDataType(switchToggle) { + if (typeof localStorage['groupByDataType'] === 'undefined') { + localStorage.setItem('groupByDataType', 'deselected'); + } + + var groupByDataType = localStorage.getItem('groupByDataType'); + if (switchToggle === true) { + groupByDataType = (groupByDataType === 'deselected') ? 'selected' : 'deselected'; + } + + if (groupByDataType === 'deselected') { + $('#grouptype_checkbox').removeClass('settingsCheckboxChecked'); + } else { + sortByDataSource(); + $('#grouptype_checkbox').addClass('settingsCheckboxChecked'); + } + + localStorage.setItem('groupByDataType', groupByDataType); +} + +function toggleAllPlanes(switchToggle) { + if (typeof localStorage['allPlanesSelection'] === 'undefined') { + localStorage.setItem('allPlanesSelection','deselected'); + } + + var allPlanesSelection = localStorage.getItem('allPlanesSelection'); + if (switchToggle === true) { + allPlanesSelection = (allPlanesSelection === 'deselected') ? 'selected' : 'deselected'; + } + + if (allPlanesSelection === 'deselected') { + deselectAllPlanes(); + } else { + selectAllPlanes(); + } + + localStorage.setItem('allPlanesSelection', allPlanesSelection); +} + // deselect all the planes function deselectAllPlanes() { for(var key in Planes) { @@ -1711,9 +1748,10 @@ function onFilterByAltitude(e) { function filterGroundVehicles(switchFilter) { if (typeof localStorage['groundVehicleFilter'] === 'undefined') { - localStorage['groundVehicleFilter'] = 'not_filtered'; + localStorage.setItem('groundVehicleFilter' , 'not_filtered'); } - var groundFilter = localStorage['groundVehicleFilter']; + + var groundFilter = localStorage.getItem('groundVehicleFilter'); if (switchFilter === true) { groundFilter = (groundFilter === 'not_filtered') ? 'filtered' : 'not_filtered'; } @@ -1722,15 +1760,17 @@ function filterGroundVehicles(switchFilter) { } else { $('#groundvehicle_filter').removeClass('settingsCheckboxChecked'); } - localStorage['groundVehicleFilter'] = groundFilter; + + localStorage.setItem('groundVehicleFilter',groundFilter); PlaneFilter.groundVehicles = groundFilter; } function filterBlockedMLAT(switchFilter) { if (typeof localStorage['blockedMLATFilter'] === 'undefined') { - localStorage['blockedMLATFilter'] = 'not_filtered'; + localStorage.setItem('blockedMLATFilter','not_filtered'); } - var blockedMLATFilter = localStorage['blockedMLATFilter']; + + var blockedMLATFilter = localStorage.getItem('blockedMLATFilter'); if (switchFilter === true) { blockedMLATFilter = (blockedMLATFilter === 'not_filtered') ? 'filtered' : 'not_filtered'; } @@ -1739,24 +1779,27 @@ function filterBlockedMLAT(switchFilter) { } else { $('#blockedmlat_filter').removeClass('settingsCheckboxChecked'); } - localStorage['blockedMLATFilter'] = blockedMLATFilter; + localStorage.setItem('blockedMLATFilter', blockedMLATFilter); PlaneFilter.blockedMLAT = blockedMLATFilter; } function toggleAltitudeChart(switchToggle) { if (typeof localStorage['altitudeChart'] === 'undefined') { - localStorage['altitudeChart'] = 'show'; + localStorage.setItem('altitudeChart','show'); } - var altitudeChartDisplay = localStorage['altitudeChart']; + + var altitudeChartDisplay = localStorage.getItem('altitudeChart'); if (switchToggle === true) { altitudeChartDisplay = (altitudeChartDisplay === 'show') ? 'hidden' : 'show'; } - // if you're using custom colors always hide the chart - if (customAltitudeColors === true) { - altitudeChartDisplay = 'hidden'; - // also hide the control option - $('#altitude_chart_container').hide(); - } + + // if you're using custom colors always hide the chart + if (customAltitudeColors === true) { + altitudeChartDisplay = 'hidden'; + // also hide the control option + $('#altitude_chart_container').hide(); + } + if (altitudeChartDisplay === 'show') { $('#altitude_checkbox').addClass('settingsCheckboxChecked'); $('#altitude_chart').show(); @@ -1764,7 +1807,8 @@ function toggleAltitudeChart(switchToggle) { $('#altitude_checkbox').removeClass('settingsCheckboxChecked'); $('#altitude_chart').hide(); } - localStorage['altitudeChart'] = altitudeChartDisplay; + + localStorage.setItem('altitudeChart', altitudeChartDisplay); } function onResetAltitudeFilter(e) {