Sha256: 2c9d4d8b0984a4d4612eed29bf859e6ea5b0b1c6f2055d022d5fdfeb9fcee8bb

Contents?: true

Size: 803 Bytes

Versions: 15

Compression:

Stored size: 803 Bytes

Contents

# frozen_string_literal: true

module Blacklight
  class DocumentMetadataComponent < Blacklight::Component
    renders_many :fields, (lambda do |component: nil, **kwargs|
      (component || Blacklight::MetadataFieldComponent).new(**kwargs)
    end)
    with_collection_parameter :fields

    # @param fields [Enumerable<Blacklight::FieldPresenter>] Document field presenters
    def initialize(fields: [], show: false)
      @fields = fields
      @show = show
    end

    def before_render
      return unless fields

      @fields.each do |field|
        field(component: field_component(field), field: field, show: @show)
      end
    end

    def render?
      fields.present?
    end

    def field_component(field)
      field&.component || Blacklight::MetadataFieldComponent
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
blacklight-7.33.1 app/components/blacklight/document_metadata_component.rb
blacklight-7.33.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.32.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.31.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.30.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.29.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.28.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.27.1 app/components/blacklight/document_metadata_component.rb
blacklight-7.27.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.26.1 app/components/blacklight/document_metadata_component.rb
blacklight-7.26.0 app/components/blacklight/document_metadata_component.rb
blacklight-7.25.3 app/components/blacklight/document_metadata_component.rb
blacklight-7.25.2 app/components/blacklight/document_metadata_component.rb
blacklight-7.25.1 app/components/blacklight/document_metadata_component.rb
blacklight-7.25.0 app/components/blacklight/document_metadata_component.rb