Speed filter and white space cleanup

This commit is contained in:
eric1tran 2020-12-14 14:37:16 +00:00
parent 22e02dbc62
commit 930d2534a2
4 changed files with 106 additions and 29 deletions

View File

@ -234,6 +234,17 @@
</div>
<div id="altitude_slider"></div>
</div>
<div class="group">
<label><span class="infoBlockTitleText">Filter by Speed</span></label>
<div class="align_right">
<span id="minSpeedText" class="infoBlockTitleText"></span>
<label for="minSpeed" class="speedUnit"></label>
<span> to </span>
<span id="maxSpeedText" class="infoBlockTitleText"></span>
<label for="maxSpeed" class="speedUnit"></label>
</div>
<div id="speed_slider"></div>
</div>
<div class="group">
<form id="aircraft_type_filter_form">
<label><span class="infoBlockTitleText">Filter by Aircraft Type</span></label>

View File

@ -138,8 +138,23 @@ PlaneObject.prototype.isFiltered = function() {
if (this.altitude === null || this.altitude === undefined) {
return true;
}
var planeAltitude = this.altitude === "ground" ? 0 : convert_altitude(this.altitude, this.filter.altitudeUnits);
return planeAltitude < this.filter.minAltitude || planeAltitude > this.filter.maxAltitude;
var isFilteredByAltitude = planeAltitude < this.filter.minAltitude || planeAltitude > this.filter.maxAltitude;
if (isFilteredByAltitude) {
return true;
}
}
if (this.filter.minSpeedFilter !== undefined && this.filter.maxSpeedFilter !== undefined) {
if (this.speed === null || this.speed === undefined) {
return true;
}
var convertedSpeed = convert_speed(this.speed, this.filter.speedUnits)
var isFilteredBySpeed = convertedSpeed < this.filter.minSpeedFilter || convertedSpeed > this.filter.maxSpeedFilter;
if (isFilteredBySpeed) {
return true;
}
}
// filter out ground vehicles
@ -489,7 +504,6 @@ PlaneObject.prototype.updateData = function(receiver_timestamp, data) {
this.last_message_time = receiver_timestamp - data.seen;
// simple fields
var fields = ["alt_baro", "alt_geom", "gs", "ias", "tas", "track",
"track_rate", "mag_heading", "true_heading", "mach",
"roll", "nav_heading", "nav_modes",

View File

@ -53,6 +53,7 @@ var layers;
var layerGroup;
var altitude_slider = null;
var speed_slider = null;
// piaware vs flightfeeder
var isFlightFeeder = false;
@ -342,6 +343,44 @@ function initialize() {
customAltitudeColors = false;
}
speed_slider = document.getElementById('speed_slider');
noUiSlider.create(speed_slider, {
start: [0, 1000],
connect: true,
range: {
'min': 0,
'max': 1000
},
step: 5,
format: {
// 'to' the formatted value. Receives a number.
to: function (value) {
return value;
},
// 'from' the formatted value.
// Receives a string, should return a number.
from: function (value) {
return value;
}
}
});
var minSpeedInput = document.getElementById('minSpeedText'),
maxSpeedInput = document.getElementById('maxSpeedText');
speed_slider.noUiSlider.on('update', function (values, handle) {
if (handle) {
maxSpeedInput.innerHTML = values[handle];
} else {
minSpeedInput.innerHTML = values[handle];
}
});
speed_slider.noUiSlider.on('set', function (values, handle) {
onFilterBySpeed();
});
$("#aircraft_type_filter_form").submit(onFilterByAircraftType);
$("#aircraft_type_filter_reset_button").click(onResetAircraftTypeFilter);
@ -2037,6 +2076,11 @@ function onFilterByAltitude() {
}
}
function onFilterBySpeed() {
updatePlaneFilter();
refreshTableInfo();
}
function onFilterByAircraftType(e) {
e.preventDefault();
updatePlaneFilter();
@ -2128,21 +2172,29 @@ function toggleAltitudeChart(switchToggle) {
}
function updatePlaneFilter() {
// Get min/max altitude values from slider
var minAltitude = document.getElementById('minAltitudeText').innerHTML.trim();
var maxAltitude = document.getElementById('maxAltitudeText').innerHTML.trim();
console.log("minAltitude: " + minAltitude);
console.log("maxAltitude: " + maxAltitude);
PlaneFilter.minAltitude = minAltitude;
PlaneFilter.maxAltitude = maxAltitude;
PlaneFilter.altitudeUnits = DisplayUnits;
// Get min/max speed values from slider
var minSpeedFilter = document.getElementById('minSpeedText').innerHTML.trim();
var maxSpeedFilter = document.getElementById('maxSpeedText').innerHTML.trim();
PlaneFilter.minSpeedFilter = minSpeedFilter;
PlaneFilter.maxSpeedFilter = maxSpeedFilter;
PlaneFilter.speedUnits = DisplayUnits;
// Get aircraft type code filter from input box
var aircraftTypeCode = $("#aircraft_type_filter").val().trim().toUpperCase()
if (aircraftTypeCode === "") {
aircraftTypeCode = undefined
}
// Get aircraft ident filter from input box
var aircraftIdent = $("#aircraft_ident_filter").val().trim().toUpperCase()
if (aircraftIdent === "") {
aircraftIdent = undefined

View File

@ -888,7 +888,7 @@ select.error, textarea.error, input.error {
grid-template-columns: repeat(3, 1fr);
}
#altitude_slider {
#altitude_slider, #speed_slider {
position: relative;
display: block;
margin-left: 10px;