margin-right: 9px;
}
+.status-table td:last-child {
+ border-right: none;
+}
+.status-table tr:last-child td {
+ border-bottom: none;
+}
+.status-table thead th:last-child {
+ border-right: none;
+}
+.status-table tr:last-child td:first-child {
+ border-radius: 0 0 0 calc(.25rem - 1px);
+}
+.status-table tr:last-child td:last-child {
+ border-radius: 0 0 calc(.25rem - 1px) 0;
+}
+
/* RRD summary */
#summary-row {
padding-left: 80px;
padding: 15px;
}
-#clusterTable td:last-child {
- border-right: none;
-}
-#clusterTable tr:last-child td {
- border-bottom: none;
-}
-#clusterTable thead th:last-child {
- border-right: none;
-}
-#clusterTable tr:last-child td:first-child {
- border-radius: 0 0 0 calc(.25rem - 1px);
-}
-#clusterTable tr:last-child td:last-child {
- border-radius: 0 0 calc(.25rem - 1px) 0;
-}
-
#modalDialog > .modal-dialog {
/* Center the modal vertically */
top: 50%;
<span class="h6 font-weight-bolder my-2">Servers</span>
</div>
<div class="card-body p-0 table-responsive">
- <table class="table table-sm table-hover table-bordered text-nowrap mb-0" id="clusterTable">
+ <table class="table status-table table-sm table-hover table-bordered text-nowrap mb-0" id="clusterTable">
<thead class="text-secondary">
<tr>
<th></th>
</table>
</div>
</div>
+ <div class="card bg-light shadow my-3">
+ <div class="card-header text-secondary py-2">
+ <span class="icon mr-3"><i class="fas fa-dice"></i></span>
+ <span class="h6 font-weight-bolder my-2">Bayesian statistics</span>
+ </div>
+ <div class="card-body p-0 table-responsive">
+ <table class="table status-table table-sm table-bordered text-nowrap mb-0" id="bayesTable">
+ <thead class="text-secondary">
+ <tr>
+ <th>Server name</th>
+ <th>Symbol</th>
+ <th>Type</th>
+ <th>Learns</th>
+ <th>Users</th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </div>
+ </div>
</div>
<div class="col-lg-6">
<div class="card bg-light shadow my-3">
$('#selSrv [value="' + key + '"]').prop("disabled", true);
}
});
+
+ function addStatfiles(server, statfiles) {
+ $.each(statfiles, function (i, statfile) {
+ var cls = "";
+ switch (statfile.symbol) {
+ case "BAYES_SPAM":
+ cls = "symbol-positive";
+ break;
+ case "BAYES_HAM":
+ cls = "symbol-negative";
+ break;
+ default:
+ }
+ $("#bayesTable tbody").append("<tr>" +
+ (i === 0 ? '<td rowspan="' + statfiles.length + '">' + server + "</td>" : "") +
+ '<td class="' + cls + '">' + statfile.symbol + "</td>" +
+ '<td class="' + cls + '">' + statfile.type + "</td>" +
+ '<td class="' + cls + '">' + statfile.revision + "</td>" +
+ '<td class="' + cls + '">' + statfile.users + "</td></tr>");
+ });
+ }
+ $("#bayesTable tbody").empty();
+ if (checked_server === "All SERVERS") {
+ $.each(servers, function (server, val) {
+ if (server !== "All SERVERS") {
+ addStatfiles(server, val.data.statfiles);
+ }
+ });
+ } else {
+ addStatfiles(checked_server, data.statfiles);
+ }
}
function getChart(rspamd, pie, checked_server) {