From 56548c5d9f9436316d9cf9f84366fd14f92aedd3 Mon Sep 17 00:00:00 2001
From: Chris Lawton <chris.lawton@torchbox.com>
Date: Tue, 20 Feb 2018 16:04:22 +0000
Subject: [PATCH] adding method to clear all filters

---
 .../apply/dashboard/templates/dashboard/dashboard.html   | 1 +
 opentech/static_src/src/javascript/main.js               | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git a/opentech/apply/dashboard/templates/dashboard/dashboard.html b/opentech/apply/dashboard/templates/dashboard/dashboard.html
index e9147674d..c7282db1e 100644
--- a/opentech/apply/dashboard/templates/dashboard/dashboard.html
+++ b/opentech/apply/dashboard/templates/dashboard/dashboard.html
@@ -22,6 +22,7 @@
         <div class="wrapper wrapper--filters js-filter-wrapper">
 
             <div class="wrapper wrapper--filters-header">
+                <div class="js-clear-filters">Clear</div>
             </div>
 
             <form action="" method="get" class="form form--filters">
diff --git a/opentech/static_src/src/javascript/main.js b/opentech/static_src/src/javascript/main.js
index bb197ac89..59f3356f1 100755
--- a/opentech/static_src/src/javascript/main.js
+++ b/opentech/static_src/src/javascript/main.js
@@ -56,6 +56,15 @@ $(function () {
         e.target.nextElementSibling.classList.add('is-open');
         $('.js-filter-list').addClass('form__filters--mobile');
     });
+
+    // clear all filters
+    $('.js-clear-filters').on('click', () =>{
+        const dropdowns = document.querySelectorAll('.form__filters--mobile select');
+        dropdowns.forEach(dropdown => {
+            $(dropdown).val(null).trigger('change');
+            $('.select2-selection.is-active').removeClass('is-active');
+        });
+    });
 });
 
 // wait for DOM content to load before checking for select2
-- 
GitLab