Class: Blacklight::DocumentComponent
- Defined in:
- app/components/blacklight/document_component.rb
Constant Summary
Constants inherited from Component
Instance Method Summary collapse
- #before_render ⇒ Object
-
#classes ⇒ Object
HTML classes to apply to the root element.
-
#initialize(document: nil, presenter: nil, id: nil, classes: [], component: :article, title_component: nil, counter: nil, document_counter: nil, counter_offset: 0, show: false) ⇒ DocumentComponent
constructor
rubocop:disable Metrics/ParameterLists.
Methods inherited from Component
Constructor Details
#initialize(document: nil, presenter: nil, id: nil, classes: [], component: :article, title_component: nil, counter: nil, document_counter: nil, counter_offset: 0, show: false) ⇒ DocumentComponent
rubocop:disable Metrics/ParameterLists
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'app/components/blacklight/document_component.rb', line 72 def initialize(document: nil, presenter: nil, id: nil, classes: [], component: :article, title_component: nil, counter: nil, document_counter: nil, counter_offset: 0, show: false) if presenter.nil? && document.nil? raise ArgumentError, 'missing keyword: :document or :presenter' end @document = document || presenter&.document @presenter = presenter @component = component @title_component = title_component @id = id || ('document' if show) @classes = classes @document_counter = document_counter @counter = counter @counter ||= document_counter + 1 + counter_offset if document_counter.present? @show = show end |
Instance Method Details
#before_render ⇒ Object
106 107 108 109 110 111 |
# File 'app/components/blacklight/document_component.rb', line 106 def before_render set_slot(:title, nil) unless title set_slot(:thumbnail, nil) unless thumbnail || show? set_slot(:metadata, nil, fields: presenter.field_presenters) unless set_slot(:embed, nil) unless end |
#classes ⇒ Object
HTML classes to apply to the root element
97 98 99 100 101 102 103 104 |
# File 'app/components/blacklight/document_component.rb', line 97 def classes [ @classes, helpers.render_document_class(@document), 'document', ("document-position-#{@counter}" if @counter) ].compact.flatten end |