Merge "Support filtering by review id(s)"
This commit is contained in:
commit
d62af28083
@ -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.
|
||||
|
||||
<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.
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user