]> git.datanom.net - qtadmin.git/blobdiff - js/timer.js
Fix bug in session handler
[qtadmin.git] / js / timer.js
index 3976030c0f4e329e57c54954b4d4b5f608f0b6c9..f68f0841f11d279fd19defce6ff5ccd026569796 100644 (file)
@@ -1,6 +1,7 @@
 /* vim: set ts=4 tw=4 sw=4 noet: */
-var timerRef=setInterval(function(){myTimer()},1000);
+var timerRef=setInterval(function(){myTimer()}, 1000);
 var timeStart = new Date().getTime() + timeout;
+var last = -1;
 
 function myTimer() {
     var elapsed = new Date().getTime();
@@ -8,14 +9,24 @@ function myTimer() {
     var timeLeft = Math.round(((expire % 86400000) % 3600000) / 60000);
 
     if (timeLeft < 0) {
-        /*timeLeft = 'Expired';
-        document.getElementById("time").style.background = "red";*/
         clearInterval(timerRef);
+        console.log('Session expired, reload page');
+        last = -1;
         location.reload();
+    } else if (timeLeft == 1) {
+        if (timeLeft < last || last == -1) {
+            last = timeLeft;
+            timeLeft = '< ' + timeLeft + ' min';
+            console.log('Session soon to expire');
+            document.getElementById("time").style.background = "red";
+            document.getElementById("timer").innerHTML = timeLeft;
+        }
     } else {
-        //timeLeft += 1;
-        timeLeft = '< ' + timeLeft + ' min';
+        if ((timeLeft < last && timeLeft > 0) || last == -1) {
+            last = timeLeft;
+            console.log('Session valid < ' + timeLeft);
+            timeLeft = '< ' + timeLeft + ' min';
+            document.getElementById("timer").innerHTML = timeLeft;
+        }
     }
-
-    document.getElementById("timer").innerHTML = timeLeft;
 }
This page took 0.063158 seconds and 5 git commands to generate.