Class: Blacklight::FacetItemComponent
- Defined in:
- app/components/blacklight/facet_item_component.rb
Constant Summary
Constants inherited from Component
Instance Attribute Summary collapse
-
#hits ⇒ Object
readonly
Returns the value of attribute hits.
-
#href ⇒ Object
readonly
Returns the value of attribute href.
-
#label ⇒ Object
readonly
Returns the value of attribute label.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(facet_item:, wrapping_element: 'li', suppress_link: false) ⇒ FacetItemComponent
constructor
A new instance of FacetItemComponent.
-
#render_facet_count(options = {}) ⇒ String
Renders a count value for facet limits.
-
#render_facet_value ⇒ String
Standard display of a facet value in a list.
-
#render_selected_facet_value ⇒ Object
Standard display of a SELECTED facet value (e.g. without a link and with a remove button).
Methods inherited from Component
Constructor Details
#initialize(facet_item:, wrapping_element: 'li', suppress_link: false) ⇒ FacetItemComponent
Returns a new instance of FacetItemComponent.
9 10 11 12 13 14 15 16 17 |
# File 'app/components/blacklight/facet_item_component.rb', line 9 def initialize(facet_item:, wrapping_element: 'li', suppress_link: false) @facet_item = facet_item @label = facet_item.label @hits = facet_item.hits @href = facet_item.href @selected = facet_item.selected? @wrapping_element = wrapping_element @suppress_link = suppress_link end |
Instance Attribute Details
#hits ⇒ Object (readonly)
Returns the value of attribute hits.
5 6 7 |
# File 'app/components/blacklight/facet_item_component.rb', line 5 def hits @hits end |
#href ⇒ Object (readonly)
Returns the value of attribute href.
5 6 7 |
# File 'app/components/blacklight/facet_item_component.rb', line 5 def href @href end |
#label ⇒ Object (readonly)
Returns the value of attribute label.
5 6 7 |
# File 'app/components/blacklight/facet_item_component.rb', line 5 def label @label end |
Instance Method Details
#call ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/components/blacklight/facet_item_component.rb', line 19 def call # if the downstream app has overridden the helper methods we'd usually call, # use the helpers to preserve compatibility content = if @selected render_selected_facet_value else render_facet_value end return '' if content.blank? return content unless @wrapping_element content_tag @wrapping_element, content end |
#render_facet_count(options = {}) ⇒ String
Renders a count value for facet limits. Can be over-ridden locally to change style. And can be called by plugins to get consistent display.
71 72 73 74 75 76 |
# File 'app/components/blacklight/facet_item_component.rb', line 71 def render_facet_count( = {}) return '' if hits.blank? classes = ([:classes] || []) << "facet-count" tag.span(t('blacklight.search.facets.count', number: number_with_delimiter(hits)), class: classes) end |
#render_facet_value ⇒ String
Standard display of a facet value in a list. Used in both _facets sidebar partial and catalog/facet expanded list. Will output facet value name as a link to add that to your restrictions, with count in parens.
41 42 43 44 45 |
# File 'app/components/blacklight/facet_item_component.rb', line 41 def render_facet_value tag.span(class: "facet-label") do link_to_unless(@suppress_link, label, href, class: "facet-select", rel: "nofollow") end + render_facet_count end |
#render_selected_facet_value ⇒ Object
Standard display of a SELECTED facet value (e.g. without a link and with a remove button)
52 53 54 55 56 57 58 59 60 61 |
# File 'app/components/blacklight/facet_item_component.rb', line 52 def render_selected_facet_value tag.span(class: "facet-label") do tag.span(label, class: "selected") + # remove link link_to(href, class: "remove", rel: "nofollow") do render(Blacklight::Icons::RemoveComponent.new) + tag.span(helpers.t(:'blacklight.search.facets.selected.remove'), class: 'sr-only visually-hidden') end end + render_facet_count(classes: ["selected"]) end |