Merge pull request #3 from drakeapps/map_enhancements
Add ability to select/deselect all planes
This commit is contained in:
commit
876e6874b4
|
@ -60,6 +60,12 @@
|
||||||
<span id="reset_map_button" class="pointer" onclick="resetMap();">[ Reset Map ]</span>
|
<span id="reset_map_button" class="pointer" onclick="resetMap();">[ Reset Map ]</span>
|
||||||
<span id="show_map_button" class="pointer" onclick="showMap();">[ Show Map ]</span>
|
<span id="show_map_button" class="pointer" onclick="showMap();">[ Show Map ]</span>
|
||||||
</td>
|
</td>
|
||||||
|
<td style="width: 150px; text-align: center;" class="pointer">
|
||||||
|
[ <span onclick="selectAllPlanes();">Select All</span> ]
|
||||||
|
</td>
|
||||||
|
<td style="width: 150px; text-align: center;" class="pointer">
|
||||||
|
[ <span onclick="deselectAllPlanes();">Select None</span> ]
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div> <!-- sudo_buttons -->
|
</div> <!-- sudo_buttons -->
|
||||||
|
|
|
@ -9,6 +9,7 @@ var PlaneTrailFeatures = new ol.Collection();
|
||||||
var Planes = {};
|
var Planes = {};
|
||||||
var PlanesOrdered = [];
|
var PlanesOrdered = [];
|
||||||
var SelectedPlane = null;
|
var SelectedPlane = null;
|
||||||
|
var SelectedAllPlanes = false;
|
||||||
var FollowSelected = false;
|
var FollowSelected = false;
|
||||||
|
|
||||||
var SpecialSquawks = {
|
var SpecialSquawks = {
|
||||||
|
@ -129,6 +130,7 @@ function fetchData() {
|
||||||
plane.updateTick(now, LastReceiverTimestamp);
|
plane.updateTick(now, LastReceiverTimestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectNewPlanes();
|
||||||
refreshTableInfo();
|
refreshTableInfo();
|
||||||
refreshSelected();
|
refreshSelected();
|
||||||
|
|
||||||
|
@ -896,6 +898,11 @@ function sortBy(id,sc,se) {
|
||||||
function selectPlaneByHex(hex,autofollow) {
|
function selectPlaneByHex(hex,autofollow) {
|
||||||
//console.log("select: " + hex);
|
//console.log("select: " + hex);
|
||||||
// If SelectedPlane has something in it, clear out the selected
|
// If SelectedPlane has something in it, clear out the selected
|
||||||
|
|
||||||
|
if (SelectedAllPlanes) {
|
||||||
|
deselectAllPlanes();
|
||||||
|
}
|
||||||
|
|
||||||
if (SelectedPlane != null) {
|
if (SelectedPlane != null) {
|
||||||
Planes[SelectedPlane].selected = false;
|
Planes[SelectedPlane].selected = false;
|
||||||
Planes[SelectedPlane].clearLines();
|
Planes[SelectedPlane].clearLines();
|
||||||
|
@ -904,31 +911,92 @@ function selectPlaneByHex(hex,autofollow) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we are clicking the same plane, we are deselecting it.
|
// If we are clicking the same plane, we are deselecting it.
|
||||||
// (unless it was a doubleclick..)
|
// (unless it was a doubleclick..)
|
||||||
if (SelectedPlane === hex && !autofollow) {
|
if (SelectedPlane === hex && !autofollow) {
|
||||||
hex = null;
|
hex = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hex !== null) {
|
if (hex !== null) {
|
||||||
// Assign the new selected
|
// Assign the new selected
|
||||||
SelectedPlane = hex;
|
SelectedPlane = hex;
|
||||||
Planes[SelectedPlane].selected = true;
|
Planes[SelectedPlane].selected = true;
|
||||||
Planes[SelectedPlane].updateLines();
|
Planes[SelectedPlane].updateLines();
|
||||||
Planes[SelectedPlane].updateMarker();
|
Planes[SelectedPlane].updateMarker();
|
||||||
$(Planes[SelectedPlane].tr).addClass("selected");
|
$(Planes[SelectedPlane].tr).addClass("selected");
|
||||||
} else {
|
} else {
|
||||||
SelectedPlane = null;
|
SelectedPlane = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SelectedPlane !== null && autofollow) {
|
if (SelectedPlane !== null && autofollow) {
|
||||||
FollowSelected = true;
|
FollowSelected = true;
|
||||||
if (OLMap.getView().getZoom() < 8)
|
if (OLMap.getView().getZoom() < 8)
|
||||||
OLMap.getView().setZoom(8);
|
OLMap.getView().setZoom(8);
|
||||||
} else {
|
} else {
|
||||||
FollowSelected = false;
|
FollowSelected = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshSelected();
|
refreshSelected();
|
||||||
|
}
|
||||||
|
|
||||||
|
// loop through the planes and mark them as selected to show the paths for all planes
|
||||||
|
function selectAllPlanes() {
|
||||||
|
// if all planes are already selected, deselect them all
|
||||||
|
if (SelectedAllPlanes) {
|
||||||
|
deselectAllPlanes();
|
||||||
|
} else {
|
||||||
|
// If SelectedPlane has something in it, clear out the selected
|
||||||
|
if (SelectedPlane != null) {
|
||||||
|
Planes[SelectedPlane].selected = false;
|
||||||
|
Planes[SelectedPlane].clearLines();
|
||||||
|
Planes[SelectedPlane].updateMarker();
|
||||||
|
$(Planes[SelectedPlane].tr).removeClass("selected");
|
||||||
|
}
|
||||||
|
|
||||||
|
SelectedPlane = null;
|
||||||
|
|
||||||
|
for(var key in Planes) {
|
||||||
|
if (Planes[key].visible !== false) {
|
||||||
|
Planes[key].selected = true;
|
||||||
|
Planes[key].updateLines();
|
||||||
|
Planes[key].updateMarker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SelectedAllPlanes = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshSelected();
|
||||||
|
}
|
||||||
|
|
||||||
|
// on refreshes, try to find new planes and mark them as selected
|
||||||
|
function selectNewPlanes() {
|
||||||
|
if (SelectedAllPlanes) {
|
||||||
|
for (var key in Planes) {
|
||||||
|
if (Planes[key].visible === false) {
|
||||||
|
Planes[key].selected = false;
|
||||||
|
Planes[key].clearLines();
|
||||||
|
Planes[key].updateMarker();
|
||||||
|
} else {
|
||||||
|
if (Planes[key].selected !== true) {
|
||||||
|
Planes[key].selected = true;
|
||||||
|
Planes[key].updateLines();
|
||||||
|
Planes[key].updateMarker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// deselect all the planes
|
||||||
|
function deselectAllPlanes() {
|
||||||
|
for(var key in Planes) {
|
||||||
|
Planes[key].selected = false;
|
||||||
|
Planes[key].clearLines();
|
||||||
|
Planes[key].updateMarker();
|
||||||
|
$(Planes[key].tr).removeClass("selected");
|
||||||
|
}
|
||||||
|
SelectedPlane = null;
|
||||||
|
SelectedAllPlanes = false;
|
||||||
|
refreshSelected();
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleFollowSelected() {
|
function toggleFollowSelected() {
|
||||||
|
|
Loading…
Reference in a new issue