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