Add localStorge adapter to restore clocks after page reload

master
haraldwolff 2021-12-17 15:02:36 +01:00
parent dd7a46cdc8
commit d2e3b3c097
2 changed files with 25 additions and 0 deletions

View File

@ -2,6 +2,29 @@ var clocks = [];
var nextClock = 1;
var DateTime = luxon.DateTime;
function LoadClocks(){
let jclocks = localStorage.getItem("clocks");
if (jclocks){
jclocks = JSON.parse(jclocks);
jclocks.forEach((v)=>{
let clock = createClock();
clock.data().startTime = DateTime.fromSeconds(v.startTime);
$("#clocks").append(clock);
clocks.push(clock);
})
}
}
function StoreClocks(){
let jclocks = [];
clocks.forEach((v)=>{
jclock = { "startTime": v.data().startTime.toSeconds() }
jclocks.push(jclock);
});
localStorage.setItem("clocks",JSON.stringify(jclocks) );
}
function removeClock(clock){
let i = clocks.indexOf(clock);
clocks.splice(i, 1);
@ -53,4 +76,5 @@ function btnStartNewClock(){
updateClock(clock);
$("#clocks").append(clock);
clocks.push(clock);
StoreClocks();
}

View File

@ -27,6 +27,7 @@
<div class="container w-100"><div id="clocks" class="row"></div></div>
<script type="application/javascript">
LoadClocks();
setInterval(updateClocks, 250);
</script>
</body>