diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-01-14 12:26:40 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-01-14 12:26:40 +0000 |
commit | c29a129205f0d318668f769c8ae522f11c4cabd7 (patch) | |
tree | fc5acd6cb343cd7e49c6296804fe584d85758ff8 | |
parent | 716102f68ffd68c60212eeeaf6f2a6b9601bdd57 (diff) | |
download | rspamd-c29a129205f0d318668f769c8ae522f11c4cabd7.tar.gz rspamd-c29a129205f0d318668f769c8ae522f11c4cabd7.zip |
[WebUI] Avoid extra graph redraw and alerts glitching
-rw-r--r-- | interface/js/rspamd.js | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/interface/js/rspamd.js b/interface/js/rspamd.js index cef69604f..647f088d1 100644 --- a/interface/js/rspamd.js +++ b/interface/js/rspamd.js @@ -103,7 +103,6 @@ timer_id.status = Visibility.every(10000, function () { statWidgets(); }); - getChart(); break; case "#throughput_nav": getGraphData(selData); @@ -418,7 +417,7 @@ host: neighbours[ind].host, checked: false, data: {}, - status: false + status: false, }); }); $.each(neighbours_status, function (ind) { @@ -431,6 +430,7 @@ url: neighbours_status[ind].url + req_url, success: function (data) { neighbours_status[ind].checked = true; + if (jQuery.isEmptyObject(data)) { neighbours_status[ind].status = false; //serv does not work } else { @@ -451,7 +451,8 @@ on_error(neighbours_status[ind], jqXHR, textStatus, errorThrown); } - if (neighbours_status.every(function (elt) {return elt.checked;})) { + if (neighbours_status.every( + function (elt) {return elt.checked;})) { on_success(neighbours_status); } } @@ -485,6 +486,8 @@ var status_count = 0; for(var e in neighbours_status) { if(neighbours_status[e].status == true) { + // Remove alert status + localStorage.removeItem(e + '_alerted'); neighbours_sum.clean += neighbours_status[e].data.clean; neighbours_sum.probable += neighbours_status[e].data.probable; neighbours_sum.greylist += neighbours_status[e].data.greylist; @@ -513,8 +516,13 @@ getChart(); }, function (serv, jqXHR, textStatus, errorThrown) { - alertMessage('alert-error', 'Cannot receive stats data from: ' + + var alert_status = serv.name + '_alerted'; + + if (!(alert_status in sessionStorage)) { + sessionStorage.setItem(alert_status, true); + alertMessage('alert-error', 'Cannot receive stats data from: ' + serv.name + ', error: ' + errorThrown); + } }); } @@ -522,7 +530,6 @@ if (!this.disabled) { checked_server = this.value; statWidgets(); - getChart(); } }); |