//filter function filterInit(){ //Station Filter document.getElementById("filterStationList").innerHTML = '
All
'; fetch(urlBase + '/data/station.json') .then(response => response.json()) .then(data => stfu(data)) .catch(err => console.log(err)); function stfu(data) { Object.values(data.stations).forEach(function acs(s){ document.getElementById("filterStationList").innerHTML += '
' + s.name + '
'; }) } filterUpdate(); filterSpeedApply(0, 2000); }; var filterAltitudeSliderSpace = 2000; function filterAltitudeInput(){ filterAltitudeApply(filterAltitudeSliderMin.value, filterAltitudeSliderMax.value) } function filterAltitudeSliderMinInput(){ if(parseInt(document.getElementById("filterAltitudeSliderMax").value) - parseInt(document.getElementById("filterAltitudeSliderMin").value) <= filterAltitudeSliderSpace){ document.getElementById("filterAltitudeSliderMin").value = parseInt(document.getElementById("filterAltitudeSliderMax").value) - filterAltitudeSliderSpace; } filterAltitudeInput(); } function filterAltitudeSliderMaxInput(){ if(parseInt(document.getElementById("filterAltitudeSliderMax").value) - parseInt(document.getElementById("filterAltitudeSliderMin").value) <= filterAltitudeSliderSpace){ document.getElementById("filterAltitudeSliderMax").value = parseInt(document.getElementById("filterAltitudeSliderMin").value) + filterAltitudeSliderSpace; } filterAltitudeInput(); } function filterAltitudeApply(sMin, sMax){ filterAltitudeSliderMin.value = sMin; filterAltitudeSliderMax.value = sMax; document.getElementById("filterAltitudeGauge").innerHTML = ftToM(sMin) + ' - ' + ftToM(sMax) + 'm / ' + sMin + ' - ' + sMax + 'ft'; filterAltitudeMin = sMin; filterAltitudeMax = sMax; filterAltitudeSliderMinPerc = sMin / 120000 * 100; filterAltitudeSliderMaxPerc = sMax / 120000 * 100; filterUpdate(); } var filterSpeedSliderSpace = 10; function filterSpeedSet(s){ if(s == 'all'){ filterSpeedApply(0, 2000); } } function filterSpeedInput(){ filterSpeedApply(filterSpeedSliderMin.value, filterSpeedSliderMax.value) } function filterSpeedApply(sMin, sMax){ filterSpeedSliderMin.value = sMin; filterSpeedSliderMax.value = sMax; document.getElementById("filterSpeedGauge").innerHTML = sMin + ' - ' + sMax + 'km/h'; filterSpeedMin = sMin; filterSpeedMax = sMax; filterSpeedSliderMinPerc = sMin / 2000 * 100; filterSpeedSliderMaxPerc = sMax / 2000 * 100; document.getElementById("filterSpeedTrack").style.background = `linear-gradient(to right, #393f4cd1 ${filterSpeedSliderMinPerc}%, orange ${filterSpeedSliderMinPerc}% , orange ${filterSpeedSliderMaxPerc}%, #393f4cd1 ${filterSpeedSliderMaxPerc}%)`; filterUpdate(); } function filterSpeedSliderMinInput(){ if(parseInt(document.getElementById("filterSpeedSliderMax").value) - parseInt(document.getElementById("filterSpeedSliderMin").value) <= filterSpeedSliderSpace){ document.getElementById("filterSpeedSliderMin").value = parseInt(document.getElementById("filterSpeedSliderMax").value) - filterSpeedSliderSpace; } filterSpeedInput(); } function filterSpeedSliderMaxInput(){ if(parseInt(document.getElementById("filterSpeedSliderMax").value) - parseInt(document.getElementById("filterSpeedSliderMin").value) <= filterSpeedSliderSpace){ document.getElementById("filterSpeedSliderMax").value = parseInt(document.getElementById("filterSpeedSliderMin").value) + filterSpeedSliderSpace; } filterSpeedInput(); } function filterTypeSet(t){ document.getElementById("filterType" + ucFirst(filterType)).className = 'filter'; document.getElementById("filterType" + ucFirst(t)).className = 'filterActive'; filterType = t; filterUpdate(); } function filterFixSet(t){ document.getElementById("filterFix" + ucFirst(filterFix)).className = 'filter'; document.getElementById("filterFix" + ucFirst(t)).className = 'filterActive'; filterFix = t; if(heatmapLayerActive){ heatmapLayerRemove(); heatmapLayerAdd(); } filterUpdate(); } function filterStationSet(s){ document.getElementById("filterStation" + ucFirst(filterStation)).className = 'filter'; document.getElementById("filterStation" + ucFirst(s)).className = 'filterActive'; filterStation = s; if(heatmapLayerActive){ heatmapLayerRemove(); heatmapLayerAdd(); } filterUpdate(); } function filterStationToggle(s){ if(filterStation != s){ filterStationSet(s); } else{ if(heatmapLayerActive){ heatmapLayerRemove(); } filterStationSet('all'); } } function filterAltitudeSet(a){ document.getElementById("filterAltitude" + filterAltitude).className = 'filterAltitude'; document.getElementById("filterAltitude" + a).className = 'filterAltitudeActive'; filterAltitude = a; if(heatmapLayerActive){ heatmapLayerRemove(); heatmapLayerAdd(); } filterUpdate(); } /*function filterModelSet(m){ document.getElementById("filterStation" + ucFirst(filterModel)).className = 'filter'; document.getElementById("filterStation" + ucFirst(m)).className = 'filterActive'; filterModel = m; }*/ function filterSourceSet(s){ document.getElementById("filterSource" + ucFirst(filterSource)).className = 'filter'; document.getElementById("filterSource" + ucFirst(s)).className = 'filterActive'; filterSource = s; if(heatmapLayerActive){ heatmapLayerRemove(); heatmapLayerAdd(); } filterUpdate(); } function filterNavSet(n){ document.getElementById("filterNav" + ucFirst(filterNav)).className = 'filter'; document.getElementById("filterNav" + ucFirst(n)).className = 'filterActive'; filterNav = n; filterUpdate(); if(n!='all'){ filterSourceSet('adsb') } } function filterSelectedSet(m){ document.getElementById("filterSelected" + ucFirst(filterSelected)).className = 'filter'; document.getElementById("filterSelected" + ucFirst(m)).className = 'filterActive'; filterSelected = m; filterUpdate(); } //Filter update wrapper function filterUpdate(){ //layersRefresh() worker({ ships: true, planes: true, radiosondes: true, stations: true, stop: true }); //indicator if(document.getElementById("filterSelectedAll").className == 'filterActive' && document.getElementById("filterNavAll").className == 'filterActive' && document.getElementById("filterSourceAll").className == 'filterActive' && document.getElementById("filterStationAll").className == 'filterActive' && document.getElementById("filterTypeAll").className == 'filterActive' && document.getElementById("filterFixAll").className == 'filterActive' && /*document.getElementById("filterAltitude999999").className == 'filterAltitudeActive' && */filterAltitudeMin == 0 && filterAltitudeMax == 120000 && filterSpeedSliderMin.value == 0 && filterSpeedSliderMax.value ==2000){ document.getElementById("filterShow").className = 'button'; } else{ document.getElementById("filterShow").className = 'buttonWait'; } if(heatmapLayerActive){ heatmapLayerRemove(); heatmapLayerAdd(); } }