From 5cf5b56f24f63b8dd5c6ff7f744e4a850a926120 Mon Sep 17 00:00:00 2001 From: Jennifer Mourek Date: Thu, 26 Oct 2017 11:49:54 +0200 Subject: [PATCH] events: Suspend autorefresh when document not visible refs #2761 --- public/js/icinga/events.js | 16 ++++++++++------ public/js/icinga/loader.js | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index be71b06c1..483d0ddb2 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -177,12 +177,16 @@ onVisibilityChange: function (event) { var icinga = event.data.self.icinga; - if !!(document.visibilityState === undefined || document.visibilityState === 'visible') { - icinga.logger.info('Page visible, enabling auto-refresh'); - icinga.loader.enableAutorefresh() - } else { - icinga.logger.info('Page invisible, disabling auto-refresh'); - icinga.loader.disableAutorefresh() + if (icinga.loader.autorefreshEnabled === true || icinga.autorefreshSuspended === true) { + if (document.visibilityState === undefined || document.visibilityState === 'visible') { + icinga.autorefreshSuspended = false; + icinga.logger.info('Page visible, enabling auto-refresh'); + icinga.loader.enableAutorefresh() + } else { + icinga.autorefreshSuspended = true; + icinga.logger.info('Page invisible, disabling auto-refresh'); + icinga.loader.disableAutorefresh() + } } }, diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index 4b19ef15d..0daff0392 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -31,6 +31,8 @@ this.iconCache = {}; this.autorefreshEnabled = true; + + this.autorefreshSuspended = false; }; Icinga.Loader.prototype = {