summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2014-03-09 11:40:58 -0500
committerDan McGee <dan@archlinux.org>2014-03-09 11:40:58 -0500
commit2e06e74d3a2a09cbb2a2521cdd55d6543cb56674 (patch)
tree860109cbecc81433191409805497f5c391b7da12
parent81a2051e346bb41fb9756695566f735d5035bfd8 (diff)
downloadarchweb-2e06e74d3a2a09cbb2a2521cdd55d6543cb56674.tar.gz
archweb-2e06e74d3a2a09cbb2a2521cdd55d6543cb56674.zip
Use localStorage to save/restore signoffs filters
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--sitestatic/archweb.js18
-rw-r--r--templates/packages/signoffs.html1
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() {