diff --git a/panel/static/panel/js/panel.js b/panel/static/panel/js/panel.js
index 7597cde..5230c8d 100644
--- a/panel/static/panel/js/panel.js
+++ b/panel/static/panel/js/panel.js
@@ -223,7 +223,7 @@ function create_new_uuid_panel(project, uuid) {
' ' + $.release[project][uuid].jobs.size + '');
// put it on the proper place
- div_uuid.appendTo('#' + project + ' > .panel-body');
+ div_uuid.prependTo('#' + project + ' > .panel-body');
console.debug('uuid ' + uuid + ' created for ' + project);
}
@@ -258,6 +258,26 @@ function create_new_job(release, project, uuid, job) {
}
}
+function clean_uuids(release, project) {
+ if ($.release.max_uuids == 0) { return; }
+ if ($.release[project].uuids.size >= $.release.max_uuids) {
+ var step = $.release[project].uuids.size - $.release.max_uuids;
+ for (var uuid of $.release[project].uuids) {
+ if (step==0) { return; }
+ console.debug(uuid);
+ if (uuid != $.release[project].last_uuid)
+ {
+ if($.release[project][uuid] && $.release[project][uuid].timer)
+ {
+ clearInterval($.release[project][uuid].timer);
+ }
+ $('#' + project + '-' + uuid).remove();
+ step--;
+ }
+ }
+ }
+}
+
function create_new_uuid(release, project, uuid) {
if (uuid == null || $.release[project].uuids.has(uuid)) {
return;
@@ -267,6 +287,7 @@ function create_new_uuid(release, project, uuid) {
$.release[project].last_uuid = uuid;
$.release[project][uuid] = { failed: false, jobs: new Set(),};
+ clean_uuids(release, project);
create_new_uuid_panel(project, uuid);
update_uuid_info(release, project, uuid);
set_project_status(project, {created: true});
diff --git a/panel/templates/panel/project.html b/panel/templates/panel/project.html
index dcc44ea..2c33199 100644
--- a/panel/templates/panel/project.html
+++ b/panel/templates/panel/project.html
@@ -31,6 +31,7 @@
{% block extrajs %}
diff --git a/panel/templates/panel/release.html b/panel/templates/panel/release.html
index 149e4ad..f1b0c54 100644
--- a/panel/templates/panel/release.html
+++ b/panel/templates/panel/release.html
@@ -89,6 +89,7 @@
{% block extrajs %}