Class: Blacklight::FacetFieldListComponent
  
  
  
  
  
    - Inherits:
 
    - 
      Component
      
        
          - Object
 
          
            - ViewComponent::Base
 
          
            - Component
 
          
            - Blacklight::FacetFieldListComponent
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - app/components/blacklight/facet_field_list_component.rb
 
  
  
 
  Constant Summary
  
  Constants inherited
     from Component
  Component::EXCLUDE_VARIABLES
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Component
  compiler, config, #inspect
  
  Constructor Details
  
    
  
  
    
Returns a new instance of FacetFieldListComponent.
   
 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #facet_config  ⇒ Object 
  
  
  
  
    
      
50
51
52 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 50
def facet_config
  @facet_field.facet_field
end 
     | 
  
 
    
      
  
  
    #facet_item_component_class(deprecated_facet_config = nil)  ⇒ Object 
  
  
  
  
    
      
46
47
48 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 46
def facet_item_component_class(deprecated_facet_config = nil)
  (deprecated_facet_config || facet_config).item_component
end 
     | 
  
 
    
      
  
  
    #facet_item_presenter(facet_item, deprecated_facet_config = nil, facet_field = nil)  ⇒ Object 
  
  
  
  
    
      
42
43
44 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 42
def facet_item_presenter(facet_item, deprecated_facet_config = nil, facet_field = nil)
  (deprecated_facet_config || facet_config).item_presenter.new(facet_item, deprecated_facet_config || facet_config, helpers, facet_field || @facet_field.key)
end 
     | 
  
 
    
      
  
  
    #facet_item_presenters  ⇒ Object 
  
  
  
  
    
      
32
33
34
35
36 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 32
def facet_item_presenters
  @facet_field.paginator.items.map do |item|
    facet_item_presenter(item)
  end
end
     | 
  
 
    
      
  
  
    #facet_items(wrapping_element: :li, **item_args)  ⇒ Object 
  
  
  
  
    
      
28
29
30 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 28
def facet_items(wrapping_element: :li, **item_args)
  facet_item_component_class.with_collection(facet_item_presenters, wrapping_element: wrapping_element, **item_args)
end 
     | 
  
 
    
      
  
  
    #render?  ⇒ Boolean 
  
  
  
  
    
      
38
39
40 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 38
def render?
  @facet_field.paginator&.items&.any?
end 
     | 
  
 
    
      
  
  
    #render_facet_limit_list(paginator, facet_field, wrapping_element = :li)  ⇒ Object 
  
  
  
  
    
Renders the list of values removes any elements where render_facet_item returns a nil value. This enables an application to filter undesireable facet items so they don’t appear in the UI
   
 
  
  
    
      
15
16
17
18
19
20
21
22
23
24
25 
     | 
    
      # File 'app/components/blacklight/facet_field_list_component.rb', line 15
def render_facet_limit_list(paginator, facet_field, wrapping_element = :li)
  return render(facet_items(wrapping_element: wrapping_element)) if paginator == @facet_field.paginator && facet_field == @facet_field.key
  facet_config ||= helpers.facet_configuration_for_field(facet_field)
  collection = paginator.items.map do |item|
    facet_item_presenter(item, facet_config, facet_field)
  end
  render(facet_item_component_class(facet_config).with_collection(collection, wrapping_element: wrapping_element))
end
     |