X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=raspberry-kiosk%2Fkiosk.js;h=778ed47cff532f25350d5ca55c9c2cd2b4995efe;hb=c775b5528f8f96e75c28264b9cea8525c6da9298;hp=4a36fcb1b1921abeb672d456c326bdf830f759e8;hpb=cbae74009cf269a5ca260e5e67de6ab35b5ae95d;p=svn42.git diff --git a/raspberry-kiosk/kiosk.js b/raspberry-kiosk/kiosk.js index 4a36fcb..778ed47 100644 --- a/raspberry-kiosk/kiosk.js +++ b/raspberry-kiosk/kiosk.js @@ -112,27 +112,36 @@ function calendarItemEnhancer(data) for (var s=0; s dt) + var stime = data[s].starttime; + var dt; + if (stime) { + dt = Date.parse(data[s].start+'T'+data[s].starttime); + } else { + dt = Date.parse(data[s].start); + } + if (stime && Date.now() > dt) { when = "JETZT"; } else { var weekday = weekday2str((new Date(dt)).getDay()); - var stime = data[s].starttime; var month = data[s].start.substring(5,7); if (month[0] == '0') month = month[1]; var dayofmonth = data[s].start.substring(8,10); if (dayofmonth[0] == '0') dayofmonth = dayofmonth[1]; - while (stime.substring(stime.length-3,stime.length) == ":00") - { - stime=stime.substring(0,stime.length-3); + if (stime) { + while (stime.substring(stime.length-3,stime.length) == ":00") + { + stime=stime.substring(0,stime.length-3); + } + if (stime.length <= 2) { stime+="h"; } + when = weekday + " " + dayofmonth+"."+month +", "+stime; + } else { + when = weekday + " " + dayofmonth+"."+month; } - if (stime.length <= 2) { stime+="h"; } - when = weekday + " " + dayofmonth+"."+month +", "+stime; } data[s].when = when } @@ -215,6 +224,18 @@ function loadAndDrawSensorData() { }); } +function siNumberString(num,unit) +{ + var siid="" + var sisize=new Array([1e9,"G"],[1e6,"M"],[1e3,"K"]); + for (i=0; i= sisize[i][0]) { siid=sisize[i][1]; num=num/sisize[i][0]; break;} + + } + return (Math.round(num*10)/10)+siid+unit; +} + function writeAnwesenheitStatus(data) { var html=""; @@ -232,13 +253,21 @@ function writeAnwesenheitStatus(data) } var anwesenheit_status_kiosk = document.getElementById('anwesenheit_status_kiosk'); var anwesenheit_status_frontpage = document.getElementById('anwesenheit_status'); + var statusage = parseInt((new Date()).getTime()/1000) - data.lastchange; + var statusagestatus = ""; + if (statusage > 600) + { + //var statusagestatus = 'Status older than ' + siNumberString(statusage,"s") + ''; + var statusagestatus = '
Status older than ' + siNumberString(statusage,"s") + '
'; + } if (anwesenheit_status_kiosk) { anwesenheit_status_kiosk.innerHTML='
'+data.status+'
'; } if (anwesenheit_status_frontpage) { - anwesenheit_status_frontpage.innerHTML='
'+data.status+'
'; + //anwesenheit_status_frontpage.innerHTML=''+statusagestatus+'
'+data.status+'
'; + anwesenheit_status_frontpage.innerHTML='
'+data.status+statusagestatus+'
'; } if (data.sensors)