summaryrefslogtreecommitdiffstats
path: root/interface
diff options
context:
space:
mode:
authormoisseev <moiseev@mezonplus.ru>2020-11-20 13:14:54 +0300
committermoisseev <moiseev@mezonplus.ru>2020-11-20 13:14:54 +0300
commit94744ca826eec8bb8d755af28bca63a350104f60 (patch)
treec556b943f67c4c9145ca308bb21bc35a9f8edc5d /interface
parentdfaee5db385c9990d50757310022892610d0751c (diff)
downloadrspamd-94744ca826eec8bb8d755af28bca63a350104f60.tar.gz
rspamd-94744ca826eec8bb8d755af28bca63a350104f60.zip
[WebUI] Disable Refresh until ongoing requests
are finished
Diffstat (limited to 'interface')
-rw-r--r--interface/js/app/graph.js1
-rw-r--r--interface/js/app/history.js1
-rw-r--r--interface/js/app/rspamd.js7
-rw-r--r--interface/js/app/stats.js1
4 files changed, 9 insertions, 1 deletions
diff --git a/interface/js/app/graph.js b/interface/js/app/graph.js
index d2e3c5ac6..54daf79c1 100644
--- a/interface/js/app/graph.js
+++ b/interface/js/app/graph.js
@@ -285,6 +285,7 @@ define(["jquery", "d3evolution", "footable"],
}
updateWidgets(data);
},
+ complete: function () { $("#refresh").removeAttr("disabled").removeClass("disabled"); },
errorMessage: "Cannot receive throughput data",
errorOnceId: "alerted_graph_",
data: {type:type}
diff --git a/interface/js/app/history.js b/interface/js/app/history.js
index e9642d26a..edf9e19cf 100644
--- a/interface/js/app/history.js
+++ b/interface/js/app/history.js
@@ -370,6 +370,7 @@ define(["jquery", "footable"],
rspamd.destroyTable("history");
}
},
+ complete: function () { $("#refresh").removeAttr("disabled").removeClass("disabled"); },
errorMessage: "Cannot receive history",
});
};
diff --git a/interface/js/app/rspamd.js b/interface/js/app/rspamd.js
index 3da8a82ed..7fb985347 100644
--- a/interface/js/app/rspamd.js
+++ b/interface/js/app/rspamd.js
@@ -91,7 +91,7 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
var tab_id = id;
if ($(id).attr("disabled")) return;
var navBarControls = $("#selSrv, #navBar li, #navBar a, #navBar button");
- navBarControls.attr("disabled", true).addClass("disabled", true);
+ if (id !== "#autoRefresh") navBarControls.attr("disabled", true).addClass("disabled", true);
stopTimers();
@@ -126,6 +126,8 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
if (!refreshInterval) return;
timer_id[timer] = Visibility.every(refreshInterval, function () {
countdown(refreshInterval);
+ if ($("#refresh").attr("disabled")) return;
+ $("#refresh").attr("disabled", true).addClass("disabled", true);
callback();
});
}
@@ -200,6 +202,9 @@ function ($, D3pie, visibility, NProgress, stickyTabs, tab_stat, tab_graph, tab_
}
setTimeout(function () {
+ // Do not enable Refresh button until AJAX requests to all neighbours are finished
+ if (tab_id === "#history_nav") navBarControls = $(navBarControls).not("#refresh");
+
navBarControls.removeAttr("disabled").removeClass("disabled");
}, (id === "#autoRefresh") ? 0 : 1000);
}
diff --git a/interface/js/app/stats.js b/interface/js/app/stats.js
index 582c5017f..b674d25c3 100644
--- a/interface/js/app/stats.js
+++ b/interface/js/app/stats.js
@@ -367,6 +367,7 @@ define(["jquery", "d3pie"],
});
}, promises.length ? 100 : 0);
},
+ complete: function () { $("#refresh").removeAttr("disabled").removeClass("disabled"); },
errorMessage: "Cannot receive stats data",
errorOnceId: "alerted_stats_",
server: "All SERVERS"