]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[WebUI] Stop stats refreshing if the page is hidden 1292/head
authorAlexander Moisseev <moiseev@mezonplus.ru>
Fri, 30 Dec 2016 13:49:16 +0000 (16:49 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Fri, 30 Dec 2016 15:35:13 +0000 (18:35 +0300)
interface/js/rspamd.js

index f2690baf5e38c267fca99b40d0394033b7d78463..6f3fc5040c8ed3bc9e689181f8eb7f86f50c817e 100644 (file)
@@ -69,7 +69,7 @@
                 symbols.destroy();
                 symbols = null;
             }
-            clearTimeout(stat_timeout);
+            Visibility.stop(stat_timeout);
             cleanCredentials();
             connectRSPAMD();
             // window.location.reload();
         $('#refresh').on('click', function (event) {
             if (!$(this).attr('disabled')) {
                 $(this).attr('disabled', true);
-                clearTimeout(stat_timeout);
+                Visibility.stop(stat_timeout);
 
+                statWidgets();
+                stat_timeout = Visibility.every(10000, function () {
+                    statWidgets();
+                });
                 getChart();
                 getGraphData(selected.selData);
-                statWidgets();
 
                 setTimeout(function () {
                     $('#refresh').removeAttr('disabled');
             $('#statWidgets .left,#statWidgets .right').wrapAll('<li class="stat-box pull-right"><div class="widget"></div></li>');
             $('#statWidgets').find('li.pull-right').appendTo('#statWidgets');
             $(widgets).show();
-            stat_timeout = window.setTimeout(statWidgets, 10000);
         }
         // @opem modal with target form enabled
         $(document).on('click', '[data-toggle="modal"]', function (e) {
             // @toggle auth and main
             var disconnect = $('#navBar .pull-right');
             statWidgets();
+            stat_timeout = Visibility.every(10000, function () {
+                statWidgets();
+            });
             $('#mainUI').show();
             $('#progress').show();