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  |