Sha256: 8b300e69b038390df4218ae65e1416cdd72ea74c9f00341abd4cee72871e8001

Contents?: true

Size: 795 Bytes

Versions: 3

Compression:

Stored size: 795 Bytes

Contents

# frozen_string_literal: true

module Blacklight
  module Response
    # Render spellcheck results for a search query
    class ViewTypeComponent < ViewComponent::Base
      renders_many :views, 'Blacklight::Response::ViewTypeButtonComponent'

      # @param [Blacklight::Response] response
      def initialize(response:, search_state:, views: {}, selected: nil)
        @response = response
        @views = views
        @search_state = search_state
        @selected = selected
      end

      def before_render
        return if views.any?

        @views.each do |key, config|
          with_view(key: key, view: config, selected: @selected == key, search_state: @search_state)
        end
      end

      def render?
        views.many? && !@response.empty?
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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