Skip to content

Commit 68e9764

Browse files
committed
Extract FacetFiltersComponent so it's display can be customized
1 parent 3e3e63c commit 68e9764

File tree

5 files changed

+32
-16
lines changed

5 files changed

+32
-16
lines changed

app/assets/builds/blacklight.css

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -409,12 +409,6 @@ main {
409409
background: transparent url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-dash-square" viewBox="0 0 16 16"%3e%3cpath d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z" /%3e%3cpath d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z" /%3e%3c/svg%3e') center/1em auto no-repeat;
410410
}
411411

412-
/* Facet browse pages & modals
413-
-------------------------------------------------- */
414-
.facet-filters:not(:has(*)) {
415-
display: none;
416-
}
417-
418412
/* Search History */
419413
.search-history {
420414
--bl-history-filter-name-color: var(--bs-secondary-color);

app/assets/stylesheets/blacklight/_facets.scss

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,3 @@ $facet-toggle-height: $facet-toggle-width !default;
205205
$facet-toggle-width auto no-repeat;
206206
}
207207
}
208-
209-
/* Facet browse pages & modals
210-
-------------------------------------------------- */
211-
.facet-filters:not(:has(*)) {
212-
display: none;
213-
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<div class="<%= classes %>">
2+
<%= render Blacklight::Search::FacetSuggestInput.new(facet: facet, presenter: presenter) %>
3+
<%= render 'facet_index_navigation' if render_index_navigation? %>
4+
</div>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# frozen_string_literal: true
2+
3+
module Blacklight::Search
4+
class FacetFiltersComponent < Blacklight::Component
5+
# @param [Blacklight::FacetFieldPresenter] presenter
6+
def initialize(presenter:, classes: 'facet-filters card card-body bg-light p-3 mb-3 border-0')
7+
@presenter = presenter
8+
@classes = classes
9+
end
10+
11+
def facet
12+
@presenter.facet_field
13+
end
14+
15+
attr_reader :classes, :presenter
16+
17+
delegate :display_facet, to: :presenter
18+
19+
def render?
20+
facet.suggest != false || render_index_navigation?
21+
end
22+
23+
def render_index_navigation?
24+
facet.index_range && display_facet.index?
25+
end
26+
end
27+
end

app/views/catalog/facet.html.erb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
<%= render Blacklight::System::ModalComponent.new do |component| %>
22
<% component.with_title { facet_field_label(@facet.key) } %>
33

4-
<div class="facet-filters card card-body bg-light p-3 mb-3 border-0">
5-
<%= render Blacklight::Search::FacetSuggestInput.new(facet: @facet, presenter: @presenter) %>
6-
<%= render partial: 'facet_index_navigation' if @facet.index_range && @display_facet.index? %>
7-
</div>
4+
<%= render Blacklight::Search::FacetFiltersComponent.new(presenter: @presenter) %>
85

96
<div class="facet-pagination top d-flex flex-wrap w-100 justify-content-between border-bottom pb-3 mb-3">
107
<%= render :partial=>'facet_pagination' %>

0 commit comments

Comments
 (0)