Updating UI plugins to fix memory leak reported in #394
This commit is contained in:
parent
e4dc7b7297
commit
cc99df4c5a
|
@ -4,6 +4,7 @@ var locPlugin = PHPCI.UiPlugin.extend({
|
||||||
title: 'Lines of Code',
|
title: 'Lines of Code',
|
||||||
lastData: null,
|
lastData: null,
|
||||||
displayOnUpdate: false,
|
displayOnUpdate: false,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -14,8 +15,7 @@ var locPlugin = PHPCI.UiPlugin.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function(data) {
|
||||||
if (data.queryData.status > 1) {
|
if (data.queryData.status > 1 && !self.rendered) {
|
||||||
self.displayOnUpdate = true;
|
|
||||||
query();
|
query();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -29,10 +29,7 @@ var locPlugin = PHPCI.UiPlugin.extend({
|
||||||
|
|
||||||
onUpdate: function(e) {
|
onUpdate: function(e) {
|
||||||
this.lastData = e.queryData;
|
this.lastData = e.queryData;
|
||||||
|
this.displayChart();
|
||||||
if (this.displayOnUpdate) {
|
|
||||||
this.displayChart();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
displayChart: function() {
|
displayChart: function() {
|
||||||
|
@ -42,6 +39,8 @@ var locPlugin = PHPCI.UiPlugin.extend({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rendered = true;
|
||||||
|
|
||||||
$('#phploc-lines').empty().animate({height: '275px'});
|
$('#phploc-lines').empty().animate({height: '275px'});
|
||||||
|
|
||||||
var titles = ['Build', 'Lines', 'Comment Lines', 'Non-Comment Lines', 'Logical Lines'];
|
var titles = ['Build', 'Lines', 'Comment Lines', 'Non-Comment Lines', 'Logical Lines'];
|
||||||
|
|
|
@ -3,8 +3,8 @@ var phpcsPlugin = PHPCI.UiPlugin.extend({
|
||||||
css: 'col-lg-12 col-md-12 col-sm-12 col-xs-12',
|
css: 'col-lg-12 col-md-12 col-sm-12 col-xs-12',
|
||||||
title: 'PHP Code Sniffer',
|
title: 'PHP Code Sniffer',
|
||||||
lastData: null,
|
lastData: null,
|
||||||
displayOnUpdate: false,
|
|
||||||
box: true,
|
box: true,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -14,16 +14,14 @@ var phpcsPlugin = PHPCI.UiPlugin.extend({
|
||||||
self.onUpdate(data);
|
self.onUpdate(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function() {
|
||||||
if (data.queryData.status > 1) {
|
if (!self.rendered) {
|
||||||
self.displayOnUpdate = true;
|
|
||||||
query();
|
query();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
||||||
return $('<table class="table table-striped" id="phpcs-data">' +
|
return $('<table class="table table-striped" id="phpcs-data">' +
|
||||||
'<thead>' +
|
'<thead>' +
|
||||||
'<tr>' +
|
'<tr>' +
|
||||||
|
@ -35,10 +33,11 @@ var phpcsPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdate: function(e) {
|
onUpdate: function(e) {
|
||||||
if (this.lastData && this.lastData[0]) {
|
if (!e.queryData) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rendered = true;
|
||||||
this.lastData = e.queryData;
|
this.lastData = e.queryData;
|
||||||
|
|
||||||
var errors = this.lastData[0].meta_value;
|
var errors = this.lastData[0].meta_value;
|
||||||
|
|
|
@ -5,6 +5,7 @@ var phpdoccheckPlugin = PHPCI.UiPlugin.extend({
|
||||||
lastData: null,
|
lastData: null,
|
||||||
displayOnUpdate: false,
|
displayOnUpdate: false,
|
||||||
box: true,
|
box: true,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -14,8 +15,8 @@ var phpdoccheckPlugin = PHPCI.UiPlugin.extend({
|
||||||
self.onUpdate(data);
|
self.onUpdate(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function() {
|
||||||
if (data.queryData.status > 1) {
|
if (!self.rendered) {
|
||||||
self.displayOnUpdate = true;
|
self.displayOnUpdate = true;
|
||||||
query();
|
query();
|
||||||
}
|
}
|
||||||
|
@ -23,7 +24,6 @@ var phpdoccheckPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|
||||||
return $('<table class="table table-striped" id="phpdoccheck-data">' +
|
return $('<table class="table table-striped" id="phpdoccheck-data">' +
|
||||||
'<thead>' +
|
'<thead>' +
|
||||||
'<tr>' +
|
'<tr>' +
|
||||||
|
@ -37,10 +37,11 @@ var phpdoccheckPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdate: function(e) {
|
onUpdate: function(e) {
|
||||||
if (this.lastData && this.lastData[0]) {
|
if (!e.queryData) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rendered = true;
|
||||||
this.lastData = e.queryData;
|
this.lastData = e.queryData;
|
||||||
|
|
||||||
var errors = this.lastData[0].meta_value;
|
var errors = this.lastData[0].meta_value;
|
||||||
|
|
|
@ -5,6 +5,7 @@ var phpmdPlugin = PHPCI.UiPlugin.extend({
|
||||||
lastData: null,
|
lastData: null,
|
||||||
displayOnUpdate: false,
|
displayOnUpdate: false,
|
||||||
box: true,
|
box: true,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -14,8 +15,8 @@ var phpmdPlugin = PHPCI.UiPlugin.extend({
|
||||||
self.onUpdate(data);
|
self.onUpdate(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function() {
|
||||||
if (data.queryData.status > 1) {
|
if (!self.rendered) {
|
||||||
self.displayOnUpdate = true;
|
self.displayOnUpdate = true;
|
||||||
query();
|
query();
|
||||||
}
|
}
|
||||||
|
@ -36,10 +37,11 @@ var phpmdPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdate: function(e) {
|
onUpdate: function(e) {
|
||||||
if (this.lastData && this.lastData[0]) {
|
if (!e.queryData) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rendered = true;
|
||||||
this.lastData = e.queryData;
|
this.lastData = e.queryData;
|
||||||
|
|
||||||
var errors = this.lastData[0].meta_value;
|
var errors = this.lastData[0].meta_value;
|
||||||
|
|
|
@ -5,6 +5,7 @@ var phpunitPlugin = PHPCI.UiPlugin.extend({
|
||||||
lastData: null,
|
lastData: null,
|
||||||
displayOnUpdate: false,
|
displayOnUpdate: false,
|
||||||
box: true,
|
box: true,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -14,8 +15,8 @@ var phpunitPlugin = PHPCI.UiPlugin.extend({
|
||||||
self.onUpdate(data);
|
self.onUpdate(data);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function() {
|
||||||
if (data.queryData.status > 1) {
|
if (!self.rendered) {
|
||||||
self.displayOnUpdate = true;
|
self.displayOnUpdate = true;
|
||||||
query();
|
query();
|
||||||
}
|
}
|
||||||
|
@ -33,10 +34,11 @@ var phpunitPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onUpdate: function(e) {
|
onUpdate: function(e) {
|
||||||
if (this.lastData && this.lastData[0]) {
|
if (!e.queryData) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.rendered = true;
|
||||||
this.lastData = e.queryData;
|
this.lastData = e.queryData;
|
||||||
|
|
||||||
var tests = this.lastData[0].meta_value;
|
var tests = this.lastData[0].meta_value;
|
||||||
|
|
|
@ -12,6 +12,7 @@ var warningsPlugin = PHPCI.UiPlugin.extend({
|
||||||
},
|
},
|
||||||
data: {},
|
data: {},
|
||||||
displayOnUpdate: false,
|
displayOnUpdate: false,
|
||||||
|
rendered: false,
|
||||||
|
|
||||||
register: function() {
|
register: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -26,7 +27,7 @@ var warningsPlugin = PHPCI.UiPlugin.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
$(window).on('build-updated', function(data) {
|
$(window).on('build-updated', function(data) {
|
||||||
if (data.queryData.status > 1) {
|
if (!self.rendered && data.queryData.status > 1) {
|
||||||
self.displayOnUpdate = true;
|
self.displayOnUpdate = true;
|
||||||
for (var query in queries) {
|
for (var query in queries) {
|
||||||
queries[query]();
|
queries[query]();
|
||||||
|
@ -68,6 +69,7 @@ var warningsPlugin = PHPCI.UiPlugin.extend({
|
||||||
|
|
||||||
displayChart: function() {
|
displayChart: function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
self.rendered = true;
|
||||||
|
|
||||||
$('#build-warnings').empty().animate({height: '275px'});
|
$('#build-warnings').empty().animate({height: '275px'});
|
||||||
|
|
||||||
|
|
|
@ -317,8 +317,19 @@ var PHPCIObject = Class.extend({
|
||||||
updateInterval: null,
|
updateInterval: null,
|
||||||
|
|
||||||
init: function(build) {
|
init: function(build) {
|
||||||
|
var self = this;
|
||||||
this.buildId = build;
|
this.buildId = build;
|
||||||
this.registerQuery('build-updated', 10);
|
this.registerQuery('build-updated', 10);
|
||||||
|
|
||||||
|
$(window).on('build-updated', function(data) {
|
||||||
|
|
||||||
|
// If the build has finished, stop updating every 10 seconds:
|
||||||
|
if (data.queryData.status > 1) {
|
||||||
|
self.cancelQuery('build-updated');
|
||||||
|
$(window).trigger({type: 'build-complete'});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
registerQuery: function(name, seconds, query) {
|
registerQuery: function(name, seconds, query) {
|
||||||
|
@ -337,12 +348,16 @@ var PHPCIObject = Class.extend({
|
||||||
};
|
};
|
||||||
|
|
||||||
if (seconds != -1) {
|
if (seconds != -1) {
|
||||||
setInterval(cb, seconds * 1000);
|
self.queries[name] = setInterval(cb, seconds * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
return cb;
|
return cb;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cancelQuery: function (name) {
|
||||||
|
clearInterval(this.queries[name]);
|
||||||
|
},
|
||||||
|
|
||||||
registerPlugin: function(plugin) {
|
registerPlugin: function(plugin) {
|
||||||
this.plugins[plugin.id] = plugin;
|
this.plugins[plugin.id] = plugin;
|
||||||
plugin.register();
|
plugin.register();
|
||||||
|
|
Loading…
Reference in a new issue