Sha256: daa160ea0b264324595e522bd6fdeddc3ab017e3c1fc1945b958efc331947a6c

Contents?: true

Size: 761 Bytes

Versions: 4

Compression:

Stored size: 761 Bytes

Contents

# frozen_string_literal: true

module BlacklightRangeLimit
  class RangeSegmentsComponent < ::ViewComponent::Base
    def initialize(facet_field:, facet_items: nil, item_component: nil, classes: [])
      super

      @facet_field = facet_field
      @facet_items = facet_items || facet_field.try(:range_queries) || []
      @item_component = facet_field.facet_field.item_component || Blacklight::FacetItemComponent
      @classes = classes
    end

    def facet_item_presenters
      @facet_items.map { |item| facet_item_presenter(item) }
    end

    def facet_item_presenter(facet_item)
      facet_config.item_presenter.new(facet_item, facet_config, helpers, @facet_field.key)
    end

    def facet_config
      @facet_field.facet_field
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blacklight_range_limit-8.2.3 app/components/blacklight_range_limit/range_segments_component.rb
blacklight_range_limit-8.2.2 app/components/blacklight_range_limit/range_segments_component.rb
blacklight_range_limit-8.2.1 app/components/blacklight_range_limit/range_segments_component.rb
blacklight_range_limit-8.2.0 app/components/blacklight_range_limit/range_segments_component.rb