Merge pull request #200 from rkflx/rkflx/polish-statistics-bar
Polish formatting and behaviour of track statistics bar
This commit is contained in:
commit
8edf0f7906
3 changed files with 100 additions and 48 deletions
|
|
@ -1,30 +1,61 @@
|
|||
BR.TrackStats = L.Class.extend({
|
||||
update: function(polyline, segments) {
|
||||
if (segments.length == 0) {
|
||||
$('#distance').html('-');
|
||||
$('#distance').attr('title', '');
|
||||
$('#ascend').html('-');
|
||||
$('#plainascend').html('-');
|
||||
$('#cost').html('-');
|
||||
$('#meancostfactor').html('-');
|
||||
$('#totaltime').html('-');
|
||||
$('#totalenergy').html('-');
|
||||
$('#meanenergy').html('-');
|
||||
return;
|
||||
}
|
||||
|
||||
var stats = this.calcStats(polyline, segments),
|
||||
length1 = L.Util.formatNum(stats.trackLength / 1000, 1),
|
||||
length3 = L.Util.formatNum(stats.trackLength / 1000, 3),
|
||||
length1 = L.Util.formatNum(
|
||||
stats.trackLength / 1000,
|
||||
1
|
||||
).toLocaleString(),
|
||||
length3 = L.Util.formatNum(
|
||||
stats.trackLength / 1000,
|
||||
3
|
||||
).toLocaleString(),
|
||||
formattedAscend = stats.filteredAscend.toLocaleString(),
|
||||
formattedPlainAscend = stats.plainAscend.toLocaleString(),
|
||||
formattedCost = stats.cost.toLocaleString(),
|
||||
meanCostFactor = stats.trackLength
|
||||
? L.Util.formatNum(stats.cost / stats.trackLength, 2)
|
||||
: '',
|
||||
formattedTime = L.Util.formatNum(stats.totalTime / 60, 1),
|
||||
formattedEnergy = L.Util.formatNum(stats.totalEnergy / 3600000, 2),
|
||||
? L.Util.formatNum(
|
||||
stats.cost / stats.trackLength,
|
||||
2
|
||||
).toLocaleString()
|
||||
: '0',
|
||||
formattedTime =
|
||||
Math.trunc(stats.totalTime / 3600) +
|
||||
':' +
|
||||
('0' + Math.trunc((stats.totalTime % 3600) / 60)).slice(-2),
|
||||
formattedEnergy = L.Util.formatNum(
|
||||
stats.totalEnergy / 3600000,
|
||||
2
|
||||
).toLocaleString(),
|
||||
meanEnergy = stats.trackLength
|
||||
? L.Util.formatNum(
|
||||
stats.totalEnergy / 36 / stats.trackLength,
|
||||
2
|
||||
)
|
||||
: '';
|
||||
).toLocaleString()
|
||||
: '0';
|
||||
|
||||
$('#distance').html(length1);
|
||||
// alternative 3-digit format down to meters as tooltip
|
||||
$('#distance').attr('title', length3 + ' km');
|
||||
$('#ascend').html(
|
||||
stats.filteredAscend + ' (' + stats.plainAscend + ')'
|
||||
);
|
||||
$('#cost').html(stats.cost + ' (' + meanCostFactor + ')');
|
||||
$('#ascend').html(formattedAscend);
|
||||
$('#plainascend').html(formattedPlainAscend);
|
||||
$('#cost').html(formattedCost);
|
||||
$('#meancostfactor').html(meanCostFactor);
|
||||
$('#totaltime').html(formattedTime);
|
||||
$('#totalenergy').html(formattedEnergy + ' (' + meanEnergy + ')');
|
||||
|
||||
$('#totalenergy').html(formattedEnergy);
|
||||
$('#meanenergy').html(meanEnergy);
|
||||
document.getElementById(
|
||||
'totaltime'
|
||||
).parentElement.parentElement.hidden = !stats.totalTime;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue