Merge "Support filtering by review id(s)"

This commit is contained in:
Jenkins 2014-03-06 13:35:46 +00:00 committed by Gerrit Code Review
commit d62af28083
2 changed files with 25 additions and 20 deletions

View File

@ -153,31 +153,31 @@ a:link {
/* because other wise this floats up off the line */
margin-top: 0.25em;
}
.projects_filter_container {
.filter_container {
display: inline-block;
position: relative;
top: 1.5em;
padding-left: .5em;
}
.projects_filter_container input#projects_filter {
.filter_container input#filter {
display: inline-block;
}
.projects_filter_container sub {
.filter_container sub {
padding: .5em 0;
display: block;
}
.projects_filter_container sub a.save-filter {
.filter_container sub a.save-filter {
text-decoration: underline;
}
.projects_filter_container .hidden {
.filter_container .hidden {
visibility: hidden;
}
.projects_filter_container img.filter-saved {
.filter_container img.filter-saved {
display: inline-block;
position: relative;
top: 3px;
}
.projects_filter_container img.filter-saved.hidden {
.filter_container img.filter-saved.hidden {
display: none;
}
@ -267,9 +267,9 @@ progress[aria-valuenow]:before {
Queue lengths: <span id="trigger_event_queue_length"></span> events,
<span id="result_event_queue_length"></span> results.
&nbsp;&nbsp;&nbsp;&nbsp;
<label for="projects_filter">Filter projects:</label>
<span class="projects_filter_container">
<input type="text" id="projects_filter" />
<label for="filter">Filters:</label>
<span class="filter_container">
<input title="project(s) or review(s) separated by comma" type="text" id="filter" />
<!--
An embedded 'approved' image.
From the famfamfam "Silk" icon set, Creative Commons Attribution 2.5.

View File

@ -70,7 +70,7 @@ function format_progress(elapsed, remaining) {
return r;
}
function is_hide_project(project) {
function is_hidden(project, change_id) {
var filters = window.zuul_filter;
if (filters.length == 0) {
return false;
@ -79,6 +79,8 @@ function is_hide_project(project) {
$.each(filters, function(filter_i, filter) {
if(project.indexOf(filter) != -1)
hide = false;
if(change_id.indexOf(filter) != -1)
hide = false;
});
return hide;
}
@ -179,12 +181,14 @@ function format_pipeline(data) {
$.each(data['change_queues'], function(change_queue_i, change_queue) {
$.each(change_queue['heads'], function(head_i, head) {
var projects = "";
var change_ids = "";
var hide_queue = true;
$.each(head, function(change_i, change) {
projects += change['project'] + "|";
hide_queue &= is_hide_project(change['project']);
change_ids += change['id'];
hide_queue &= is_hidden(change['project'], change['id']);
});
html += '<div project="' + projects + '" style="'
html += '<div change_id="' + change_ids + '" project="' + projects + '" style="'
+ (hide_queue ? 'display:none;' : '') + '">';
if (data['change_queues'].length > 1 && head_i == 0) {
@ -478,8 +482,8 @@ function update_graphs() {
}
function save_filter() {
var name = 'zuul-project-filter';
var value = $('#projects_filter').val().trim();
var name = 'zuul-filter';
var value = $('#filter').val().trim();
set_cookie(name, value);
$('img.filter-saved').removeClass('hidden');
window.setTimeout(function(){
@ -518,15 +522,16 @@ $(function() {
}
});
$('#projects_filter').live('keyup change', function () {
window.zuul_filter = $('#projects_filter').val().trim().split(',');
$('#filter').live('keyup change', function () {
window.zuul_filter = $('#filter').val().trim().split(/[\s,]+/);
window.zuul_filter = window.zuul_filter.filter(function(n){
return n;
});
$.each($('div[project]'), function (idx, val) {
val = $(val);
var project = val.attr('project');
if (is_hide_project(project)) {
var change_id = val.attr('change_id');
if (is_hidden(project, change_id)) {
val.hide(100);
} else {
val.show(100);
@ -541,9 +546,9 @@ $(function() {
save_filter();
});
});
var cookie = read_cookie('zuul-project-filter');
var cookie = read_cookie('zuul-filter');
if(cookie)
$('#projects_filter').val(cookie).change();
$('#filter').val(cookie).change();
cookie = read_cookie('zuul-expand-by-default');
if(cookie)
$('#expandByDefault').prop('checked', cookie == 'true' ? true : false);