diff --git a/app/components/catalog/downloads_collapse_component.html.erb b/app/components/catalog/downloads_collapse_component.html.erb new file mode 100644 index 00000000..b9a92b34 --- /dev/null +++ b/app/components/catalog/downloads_collapse_component.html.erb @@ -0,0 +1,32 @@ +<%# Renders the options of the downloads dropdown button %> + +<% if @document.multi_direct_downloads.present? %> + <% @document.multi_direct_downloads.each do |download| %> + <%= download_link_file(download[0], @document.id, download[1]) %> + <% end %> +<% end %> +<% if @document.direct_download.present? %> + <% if @document.direct_download[:download].is_a? Array %> + <% @document.direct_download[:download].each do |download| %> + <%= download_link_file(download['label'], @document.id, download['url']) %> + <% end %> + <% end %> + <% if @document.direct_download[:download].is_a? String %> + <%= download_link_file(download_text(@document.file_format), @document.id, @document.direct_download[:download], @document.restricted? ? "_blank" : nil) %> + <% end %> +<% end %> + +<% if @document.hgl_download.present? %> + <%= download_link_hgl(download_text(@document.download_types.first[0]), @document) %> +<% end %> + +<% if @document.iiif_download.present? %> + <%= download_link_iiif %> +<% end %> + +<% if @document.download_types.present? %> + <% @document.download_types.each do |type| %> + <% next if type.first == :kmz %> + <%= download_link_generated(type.first, @document) %> + <% end %> +<% end %> diff --git a/app/components/catalog/downloads_collapse_component.rb b/app/components/catalog/downloads_collapse_component.rb new file mode 100644 index 00000000..796aabb8 --- /dev/null +++ b/app/components/catalog/downloads_collapse_component.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Catalog + class DownloadsCollapseComponent < ViewComponent::Base + def initialize(document:) + super + @document = document + end + end +end diff --git a/app/helpers/geoblacklight_helper.rb b/app/helpers/geoblacklight_helper.rb index 9271b1c5..d9322118 100644 --- a/app/helpers/geoblacklight_helper.rb +++ b/app/helpers/geoblacklight_helper.rb @@ -13,7 +13,7 @@ def iiif_jpg_url @document.references.iiif.endpoint.sub! 'info.json', 'full/full/0/default.jpg' end - def download_link_file(label, id, url) + def download_link_file(label, id, url, target = nil) link_to( label, url, @@ -22,7 +22,8 @@ def download_link_file(label, id, url) download: 'trigger', download_type: 'direct', download_id: id - } + }, + target: target ) end diff --git a/app/views/catalog/_downloads_collapse.html.erb b/app/views/catalog/_downloads_collapse.html.erb deleted file mode 100644 index 89013a8f..00000000 --- a/app/views/catalog/_downloads_collapse.html.erb +++ /dev/null @@ -1,33 +0,0 @@ -<%# Renders the options of the downloads dropdown button %> -<% document ||= @document %> - -<% if document.multi_direct_downloads.present? %> - <% document.multi_direct_downloads.each do |download| %> - <%= download_link_file(download[0], document.id, download[1]) %> - <% end %> -<% end %> -<% if document.direct_download.present? %> - <% if document.direct_download[:download].is_a? Array %> - <% document.direct_download[:download].each do |download| %> - <%= download_link_file(download['label'], document.id, download['url']) %> - <% end %> - <% end %> - <% if document.direct_download[:download].is_a? String %> - <%= download_link_file(download_text(document.file_format), document.id, document.direct_download[:download]) %> - <% end %> -<% end %> - -<% if document.hgl_download.present? %> - <%= download_link_hgl(download_text(document.download_types.first[0]), document) %> -<% end %> - -<% if document.iiif_download.present? %> - <%= download_link_iiif %> -<% end %> - -<% if document.download_types.present? %> - <% document.download_types.each do |type| %> - <% next if type.first == :kmz %> - <%= download_link_generated(type.first, document) %> - <% end %> -<% end %> diff --git a/app/views/catalog/_show_downloads.html.erb b/app/views/catalog/_show_downloads.html.erb index c52755ea..c8e26271 100644 --- a/app/views/catalog/_show_downloads.html.erb +++ b/app/views/catalog/_show_downloads.html.erb @@ -9,7 +9,7 @@