diff --git a/app/components/arclight/embed_component.rb b/app/components/arclight/embed_component.rb index 9961590c7..80579fabc 100644 --- a/app/components/arclight/embed_component.rb +++ b/app/components/arclight/embed_component.rb @@ -3,10 +3,10 @@ module Arclight # Render digital object links for a document class EmbedComponent < ViewComponent::Base - def initialize(document:, presenter:, **kwargs) # rubocop:disable Lint/UnusedMethodArgument + def initialize(presenter:, document_counter: nil, **kwargs) # rubocop:disable Lint/UnusedMethodArgument super() - @document = document + @document = presenter.document @presenter = presenter end diff --git a/app/components/arclight/index_metadata_field_component.html.erb b/app/components/arclight/index_metadata_field_component.html.erb index a4ffbae49..f80e8e478 100644 --- a/app/components/arclight/index_metadata_field_component.html.erb +++ b/app/components/arclight/index_metadata_field_component.html.erb @@ -2,7 +2,7 @@ <%= tag.dt @field.label, class: 'visually-hidden' %> <% if truncate? %> <%= tag.dd(class: @classes + ['truncator'], data: { controller: 'arclight-truncate' }) do %> - <%= tag.div @field.render, class: 'content', data: { arclight_truncate_target: 'content' } %> + <%= tag.div helpers.safe_join(@field.render), class: 'content', data: { arclight_truncate_target: 'content' } %> <%= button_tag(type: :button, class: 'btn btn-sm btn-link px-0', data: { action: 'click->arclight-truncate#trigger' }) do %> <%= tag.span t('arclight.truncation.view_more'), class: 'view-more' %> @@ -11,6 +11,6 @@ <% end %> <% end %> <% else %> - <%= tag.dd @field.render, class: @classes %> + <%= tag.dd helpers.safe_join(@field.render), class: @classes %> <% end %> diff --git a/app/components/arclight/repository_location_component.html.erb b/app/components/arclight/repository_location_component.html.erb index e875a059b..f56714bb9 100644 --- a/app/components/arclight/repository_location_component.html.erb +++ b/app/components/arclight/repository_location_component.html.erb @@ -2,7 +2,7 @@ <% component.with_label do %> <%= label %> <% end %> - <% component.with_value do %> + <% component.with_value(index: 0) do %>
<% if repository.thumbnail_url %> <%= image_tag repository.thumbnail_url, alt: '', class: 'img-fluid float-left' %> diff --git a/app/components/arclight/search_result_component.html.erb b/app/components/arclight/search_result_component.html.erb index e48a857ea..e5e327db5 100644 --- a/app/components/arclight/search_result_component.html.erb +++ b/app/components/arclight/search_result_component.html.erb @@ -1,17 +1,17 @@ <%= content_tag @component, id: @id, data: { - 'document-id': @document.id.to_s.parameterize, + 'document-id': presenter.document.id.to_s.parameterize, 'document-counter': @counter, }, itemscope: true, - itemtype: @document.itemtype, + itemtype: presenter.document.itemtype, class: classes.flatten.join(' ') do %>
<%= icon %>
- <%= render Arclight::SearchResultTitleComponent.new(document: document, compact: compact?) %> + <%= render Arclight::SearchResultTitleComponent.new(presenter: presenter, compact: compact?) %>
<%= metadata %> diff --git a/app/components/arclight/search_result_title_component.html.erb b/app/components/arclight/search_result_title_component.html.erb index ec90363ba..02bd9c346 100644 --- a/app/components/arclight/search_result_title_component.html.erb +++ b/app/components/arclight/search_result_title_component.html.erb @@ -1,12 +1,12 @@ -
+

- <%= helpers.link_to_document @document, counter: @counter %> - <% @document.extent.each do |extent| %> + <%= helpers.link_to_document presenter.document, counter: @counter %> + <% presenter.document.extent.each do |extent| %> <%= tag.span extent, class: 'al-document-extent badge' unless compact? %> <% end %> <%= tag.span class: 'al-document-container text-muted' do %> - <%= @document.containers.join(', ') %> - <% end if @document.containers.present? %> + <%= presenter.document.containers.join(', ') %> + <% end if presenter.document.containers.present? %>

<% actions.each do |action| %> diff --git a/arclight.gemspec b/arclight.gemspec index 31abe11be..e055a3b75 100644 --- a/arclight.gemspec +++ b/arclight.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_dependency 'blacklight', '>= 8.0.0', '< 9' + spec.add_dependency 'blacklight', '>= 9.0.0', '< 10' spec.add_dependency 'gretel' spec.add_dependency 'rails', '>= 7.1', '< 9' spec.add_dependency 'traject', '~> 3.0' diff --git a/spec/components/arclight/search_bar_component_spec.rb b/spec/components/arclight/search_bar_component_spec.rb index 48dd3124f..a2aa513ee 100644 --- a/spec/components/arclight/search_bar_component_spec.rb +++ b/spec/components/arclight/search_bar_component_spec.rb @@ -13,7 +13,7 @@ end let(:params) { {} } - let(:component) { described_class.new(url: '/', params: params) } + let(:component) { described_class.new(url: '/', params: params, advanced_search_url: '/advanced') } describe 'within collection dropdown' do context 'when in a collection context on the search results page' do