Sha256: dd1da0a606628f886aa9bd39787dac21679345f722107bb12ac8843d3c69305f

Contents?: true

Size: 1.42 KB

Versions: 7

Compression:

Stored size: 1.42 KB

Contents

# frozen_string_literal: true

module Blacklight
  class FacetFieldPresenter
    attr_reader :facet_field, :display_facet, :view_context, :search_state

    delegate :key, to: :facet_field
    delegate :field_name, to: :display_facet

    def initialize(facet_field, display_facet, view_context, search_state = view_context.search_state)
      @facet_field = facet_field
      @display_facet = display_facet
      @view_context = view_context
      @search_state = search_state
    end

    def collapsed?
      Deprecation.silence(Blacklight::FacetsHelperBehavior) do
        view_context.should_collapse_facet?(facet_field)
      end
    end

    def active?
      Deprecation.silence(Blacklight::FacetsHelperBehavior) do
        view_context.facet_field_in_params?(key)
      end
    end

    def in_modal?
      search_state.params[:action] == "facet"
    end

    def modal_path
      return unless paginator

      view_context.search_facet_path(id: key) unless paginator&.last_page?
    end

    def label
      view_context.facet_field_label(key)
    end

    # @private
    # @deprecated
    def html_id
      Deprecation.silence(Blacklight::FacetsHelperBehavior) do
        view_context.facet_field_id(facet_field)
      end
    end

    def paginator
      return unless display_facet

      Deprecation.silence(Blacklight::Facet) do
        @paginator ||= view_context.facet_paginator(facet_field, display_facet)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
blacklight-7.14.1 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.14.0 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.13.2 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.13.1 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.13.0 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.12.1 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.12.0 app/presenters/blacklight/facet_field_presenter.rb