bugfix: re-worked wifi distance setting to show all values (miles, KM, meters)

This commit is contained in:
Darryl Quinn 2016-02-04 17:55:57 -06:00
parent 529da82003
commit 001496e7dc
1 changed files with 29 additions and 30 deletions

View File

@ -182,7 +182,6 @@ $wifi_distance = 0 if $wifi_distance =~ /\D/;
$parms{wifi_distance} = $wifi_distance; $parms{wifi_distance} = $wifi_distance;
$parms{wifi_txpower} = $wifi_txpower; $parms{wifi_txpower} = $wifi_txpower;
# #
# apply the wifi settings # apply the wifi settings
# #
@ -202,7 +201,6 @@ if($parms{button_apply} or $parms{button_save})
} }
if($parms{button_updatelocation}) if($parms{button_updatelocation})
{ {
# Process gridsquare ----------------------------------- # Process gridsquare -----------------------------------
@ -506,35 +504,34 @@ function noLocation()
alert('Could not find location. Try pinning it on the map.'); alert('Could not find location. Try pinning it on the map.');
} }
function updDist(x) { function updDist(x) {
var u = document.getElementById('distance_unit_text').innerHTML; var dvs= calcDistance(x);
var xc= calcDistance(x,u); var xcm=dvs['miles'];
var xc=dvs['meters'];
var xck=dvs['kilometers'];
var distBox = document.getElementById('dist'); var distBox = document.getElementById('dist');
var dist_hidden=document.getElementsByName('wifi_distance')[0]; var dist_meters=document.getElementsByName('wifi_distance')[0];
document.getElementsByName('wifi_distance_disp')[0].value = x; document.getElementsByName('wifi_distance_disp_miles')[0].value = xcm;
dist_hidden.value = xc; document.getElementsByName('wifi_distance_disp_km')[0].value = xck;
document.getElementsByName('wifi_distance_disp_meters')[0].value = xc;
dist_meters.value = xc;
// if default, then ALERT! // if default, then ALERT!
if(dist_hidden.value==0) { if(dist_meters.value==0) {
distBox.className = 'dist-alert'; distBox.className = 'dist-alert';
} else { } else {
distBox.className = 'dist-norm'; distBox.className = 'dist-norm';
} }
} }
function updDistUnit(u) {
document.getElementById('distance_unit_text').innerHTML = u;
var x=document.getElementsByName('wifi_distance_disp')[0].value;
updDist(x,u);
}
function calcDistance(x, u) { function calcDistance(x) {
var dv=0.0; // x is in KILOMETERS
if(u=='kilometers') { var dvs = new Object();
dv=x*1000; dvs['miles']=(x*0.621371192).toFixed(2);
} else { dvs['meters']=Math.ceil(x*1000);
dv=x/0.00062137; dvs['kilometers']=x;
} return dvs;
dv=Math.ceil(dv);
return dv;
}"; }";
print " print "
@ -798,14 +795,17 @@ if($wifi_proto ne "disabled")
print "</select>&nbsp;&nbsp;<a href=\"/help.html\#power\" target=\"_blank\"><img src=\"/qmark.png\"></a></td></tr>\n"; print "</select>&nbsp;&nbsp;<a href=\"/help.html\#power\" target=\"_blank\"><img src=\"/qmark.png\"></a></td></tr>\n";
print "<tr id='dist' class='dist-norm'><td>Distance to<br />FARTHEST Neighbor</td>\n"; print "<tr id='dist' class='dist-norm'><td>Distance to<br />FARTHEST Neighbor</td>\n";
$wifi_distance_disp=int($wifi_distance/1000);
print "<td><input readonly type=text size=4 name='wifi_distance_disp' value='$wifi_distance_disp' title='Distance to the farthest neighbor'>&nbsp;<span id='distance_unit_text'>kilometers</span><br />";
print "<input id='distance_slider' type='range' min='0' max='150' step='1' value='$wifi_distance_disp' oninput='updDist(this.value)' onchange='updDist(this.value)' /><br />"; $wifi_distance=int($wifi_distance); # in meters
print "<input type='radio' name='distance_unit' value='miles' onchange='updDistUnit(this.value)'>Miles&nbsp;"; $wifi_distance_disp_km=int($wifi_distance/1000);
print "<input type='radio' name='distance_unit' value='kilometers' checked onchange='updDistUnit(this.value)'>Kilometers<br />"; $wifi_distance_disp_miles=sprintf("%.2f",$wifi_distance_disp_km*.621371192);
print "<input type='hidden' size='6' readonly name='wifi_distance' value='$wifi_distance' />";
print "<td><input disabled size=6 type=text name='wifi_distance_disp_miles' value='$wifi_distance_disp_miles' title='Distance to the farthest neighbor'>&nbsp;miles<br />";
print "<input disabled size=6 type=text size=4 name='wifi_distance_disp_km' value='$wifi_distance_disp_km' title='Distance to the farthest neighbor'>&nbsp;kilometers<br />";
print "<input disabled size=6 type=text size=4 name='wifi_distance_disp_meters' value='$wifi_distance' title='Distance to the farthest neighbor'>&nbsp;meters<br />";
print "<input id='distance_slider' type='range' min='0' max='150' step='1' value='$wifi_distance_disp_km' oninput='updDist(this.value)' onchange='updDist(this.value)' /><br />";
print "<input type='hidden' size='6' name='wifi_distance' value='$wifi_distance' />";
print "</td></tr>\n"; print "</td></tr>\n";
@ -1131,4 +1131,3 @@ EOF
} }
print "</body>\n"; print "</body>\n";
print "</html>\n"; print "</html>\n";