[projects/pld-builder.new] add filter by requesters buttons

glen glen at pld-linux.org
Sat Apr 20 18:12:18 CEST 2013


commit b5ff0ca984619800d87c3f04f797c92004017636
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Sat Apr 20 19:11:42 2013 +0300

    add filter by requesters buttons

 PLD_Builder/request.py |  4 ++--
 PLD_Builder/script.js  | 31 +++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 2 deletions(-)
---
diff --git a/PLD_Builder/request.py b/PLD_Builder/request.py
index a01d593..a0d5139 100644
--- a/PLD_Builder/request.py
+++ b/PLD_Builder/request.py
@@ -110,8 +110,8 @@ class Group:
 
     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,
diff --git a/PLD_Builder/script.js b/PLD_Builder/script.js
index e6bd098..4f11345 100644
--- a/PLD_Builder/script.js
+++ b/PLD_Builder/script.js
@@ -1,5 +1,6 @@
 jQuery(function($) {
 	update_tz();
+	filter_requesters();
 
 	// update date stamps to reflect viewers timezone
 	function update_tz() {
@@ -14,4 +15,34 @@ jQuery(function($) {
 			$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);
+		});
+	}
 });
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/pld-builder.new.git/commitdiff/b5ff0ca984619800d87c3f04f797c92004017636



More information about the pld-cvs-commit mailing list