X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fui.js;h=e1f2a55631849ffa2629483ebae1d8ca817215a4;hp=7f0afd5c9890e76e0d6f6a193441da17e3df813a;hb=026c4f465e64e898d04d6394672a11cff4f1b7ab;hpb=14acbcf7790763d4377947b6936c3f067b28646c diff --git a/js/ui.js b/js/ui.js index 7f0afd5..e1f2a55 100644 --- a/js/ui.js +++ b/js/ui.js @@ -7,8 +7,10 @@ window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndex window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; var mainDB; +var gAppInitDone = false; var gUIHideCountdown = 0; var gWaitCounter = 0; +var gTrackUpdateInterval; var gAction, gActionLabel; var gOSMAPIURL = "http://api.openstreetmap.org/"; @@ -66,6 +68,7 @@ function postInit(aEvent) { gAction.removeEventListener(aEvent.type, postInit, false); console.log("init done, draw map."); gMapPrefsLoaded = true; + gAppInitDone = true; //gMap.resizeAndDraw(); <-- HACK: This triggers bug 1001853, work around with a delay. window.setTimeout(gMap.resizeAndDraw, 100); gActionLabel.textContent = ""; @@ -153,25 +156,37 @@ function maybeHideUI() { } } +function updateTrackInfo() { + document.getElementById("trackLengthNum").textContent = calcTrackLength().toFixed(1); + var duration = calcTrackDuration(); + var durationM = Math.round(duration/60); + var durationH = Math.floor(durationM/60); durationM = durationM - durationH * 60; + document.getElementById("trackDurationH").style.display = durationH ? "inline" : "none"; + document.getElementById("trackDurationHNum").textContent = durationH; + document.getElementById("trackDurationMNum").textContent = durationM; +} + function toggleTrackArea() { var fs = document.getElementById("trackArea"); - if (fs.style.display != "block") { - fs.style.display = "block"; + if (fs.classList.contains("hidden")) { + fs.classList.remove("hidden"); showUI(); + gTrackUpdateInterval = setInterval(updateTrackInfo, 1000); } else { - fs.style.display = "none"; + clearInterval(gTrackUpdateInterval); + fs.classList.add("hidden"); } } function toggleSettings() { var fs = document.getElementById("settingsArea"); - if (fs.style.display != "block") { - fs.style.display = "block"; + if (fs.classList.contains("hidden")) { + fs.classList.remove("hidden"); showUI(); } else { - fs.style.display = "none"; + fs.classList.add("hidden"); } }