Sha256: 4ee394059cc6431830ef537ec1c5e95b45ac2aa4ada4cfa07b485ad295f44864

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

module Blacklight
  class SearchBarComponent < ::ViewComponent::Base
    # rubocop:disable Metrics/ParameterLists
    def initialize(url:, params:, classes: ['search-query-form'], presenter: nil, prefix: '', method: 'GET', q: nil, search_field: nil, search_fields: [], autocomplete_path: nil, autofocus: nil)
      @url = url
      @q = q || params[:q]
      @search_field = search_field || params[:search_field]
      @params = params.except(:q, :search_field, :utf8, :page)
      @prefix = prefix
      @classes = classes
      @presenter = presenter
      @method = method
      @autocomplete_path = autocomplete_path
      @autofocus = autofocus
      @search_fields = search_fields
    end
    # rubocop:enable Metrics/ParameterLists

    def autocomplete_path
      return nil unless presenter.autocomplete_enabled?

      @autocomplete_path
    end

    def autofocus
      if @autofocus.nil?
        presenter.autofocus?
      else
        @autofocus
      end
    end

    private

    def presenter
      @presenter ||= blacklight_config.index.search_bar_presenter_class.new(controller, blacklight_config)
    end

    def blacklight_config
      @view_context.blacklight_config
    end

    def render_hash_as_hidden_fields(*args)
      Deprecation.silence(Blacklight::HashAsHiddenFieldsHelperBehavior) do
        @view_context.render_hash_as_hidden_fields(*args)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blacklight-7.13.1 app/components/blacklight/search_bar_component.rb
blacklight-7.13.0 app/components/blacklight/search_bar_component.rb
blacklight-7.12.1 app/components/blacklight/search_bar_component.rb
blacklight-7.12.0 app/components/blacklight/search_bar_component.rb