]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[WebUI] Destroy summary table on disconnect
authorAlexander Moisseev <moiseev@mezonplus.ru>
Thu, 30 Aug 2018 08:38:35 +0000 (11:38 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Sat, 1 Sep 2018 12:05:13 +0000 (15:05 +0300)
interface/js/app/graph.js
interface/js/app/rspamd.js

index 12e6b4676187ade073ff5575134e893509334691..a70f09f4c7a960c05c79347d58be3a6837cf3a43 100644 (file)
@@ -28,7 +28,6 @@
 define(["jquery", "d3evolution", "footable"],
     function ($, D3Evolution) {
         "use strict";
-        var ft;
 
         var rrd_pie_config = {
             header: {},
@@ -139,7 +138,7 @@ define(["jquery", "d3evolution", "footable"],
             }, []);
         }
 
-        function updateSummaryTable(data) {
+        function updateSummaryTable(tables, data) {
             var total_messages = 0;
             var rows = data.map(function (curr, i) {
                 total_messages += curr.value;
@@ -155,11 +154,11 @@ define(["jquery", "d3evolution", "footable"],
 
             document.getElementById("rrd-total-value").innerHTML = total_messages;
 
-            ft.rows.load(rows);
+            tables.rrd_summary.rows.load(rows);
         }
 
-        function initSummaryTable(data, unit) {
-            return FooTable.init("#rrd-table", {
+        function initSummaryTable(tables, data, unit) {
+            tables.rrd_summary = FooTable.init("#rrd-table", {
                 sorting: {
                     enabled: true
                 },
@@ -173,24 +172,24 @@ define(["jquery", "d3evolution", "footable"],
                 ],
                 on: {
                     "ready.ft.table": function () {
-                        updateSummaryTable(data);
+                        updateSummaryTable(tables, data);
                     }
                 }
             });
         }
 
-        function drawRrdTable(data, unit) {
-            if (ft) {
-                updateSummaryTable(data);
+        function drawRrdTable(tables, data, unit) {
+            if (Object.prototype.hasOwnProperty.call(tables, "rrd_summary")) {
+                updateSummaryTable(tables, data);
             } else {
-                ft = initSummaryTable(data, unit);
+                initSummaryTable(tables, data, unit);
             }
         }
 
         var ui = {};
         var prevUnit = "msg/s";
 
-        ui.draw = function (rspamd, graphs, neighbours, checked_server, type) {
+        ui.draw = function (rspamd, graphs, tables, neighbours, checked_server, type) {
             function updateWidgets(data) {
                 var rrd_summary = [];
                 var unit = "msg/s";
@@ -224,7 +223,7 @@ define(["jquery", "d3evolution", "footable"],
                     $(".unit").text(unit);
                     prevUnit = unit;
                 }
-                drawRrdTable(rrd_summary, unit);
+                drawRrdTable(tables, rrd_summary, unit);
             }
 
             if (!graphs.graph) {
index 4cfc999540d5795a0cbfa38f10082fdf9d5e5194..4e0e5784100bfa0206819d2c2debd433c0ed5012 100644 (file)
@@ -84,14 +84,14 @@ function ($, d3pie, visibility, tab_stat, tab_graph, tab_config,
             });
             break;
         case "#throughput_nav":
-            tab_graph.draw(ui, graphs, neighbours, checked_server, selData);
+            tab_graph.draw(ui, graphs, tables, neighbours, checked_server, selData);
 
             var autoRefresh = {
                 hourly: 60000,
                 daily: 300000
             };
             timer_id.throughput = Visibility.every(autoRefresh[selData] || 3600000, function () {
-                tab_graph.draw(ui, graphs, neighbours, checked_server, selData);
+                tab_graph.draw(ui, graphs, tables, neighbours, checked_server, selData);
             });
             break;
         case "#configuration_nav":