Sha256: 5772818a7b99870e6c8499b18b2c17211fe75216877e253f1de522f35cf9615e

Contents?: true

Size: 1.15 KB

Versions: 21

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module Blacklight
  class SearchBarPresenter
    attr_reader :configuration, :view_context, :controller

    # Set the partial this presenter draws
    class_attribute :partial
    self.partial = 'catalog/search_form'

    def initialize(controller, configuration = view_context.blacklight_config)
      @controller = controller
      @view_context = controller.view_context
      @configuration = configuration
    end

    def render
      view_context.render partial, presenter: self
    end

    ##
    # @return [Boolean] should autocomplete be enabled in the UI
    def autocomplete_enabled?
      configuration.autocomplete_enabled.present? &&
        configuration.autocomplete_path.present?
    end

    ##
    # If no search parameters have been given, we should
    # auto-focus the user's cursor into the searchbox
    #
    # @return [Boolean]
    def autofocus?
      configuration.enable_search_bar_autofocus.present? &&
        configuration.enable_search_bar_autofocus &&
        controller.is_a?(Blacklight::Catalog) &&
        controller.action_name == "index" &&
        !controller.has_search_parameters?
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
blacklight-7.14.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.14.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.13.2 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.13.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.13.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.12.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.12.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.11.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.10.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.9.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.8.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.8.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.7.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.6.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.5.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.5.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.4.2 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.4.1 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.4.0 app/presenters/blacklight/search_bar_presenter.rb
blacklight-7.3.0 app/presenters/blacklight/search_bar_presenter.rb