浏览代码

ux(view/tv mode): treat tab change as user activity, resets in activity timer

Torkel Ödegaard 9 年之前
父节点
当前提交
4fa995eafa
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      public/app/core/components/grafana_app.ts

+ 7 - 2
public/app/core/components/grafana_app.ts

@@ -122,7 +122,7 @@ export function grafanaAppDirective(playlistSrv, contextSrv) {
       // handle in active view state class
       // handle in active view state class
       var lastActivity = new Date().getTime();
       var lastActivity = new Date().getTime();
       var activeUser = true;
       var activeUser = true;
-      var inActiveTimeLimit = 60 * 1000;
+      var inActiveTimeLimit = 10 * 1000;
 
 
       function checkForInActiveUser() {
       function checkForInActiveUser() {
         if (!activeUser) {
         if (!activeUser) {
@@ -147,9 +147,14 @@ export function grafanaAppDirective(playlistSrv, contextSrv) {
         }
         }
       }
       }
 
 
+      // mouse and keyboard is user activity
       body.mousemove(userActivityDetected);
       body.mousemove(userActivityDetected);
       body.keydown(userActivityDetected);
       body.keydown(userActivityDetected);
-      setInterval(checkForInActiveUser, 1000);
+      // treat tab change as activity
+      document.addEventListener('visibilitychange', userActivityDetected);
+
+      // check every 2 seconds
+      setInterval(checkForInActiveUser, 2000);
 
 
       appEvents.on('toggle-view-mode', () => {
       appEvents.on('toggle-view-mode', () => {
         lastActivity = 0;
         lastActivity = 0;