Browse Source

[WebUI] Fix Status tab display for scanned = 0

Fixes:  #3498
tags/2.7
moisseev 3 years ago
parent
commit
99074e5877
1 changed files with 43 additions and 7 deletions
  1. 43
    7
      interface/js/app/stats.js

+ 43
- 7
interface/js/app/stats.js View File

@@ -199,9 +199,42 @@ define(["jquery", "d3pie"],
}
}

function getChart(rspamd, pie, checked_server) {
function getChart(rspamd, graphs, checked_server) {
if (graphs.chart) {
graphs.chart.destroy();
delete graphs.chart;
}

var creds = JSON.parse(sessionStorage.getItem("Credentials"));
if (!creds || !creds[checked_server]) return null;
// Controller doesn't return the 'actions' object until at least one message is scanned
if (!creds || !creds[checked_server] || !creds[checked_server].data.scanned) {
// Show grayed out pie as percentage is undefined
return rspamd.drawPie(graphs.chart,
"chart",
[{
value: 1,
color: "#ffffff",
label: "undefined"
}],
{
labels: {
mainLabel: {
fontSize: 14,
},
inner: {
format: "none",
},
lines: {
color: "#cccccc"
}
},
tooltips: {
enabled: true,
string: "{label}"
},
}
);
}

var data = creds[checked_server].data.actions;
var new_data = [{
@@ -236,7 +269,7 @@ define(["jquery", "d3pie"],
value: data.reject
}];

return rspamd.drawPie(pie, "chart", new_data);
return rspamd.drawPie(graphs.chart, "chart", new_data);
}
// Public API
var ui = {
@@ -271,9 +304,12 @@ define(["jquery", "d3pie"],

function process_node_stat(e) {
var data = neighbours_status[e].data;
for (var action in neighbours_sum.actions) {
if ({}.hasOwnProperty.call(neighbours_sum.actions, action)) {
neighbours_sum.actions[action] += data.actions[action];
// Controller doesn't return the 'actions' object until at least one message is scanned
if (data.scanned) {
for (var action in neighbours_sum.actions) {
if ({}.hasOwnProperty.call(neighbours_sum.actions, action)) {
neighbours_sum.actions[action] += data.actions[action];
}
}
}
["learned", "scanned", "uptime"].forEach(function (p) {
@@ -327,7 +363,7 @@ define(["jquery", "d3pie"],
to_Credentials["All SERVERS"].data = neighbours_sum;
sessionStorage.setItem("Credentials", JSON.stringify(to_Credentials));
displayStatWidgets(checked_server);
graphs.chart = getChart(rspamd, graphs.chart, checked_server);
graphs.chart = getChart(rspamd, graphs, checked_server);
});
}, promises.length ? 100 : 0);
},

Loading…
Cancel
Save