From 3b545d23b6ddb0ee843e9f792863615d69ceca5f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 3 Jan 2012 14:18:22 -0600 Subject: Add checkbox range selection to stale relations page Signed-off-by: Dan McGee --- sitestatic/archweb.js | 20 ++++++++++++++++++++ templates/packages/stale_relations.html | 10 +++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/sitestatic/archweb.js b/sitestatic/archweb.js index 151d0f81..248be7a6 100644 --- a/sitestatic/archweb.js +++ b/sitestatic/archweb.js @@ -123,6 +123,26 @@ if (typeof $.tablesorter !== 'undefined') { }); } +(function($) { + $.fn.enableCheckboxRangeSelection = function() { + var lastCheckbox = null; + var lastElement = null; + + var spec = this; + spec.unbind("click.checkboxrange"); + spec.bind("click.checkboxrange", function(e) { + if (lastCheckbox != null && e.shiftKey) { + spec.slice( + Math.min(spec.index(lastCheckbox), spec.index(e.target)), + Math.max(spec.index(lastCheckbox), spec.index(e.target)) + 1 + ).attr({checked: e.target.checked ? "checked" : ""}); + } + lastCheckbox = e.target; + }); + + }; +})(jQuery); + /* news/add.html */ function enablePreview() { $('#news-preview-button').click(function(event) { diff --git a/templates/packages/stale_relations.html b/templates/packages/stale_relations.html index 0186d08e..80e912c0 100644 --- a/templates/packages/stale_relations.html +++ b/templates/packages/stale_relations.html @@ -23,7 +23,7 @@

Inactive User Relations ({{ inactive_user|length }})

{% for relation in inactive_user %} - + {{ relation.pkgbase }} {% for pkg in relation.get_associated_packages %} Relations with Non-existent pkgbase ({{ missing_pkgbase|length }})< {% for relation in missing_pkgbase %} - + {{ relation.pkgbase }} {{ relation.user.get_full_name }} {{ relation.get_type_display }} @@ -83,7 +83,7 @@

Maintainers with Wrong Permissions ({{ wrong_permissions|length }})

{% for relation in wrong_permissions %} - + {{ relation.pkgbase }} {% for pkg in relation.get_associated_packages %}
Maintainers with Wrong Permissions ({{ wrong_permissions|length }}) $('#missing-pkgbase:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false } }, sortList: [[1,0]]}); }); $('#wrong-permissions:not(:has(tbody tr.empty))').tablesorter({widgets: ['zebra'], headers: { 0: { sorter: false } }, sortList: [[3,0]]}); + $('table.results').bind('sortEnd', function() { + $('input.relation-checkbox').enableCheckboxRangeSelection(); + }); + $('input.relation-checkbox').enableCheckboxRangeSelection(); {% endblock %} -- cgit v1.2.3-54-g00ecf