]> git.pld-linux.org Git - projects/pld-builder.new.git/commitdiff
add filter by requesters buttons
authorElan Ruusamäe <glen@pld-linux.org>
Sat, 20 Apr 2013 16:11:42 +0000 (19:11 +0300)
committerElan Ruusamäe <glen@pld-linux.org>
Sat, 20 Apr 2013 16:11:42 +0000 (19:11 +0300)
PLD_Builder/request.py
PLD_Builder/script.js

index a01d59379ea6e5a25836415f5457e7efd2d3a0e1..a0d51392788bc8e1ceb3b5653d00a1a6dd4fa437 100644 (file)
@@ -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,
index e6bd0989c426d0ae5f2b5c1d22651d92f0ddd0bf..4f11345269536d7e99a212876afc43d1a6d42895 100644 (file)
@@ -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);
+               });
+       }
 });
This page took 0.141634 seconds and 4 git commands to generate.