Sha256: f8f68b1cf1ec3339004514379230b1f166db5418d6ab0f3cb6ea8408a31405cc

Contents?: true

Size: 1.36 KB

Versions: 5

Compression:

Stored size: 1.36 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

      @paginator ||= view_context.facet_paginator(facet_field, display_facet)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
blacklight-7.11.1 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.10.0 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.9.0 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.8.1 app/presenters/blacklight/facet_field_presenter.rb
blacklight-7.8.0 app/presenters/blacklight/facet_field_presenter.rb