Merge pull request #29 from openHPI/fix-dashboard

Fix leaking interval creating potentially unlimited unwanted requests
This commit is contained in:
rteusner
2015-11-08 13:18:05 +01:00

View File

@ -2,6 +2,8 @@ $(function() {
var CHART_START = window.vis ? vis.moment().add(-1, 'minute') : undefined; var CHART_START = window.vis ? vis.moment().add(-1, 'minute') : undefined;
var DEFAULT_REFRESH_INTERVAL = 5000; var DEFAULT_REFRESH_INTERVAL = 5000;
var refreshInterval;
var dataset; var dataset;
var graph; var graph;
var groups; var groups;
@ -46,6 +48,9 @@ $(function() {
}; };
var refreshData = function(callback) { var refreshData = function(callback) {
if (! $.isController('dashboard')) {
clearInterval(refreshInterval);
} else {
var jqxhr = $.ajax({ var jqxhr = $.ajax({
dataType: 'json', dataType: 'json',
method: 'GET' method: 'GET'
@ -57,6 +62,7 @@ $(function() {
updateTable(response); updateTable(response);
requestAnimationFrame(refreshChart); requestAnimationFrame(refreshChart);
}); });
}
}; };
var setGroupVisibility = function(response) { var setGroupVisibility = function(response) {
@ -101,6 +107,7 @@ $(function() {
initializeChart(); initializeChart();
refreshData(); refreshData();
var refresh_interval = location.search.match(/interval=(\d+)/) ? parseInt(RegExp.$1) : DEFAULT_REFRESH_INTERVAL; var refresh_interval = location.search.match(/interval=(\d+)/) ? parseInt(RegExp.$1) : DEFAULT_REFRESH_INTERVAL;
setInterval(refreshData, refresh_interval); refreshInterval = setInterval(refreshData, refresh_interval);
} }
}); });