From 97b3867901780f706946e6ebef2077cb27bc6c54 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Mon, 21 Jan 2019 17:39:55 +0000 Subject: [PATCH] Persist sort over clear --- .../javascript/apply/submission-filters.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/opentech/static_src/src/javascript/apply/submission-filters.js b/opentech/static_src/src/javascript/apply/submission-filters.js index 5fa7a7f61..6f706f686 100644 --- a/opentech/static_src/src/javascript/apply/submission-filters.js +++ b/opentech/static_src/src/javascript/apply/submission-filters.js @@ -18,17 +18,15 @@ const urlParams = new URLSearchParams(window.location.search); + const persistedParams = ['sort', 'query']; + // check if the page has a query string and keep filters open if so on desktop - const minimumNumberParams = 1 + urlParams.has('query') ? 1 : 0; + const minimumNumberParams = persistedParams.reduce( + (count, param) => count + urlParams.has(param) ? 1 : 0, + 1 + ); - // check for a search query param - if (urlParams.has('query')) { - if ([...urlParams].length > minimumNumberParams && $(window).width() > 1024) { - $body.addClass(filterOpenClass); - updateButtonText(); - } - } - else if ([...urlParams].length >= 1 && $(window).width() > 1024) { + if ([...urlParams].length > minimumNumberParams && $(window).width() > 1024) { $body.addClass(filterOpenClass); updateButtonText(); } @@ -84,7 +82,9 @@ // redirect to submissions home to clear filters function handleClearFilters() { - window.location.href = window.location.href.split('?')[0] + '?query=' + urlParams.get('query'); + const query = persistedParams.reduce( + (query, param) => query + (urlParams.get(param) ? `&${param}=${urlParams.get(param)}` : ''), '?'); + window.location.href = window.location.href.split('?')[0] + query; } // toggle filters button wording -- GitLab