commit 4f1af03: [WebUI] Add History tab autorefreshing

moisseev moiseev at mezonplus.ru
Fri Nov 20 11:07:06 UTC 2020


Author: moisseev
Date: 2020-11-19 11:06:54 +0300
URL: https://github.com/rspamd/rspamd/commit/4f1af03dc3c233be07caf289130690f5a9f9f3c0

 [WebUI] Add History tab autorefreshing
Issue: #820

---
 interface/index.html       | 11 +++++++++++
 interface/js/app/rspamd.js | 20 +++++++++++++++++---
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/interface/index.html b/interface/index.html
index a3810804b..ea118dcfc 100644
--- a/interface/index.html
+++ b/interface/index.html
@@ -63,6 +63,17 @@
 				<div class="dropdown-divider preset" role="separator"></div>
 				<a class="dropdown-item preset" href="#" data-value="3600000">1 hour</a>
 
+				<a class="dropdown-item history active" href="#" data-value=null>Disable</a>
+				<div class="dropdown-divider history" role="separator"></div>
+				<a class="dropdown-item history" href="#" data-value="10000">10 seconds</a>
+				<a class="dropdown-item history" href="#" data-value="30000">30 seconds</a>
+				<div class="dropdown-divider history" role="separator"></div>
+				<a class="dropdown-item history" href="#" data-value="60000">1 minute</a>
+				<a class="dropdown-item history" href="#" data-value="600000">10 minutes</a>
+				<a class="dropdown-item history" href="#" data-value="1800000">30 minutes</a>
+				<div class="dropdown-divider history" role="separator"></div>
+				<a class="dropdown-item history" href="#" data-value="3600000">1 hour</a>
+
 				<a class="dropdown-item dynamic" href="#" data-value=null>Disable</a>
 				<div class="dropdown-divider dynamic" role="separator"></div>
 				<a class="dropdown-item dynamic active" href="#" id="dynamic-item" data-value="3600000">1 hour</a>
diff --git a/interface/js/app/rspamd.js b/interface/js/app/rspamd.js
index 360ba603e..5312efa51 100644
--- a/interface/js/app/rspamd.js
+++ b/interface/js/app/rspamd.js
@@ -145,6 +145,7 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
                     if (id !== "#autoRefresh") tab_stat.statWidgets(ui, graphs, checked_server);
 
                     $(".preset").show();
+                    $(".history").hide();
                     $(".dynamic").hide();
                 }());
                 break;
@@ -165,6 +166,7 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
                     if (id !== "#autoRefresh") tab_graph.draw(ui, graphs, tables, neighbours, checked_server, selData);
 
                     $(".preset").hide();
+                    $(".history").hide();
                     $(".dynamic").show();
                 }());
                 break;
@@ -176,8 +178,20 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
                 tab_symbols.getSymbols(ui, tables, checked_server);
                 break;
             case "#history_nav":
-                tab_history.getHistory(ui, tables);
-                tab_history.getErrors(ui, tables);
+                (function () {
+                    function getHistoryAndErrors() {
+                        tab_history.getHistory(ui, tables);
+                        tab_history.getErrors(ui, tables);
+                    }
+                    var refreshInterval = $(".dropdown-menu a.active.history").data("value");
+                    setAutoRefresh(refreshInterval, "history",
+                        function () { return getHistoryAndErrors(); });
+                    if (id !== "#autoRefresh") getHistoryAndErrors();
+
+                    $(".preset").hide();
+                    $(".history").show();
+                    $(".dynamic").hide();
+                }());
                 break;
             case "#disconnect":
                 disconnect();
@@ -414,7 +428,7 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
         $(".dropdown-menu a").click(function (e) {
             e.preventDefault();
             var classList = $(this).attr("class");
-            var menuClass = (/\b(?:dynamic|preset)\b/).exec(classList)[0];
+            var menuClass = (/\b(?:dynamic|history|preset)\b/).exec(classList)[0];
             $(".dropdown-menu a.active." + menuClass).removeClass("active");
             $(this).addClass("active");
             tabClick("#autoRefresh");


More information about the Commits mailing list