diff options
author | Alexander Moisseev <moiseev@mezonplus.ru> | 2017-01-01 18:13:22 +0300 |
---|---|---|
committer | Alexander Moisseev <moiseev@mezonplus.ru> | 2017-01-01 18:13:22 +0300 |
commit | 0d65bb8602a7d2398caec8dd97501e8391b71fe4 (patch) | |
tree | f5a62280057a36a554d5fea5e4e73d71a07b06f7 /interface/js | |
parent | 74be226aad438bf5bdc4612f09c1e9fe8b48ee38 (diff) | |
download | rspamd-0d65bb8602a7d2398caec8dd97501e8391b71fe4.tar.gz rspamd-0d65bb8602a7d2398caec8dd97501e8391b71fe4.zip |
[WebUI] Add Throughput graph autorefreshing (#820)
Diffstat (limited to 'interface/js')
-rw-r--r-- | interface/js/rspamd.js | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/interface/js/rspamd.js b/interface/js/rspamd.js index 2ea7eeca7..6c0af1dc6 100644 --- a/interface/js/rspamd.js +++ b/interface/js/rspamd.js @@ -32,14 +32,14 @@ var graph; var symbols; var read_only = false; - var stat_timeout; + var timer_id = []; var selected = []; // Keep graph selectors state // Bind event handlers to selectors $("#selData").change(function () { selected.selData = this.value; - getGraphData(this.value); + tabClick("#throughput_nav"); }); $("#selConvert").change(function () { graph.convert(this.value); @@ -51,6 +51,12 @@ graph.interpolate(this.value); }); + function stopTimers() { + for (var key in timer_id) { + Visibility.stop(timer_id[key]); + } + } + function disconnect() { if (pie) { pie.destroy(); @@ -69,7 +75,7 @@ symbols.destroy(); symbols = null; } - Visibility.stop(stat_timeout); + stopTimers(); cleanCredentials(); connectRSPAMD(); // window.location.reload(); @@ -80,7 +86,7 @@ if ($(tab_id).attr('disabled')) return; $(tab_id).attr('disabled', true); - Visibility.stop(stat_timeout); + stopTimers(); if (tab_id === "#refresh") { tab_id = "#" + $('.navbar-nav .active > a' ).attr('id'); @@ -89,13 +95,20 @@ switch (tab_id) { case "#status_nav": statWidgets(); - stat_timeout = Visibility.every(10000, function () { + timer_id.status = Visibility.every(10000, function () { statWidgets(); }); getChart(); break; case "#throughput_nav": getGraphData(selected.selData); + const autoRefresh = { + hourly: 60000, + daily: 300000 + }; + timer_id.throughput = Visibility.every(autoRefresh[selected.selData] || 3600000, function () { + getGraphData(selected.selData); + }); break; case "#configuration_nav": getActions(); |