From 5d3488366558da24b8526d819f64b774ecd1611b Mon Sep 17 00:00:00 2001
From: Sebastian Kehr <kehr@ub.uni-leipzig.de>
Date: Mon, 14 May 2018 13:49:39 +0200
Subject: [PATCH] refs #12785

* show button to remove all selected facets at once
* disable facet exclusions
---
 fid_bbi/config/vufind/facets.ini              |  1 +
 fid_bbi/languages/de.ini                      |  2 +-
 fid_bbi/languages/en.ini                      |  2 +-
 .../Recommend/SideFacets/filter-list.phtml    | 32 +++++++++++++++++++
 4 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 themes/fid_bbi/templates/Recommend/SideFacets/filter-list.phtml

diff --git a/fid_bbi/config/vufind/facets.ini b/fid_bbi/config/vufind/facets.ini
index 25eb3132ff6..605ff6fc597 100644
--- a/fid_bbi/config/vufind/facets.ini
+++ b/fid_bbi/config/vufind/facets.ini
@@ -33,6 +33,7 @@ author_facet	   = Author
 mega_collection    = Datensammlung
 
 [Results_Settings]
+exclude = false
 facet_limit        = 30
 orFacets = format,language,finc_class_facet,format_dezi4,mega_collection
 collapsedFacets = language,finc_class_facet,author_facet,mega_collection
diff --git a/fid_bbi/languages/de.ini b/fid_bbi/languages/de.ini
index aaae6bd5eff..206f2803837 100644
--- a/fid_bbi/languages/de.ini
+++ b/fid_bbi/languages/de.ini
@@ -504,7 +504,7 @@ Region = Region
 Reference management = "Literaturverwaltung"
 Related Title = "Zugehörige Werke"
 Renew Login = "Bitte, erneut einloggen"
-Remove all Filters = "entfernen Sie alle Suchfilter"
+Remove all Filters = "Alle Filter entfernen"
 Repeat your password = "Wiederhole das Passwort"
 Reserve = Vormerkbar
 Reserved = "Vorgemerkte Medien"
diff --git a/fid_bbi/languages/en.ini b/fid_bbi/languages/en.ini
index fa25648ea63..a130f0fc238 100644
--- a/fid_bbi/languages/en.ini
+++ b/fid_bbi/languages/en.ini
@@ -209,7 +209,7 @@ Readyforcollectionstacks = "Circulation Desk"
 Recall This = "Recall this"
 Recent acquisitions = "Recent Acquisitions"
 Region = Region
-Remove all Filters = "remove all Filters"
+Remove all Filters = "Remove all Filters"
 Reserves = Reserves
 Results per page = "Results per Page"
 Reviews = Reviews
diff --git a/themes/fid_bbi/templates/Recommend/SideFacets/filter-list.phtml b/themes/fid_bbi/templates/Recommend/SideFacets/filter-list.phtml
new file mode 100644
index 00000000000..b289079231b
--- /dev/null
+++ b/themes/fid_bbi/templates/Recommend/SideFacets/filter-list.phtml
@@ -0,0 +1,32 @@
+<!-- fid_bbi: Recommmend - SideFacets - filter-list -->
+<? /* copied from bootstrap3 template */ ?>
+<div class="facet-group active-filters">
+  <div class="title"><?=$this->transEsc('Remove Filters')?></div>
+  <? $filterLessURL = $this->currentPath() . $results->getUrlQuery()->removeAllFilters() ?>
+  <a class="facet" href="<?=$filterLessURL?>"><?=$this->transEsc('Remove all Filters')?></a>
+  <? foreach ($filterList as $field => $filters): ?>
+    <? foreach ($filters as $i => $filter): ?>
+      <?
+        $index = isset($filter['field']) ? array_search($filter['field'], $collapsedFacets) : false;
+        if ($index !== false) {
+          unset($collapsedFacets[$index]); // Open if we have a match
+        }
+        if (isset($filter['specialType']) && $filter['specialType'] == 'keyword') {
+          $removeLink = $this->currentPath() . $results->getUrlQuery()->replaceTerm($filter['value'], '');
+        } else {
+          $removeLink = $this->currentPath() . $results->getUrlQuery()->removeFacet($filter['field'], $filter['value'], $filter['operator']);
+        }
+        if ($filter['displayText'] == '[* TO *]') {
+          $filter['displayText'] = $this->translate('filter_wildcard');
+        }
+      ?>
+      <a class="facet" href="<?=$removeLink ?>" title="<?=$this->transEsc('clear_tag_filter') ?>">
+        <span class="status"><i class="fa fa-times" aria-hidden="true"></i></span>
+        <? if ($filter['operator'] == 'NOT'): ?><?=$this->transEsc('NOT') ?><? endif; ?>
+        <? if ($filter['operator'] == 'OR' && $i > 0): ?><?=$this->transEsc('OR') ?><? endif; ?>
+        <?=$this->transEsc($field) ?>: <?=$this->escapeHtml($filter['displayText']) ?>
+      </a>
+    <? endforeach; ?>
+  <? endforeach; ?>
+</div>
+<!-- fid_bbi: Recommmend - SideFacets - filter-list - END -->
\ No newline at end of file
-- 
GitLab