forked from FOSS/BangleApps
flightdash: replaced evals with setTimeouts
parent
86097d50e1
commit
3e234d3720
|
@ -24,6 +24,15 @@
|
||||||
require('Storage').writeJSON(FILE, settings);
|
require('Storage').writeJSON(FILE, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update the nav destination
|
||||||
|
function updateNavDest(destID, destLat, destLon) {
|
||||||
|
settings.destID = destID.replace(/[\W]+/g, '').slice(0, 7);
|
||||||
|
settings.destLat = parseFloat(destLat);
|
||||||
|
settings.destLon = parseFloat(destLon);
|
||||||
|
writeSettings();
|
||||||
|
createDestMainMenu();
|
||||||
|
}
|
||||||
|
|
||||||
var airports; // cache list of airports
|
var airports; // cache list of airports
|
||||||
function readAirportsList(empty_cb) {
|
function readAirportsList(empty_cb) {
|
||||||
if (airports) { // airport list has already been read in
|
if (airports) { // airport list has already been read in
|
||||||
|
@ -98,17 +107,10 @@
|
||||||
'' : { 'title' : 'Nearest' },
|
'' : { 'title' : 'Nearest' },
|
||||||
'< Back' : () => createDestMainMenu(),
|
'< Back' : () => createDestMainMenu(),
|
||||||
};
|
};
|
||||||
let airportCBs = [];
|
|
||||||
for (let i in nearest) {
|
for (let i in nearest) {
|
||||||
let airport = nearest[i];
|
let airport = nearest[i];
|
||||||
eval('airportCBs['+i+'] = function() { '+
|
destNearest[airport.i+' - '+airport.n] =
|
||||||
'settings.destID = "'+airport.i.replace(/[\W]+/g, '').slice(0, 7)+'"; '+
|
() => setTimeout(updateNavDest, 10, airport.i, airport.la, airport.lo);
|
||||||
'settings.destLat = "'+parseFloat(airport.la)+'"; '+
|
|
||||||
'settings.destLon = "'+parseFloat(airport.lo)+'"; '+
|
|
||||||
'writeSettings(); '+
|
|
||||||
'createDestMainMenu(); '+
|
|
||||||
'}');
|
|
||||||
destNearest[airport.i+' - '+airport.n] = airportCBs[i];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
E.showMenu(destNearest);
|
E.showMenu(destNearest);
|
||||||
|
@ -122,18 +124,11 @@
|
||||||
'' : { 'title' : 'Nearest (AVWX)' },
|
'' : { 'title' : 'Nearest (AVWX)' },
|
||||||
'< Back' : () => createDestMainMenu(),
|
'< Back' : () => createDestMainMenu(),
|
||||||
};
|
};
|
||||||
let airportCBs = [];
|
|
||||||
for (let i in AVWXairports) {
|
for (let i in AVWXairports) {
|
||||||
let airport = AVWXairports[i].station;
|
let airport = AVWXairports[i].station;
|
||||||
let airport_id = ( airport.icao ? airport.icao : airport.gps );
|
let airport_id = ( airport.icao ? airport.icao : airport.gps );
|
||||||
eval('airportCBs['+i+'] = function() { '+
|
destAVWX[airport_id+' - '+airport.name] =
|
||||||
'settings.destID = "'+airport_id.replace(/[\W]+/g, '').slice(0, 7)+'"; '+
|
() => setTimeout(updateNavDest, 10, airport_id, airport.latitude, airport.longitude);
|
||||||
'settings.destLat = "'+parseFloat(airport.latitude)+'"; '+
|
|
||||||
'settings.destLon = "'+parseFloat(airport.longitude)+'"; '+
|
|
||||||
'writeSettings(); '+
|
|
||||||
'createDestMainMenu(); '+
|
|
||||||
'}');
|
|
||||||
destAVWX[airport_id+' - '+airport.name] = airportCBs[i];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
E.showMenu(destAVWX);
|
E.showMenu(destAVWX);
|
||||||
|
@ -148,14 +143,8 @@
|
||||||
'' : { 'title' : wayptID },
|
'' : { 'title' : wayptID },
|
||||||
'< Back' : () => showUserWaypoints(),
|
'< Back' : () => showUserWaypoints(),
|
||||||
};
|
};
|
||||||
eval('let wayptUseCB = function() { '+
|
destUser['Set as Dest.'] =
|
||||||
'settings.destID = "'+wayptID.replace(/[\W]+/g, '').slice(0, 7)+'"; '+
|
() => setTimeout(updateNavDest, 10, wayptID, wayptLat, wayptLon);
|
||||||
'settings.destLat = "'+parseFloat(wayptLat)+'"; '+
|
|
||||||
'settings.destLon = "'+parseFloat(wayptLon)+'"; '+
|
|
||||||
'writeSettings(); '+
|
|
||||||
'createDestMainMenu(); '+
|
|
||||||
'}');
|
|
||||||
destUser['Set as Dest.'] = wayptUseCB;
|
|
||||||
destUser['Edit ID'] = function() {
|
destUser['Edit ID'] = function() {
|
||||||
require('textinput').input({text: wayptID}).then(result => {
|
require('textinput').input({text: wayptID}).then(result => {
|
||||||
if (result) {
|
if (result) {
|
||||||
|
@ -197,11 +186,11 @@
|
||||||
'' : { 'title' : 'User Waypoints' },
|
'' : { 'title' : 'User Waypoints' },
|
||||||
'< Back' : () => createDestMainMenu(),
|
'< Back' : () => createDestMainMenu(),
|
||||||
};
|
};
|
||||||
let wayptCBs = [];
|
|
||||||
for (let i in settings.userWaypoints) {
|
for (let i in settings.userWaypoints) {
|
||||||
let waypt = settings.userWaypoints[i];
|
let waypt = settings.userWaypoints[i];
|
||||||
eval('wayptCBs['+i+'] = function() { showUserWaypoint('+i+'); }');
|
let idx = i;
|
||||||
destUser[waypt.ID] = wayptCBs[i];
|
destUser[waypt.ID] =
|
||||||
|
() => setTimeout(showUserWaypoint, 10, idx);
|
||||||
}
|
}
|
||||||
destUser['Create New'] = function() {
|
destUser['Create New'] = function() {
|
||||||
E.showMessage('Waiting for GPS fix', {title: 'Flight-Dash'});
|
E.showMessage('Waiting for GPS fix', {title: 'Flight-Dash'});
|
||||||
|
@ -256,17 +245,10 @@
|
||||||
'' : { 'title' : 'Search Results' },
|
'' : { 'title' : 'Search Results' },
|
||||||
'< Back' : () => createDestMainMenu(),
|
'< Back' : () => createDestMainMenu(),
|
||||||
};
|
};
|
||||||
let airportCBs = [];
|
|
||||||
for (let i in matches) {
|
for (let i in matches) {
|
||||||
let airport = matches[i];
|
let airport = matches[i];
|
||||||
eval('airportCBs['+i+'] = function() { '+
|
destSearch[airport.i+' - '+airport.n] =
|
||||||
'settings.destID = "'+airport.i.replace(/[\W]+/g, '').slice(0, 7)+'"; '+
|
() => setTimeout(updateNavDest, 10, airport.i, airport.la, airport.lo);
|
||||||
'settings.destLat = "'+parseFloat(airport.la)+'"; '+
|
|
||||||
'settings.destLon = "'+parseFloat(airport.lo)+'"; '+
|
|
||||||
'writeSettings(); '+
|
|
||||||
'createDestMainMenu(); '+
|
|
||||||
'}');
|
|
||||||
destSearch[airport.i+' - '+airport.n] = airportCBs[i];
|
|
||||||
}
|
}
|
||||||
if (tooManyFound) {
|
if (tooManyFound) {
|
||||||
destSearch['More than 15 airports found!'] = {};
|
destSearch['More than 15 airports found!'] = {};
|
||||||
|
|
Loading…
Reference in New Issue