Sha256: 615a4c91cbef7b0747dff47ecfa7d10cf6dbbe89409cffa9a0141bb47973f130

Contents?: true

Size: 970 Bytes

Versions: 4

Compression:

Stored size: 970 Bytes

Contents

# frozen_string_literal: true

module Blacklight
  module Response
    # Render spellcheck results for a search query
    class ViewTypeButtonComponent < ViewComponent::Base
      with_collection_parameter :view
      # @param [Blacklight::Configuration::View] view
      def initialize(view:, key: nil, selected: false, search_state: nil, classes: 'btn btn-outline-secondary btn-icon')
        @view = view
        @key = key || view.key
        @selected = selected
        @classes = classes
        @search_state = search_state
      end

      def icon
        return render(@view.icon.new) if @view.icon.is_a?(Class)
        return render(@view.icon) if @view.icon.is_a?(ViewComponent::Base)

        helpers.blacklight_icon(@view.icon || @key)
      end

      def label
        @view.display_label
      end

      def url
        helpers.url_for(@search_state.to_h.merge(view: @key))
      end

      def selected?
        @selected
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blacklight-8.0.0.beta4 app/components/blacklight/response/view_type_button_component.rb
blacklight-8.0.0.beta3 app/components/blacklight/response/view_type_button_component.rb
blacklight-8.0.0.beta2 app/components/blacklight/response/view_type_button_component.rb
blacklight-8.0.0.beta1 app/components/blacklight/response/view_type_button_component.rb