def dump_html(self, f):
f.write(
- "<div id=\"%(no)d\" class=\"%(flags)s\">\n"
- "<a href=\"#%(no)d\">%(no)d</a>. <span id=\"tz\">%(time)s</span> from <b>%(requester)s</b> "
+ "<div id=\"%(no)d\" class=\"request %(flags)s\">\n"
+ "<a href=\"#%(no)d\">%(no)d</a>. <span id=\"tz\">%(time)s</span> from <b class=requester>%(requester)s</b> "
"<small>%(id)s, prio=%(priority)d, jobs=%(max_jobs)d, %(flags)s</small>\n"
% {
'no': self.no,
jQuery(function($) {
update_tz();
+ filter_requesters();
// update date stamps to reflect viewers timezone
function update_tz() {
$el.text(dt);
});
}
+
+ // draw filter for requesters
+ function filter_requesters() {
+ var requesters = [];
+ $('div b.requester').each(function(i, d) {
+ var requester = $(d).text();
+ if (!~requesters.indexOf(requester)) {
+ requesters.push(requester);
+ }
+ });
+
+ var $filter = $('<div id=requesters-filter>Filter by requesters:<br></div>');
+ $('body').prepend($filter);
+ requesters.forEach(function(r) {
+ var $button = $('<button class=request-filter>'+ r + '</button>');
+ $button.on('click', function() {
+ $('div#requesters-filter button').removeAttr('disabled');
+ $('div.request').filter(function(i, d) {
+ var c = $(d).find('b.requester').text();
+ if (c == r) {
+ $(d).show();
+ $button.attr('disabled', 'disabled');
+ } else {
+ $(d).hide();
+ }
+ })
+ })
+ $filter.append($button);
+ });
+ }
});