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

View File

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