diff --git a/web/index.html b/web/index.html index 0c7cec3..74c74b9 100644 --- a/web/index.html +++ b/web/index.html @@ -380,8 +380,51 @@ } el.classList.add('active'); activeTab.classList.remove('hidden'); + } + function createDashboardItem(name,def,parent){ + let frame=addEl('div','dash',parent); + let title=addEl('span','dashTitle',frame,name); + let value=addEl('span','dashValue',frame); + value.setAttribute('id','data_'+name); + return value; + } + function createDashboard(){ + let frame=document.getElementById('dashboardPage'); + if (! frame) return; + getJson("api/boatData").then(function(json){ + frame.innerHTML=''; + for (let n in json){ + createDashboardItem(n,json[n],frame); + } + updateDashboard(json); + }); + } + function updateDashboard(data){ + for (let n in data){ + let de=document.getElementById('data_'+n); + if (de){ + if (data[n].valid){ + let v=parseFloat(data[n].value); + if (! isNaN(v)){ + v=v.toFixed(3) + de.textContent=v; + } + else{ + de.textContent=data[n].value; + } + } + else de.textContent="---"; + } + } } window.setInterval(update,1000); + window.setInterval(function(){ + let dp=document.getElementById('dashboardPage'); + if (dp.classList.contains('hidden')) return; + getJson('api/boatData').then(function(data){ + updateDashboard(data); + }); + },1000); window.addEventListener('load',function(){ let buttons=document.querySelectorAll('button'); for (let i=0;i @@ -566,6 +633,7 @@ h1{ Status Config + Data @@ -614,6 +682,9 @@ h1{ FactoryReset + + +