diff options
author | Dan McGee <dan@archlinux.org> | 2014-03-09 11:40:58 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2014-03-09 11:40:58 -0500 |
commit | 2e06e74d3a2a09cbb2a2521cdd55d6543cb56674 (patch) | |
tree | 860109cbecc81433191409805497f5c391b7da12 | |
parent | 81a2051e346bb41fb9756695566f735d5035bfd8 (diff) |
Use localStorage to save/restore signoffs filters
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | sitestatic/archweb.js | 18 | ||||
-rw-r--r-- | templates/packages/signoffs.html | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/sitestatic/archweb.js b/sitestatic/archweb.js index 209d6f67..8212e85b 100644 --- a/sitestatic/archweb.js +++ b/sitestatic/archweb.js @@ -444,6 +444,7 @@ function filter_signoffs() { $('#filter-count').text(rows.length); /* make sure we update the odd/even styling from sorting */ $('.results').trigger('applyWidgets', [false]); + filter_signoffs_save(); } function filter_signoffs_reset() { $('#signoffs_filter .arch_filter').attr('checked', 'checked'); @@ -451,6 +452,23 @@ function filter_signoffs_reset() { $('#id_pending').removeAttr('checked'); filter_signoffs(); } +function filter_signoffs_save() { + var state = $('#signoffs_filter').serializeArray(); + localStorage['filter_signoffs'] = JSON.stringify(state); +} +function filter_signoffs_load() { + var state = localStorage['filter_signoffs']; + if (!state) + return; + state = JSON.parse(state); + $('#signoffs_filter .arch_filter').removeAttr('checked'); + $('#signoffs_filter .repo_filter').removeAttr('checked'); + $('#id_pending').removeAttr('checked'); + $.each(state, function (i, v) { + // this assumes our only filters are checkboxes + $('#signoffs_filter input[name="' + v['name'] + '"]').attr('checked', 'checked'); + }); +} function collapseNotes(elements) { // Remove any trailing <br/> tags from the note contents diff --git a/templates/packages/signoffs.html b/templates/packages/signoffs.html index 83f81d39..1c133f15 100644 --- a/templates/packages/signoffs.html +++ b/templates/packages/signoffs.html @@ -93,6 +93,7 @@ $(document).ready(function() { $('#signoffs_filter input').change(filter_signoffs); $('#criteria_reset').click(filter_signoffs_reset); // fire function on page load to ensure the current form selections take effect + filter_signoffs_load(); filter_signoffs(); }); $(document).ready(function() { |