refactor(gallery): extract representation_url_for method
This commit is contained in:
parent
bae752f1aa
commit
2882af43aa
3 changed files with 24 additions and 3 deletions
|
@ -2,7 +2,7 @@
|
||||||
- if displayable_pdf?(blob)
|
- if displayable_pdf?(blob)
|
||||||
= link_to blob.url, id: blob.id, data: { iframe: true, src: blob.url }, class: 'gallery-link', type: blob.content_type, title: title do
|
= link_to blob.url, id: blob.id, data: { iframe: true, src: blob.url }, class: 'gallery-link', type: blob.content_type, title: title do
|
||||||
.thumbnail
|
.thumbnail
|
||||||
= image_tag(preview_url_for(attachment), loading: :lazy)
|
= image_tag(representation_url_for(attachment), loading: :lazy)
|
||||||
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
|
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
|
||||||
Visualiser
|
Visualiser
|
||||||
.champ-libelle
|
.champ-libelle
|
||||||
|
@ -12,13 +12,12 @@
|
||||||
- elsif displayable_image?(blob)
|
- elsif displayable_image?(blob)
|
||||||
= link_to image_url(blob_url(attachment)), title: title, data: { src: blob.url }, class: 'gallery-link' do
|
= link_to image_url(blob_url(attachment)), title: title, data: { src: blob.url }, class: 'gallery-link' do
|
||||||
.thumbnail
|
.thumbnail
|
||||||
= image_tag(variant_url_for(attachment), loading: :lazy)
|
= image_tag(representation_url_for(attachment), loading: :lazy)
|
||||||
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
|
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
|
||||||
Visualiser
|
Visualiser
|
||||||
.champ-libelle
|
.champ-libelle
|
||||||
= libelle.truncate(25)
|
= libelle.truncate(25)
|
||||||
= render Attachment::ShowComponent.new(attachment: attachment, truncate: true)
|
= render Attachment::ShowComponent.new(attachment: attachment, truncate: true)
|
||||||
|
|
||||||
- else
|
- else
|
||||||
.thumbnail
|
.thumbnail
|
||||||
= image_tag('apercu-indisponible.png')
|
= image_tag('apercu-indisponible.png')
|
||||||
|
|
|
@ -9,6 +9,12 @@ module GalleryHelper
|
||||||
blob.variable? && blob.content_type.in?(AUTHORIZED_IMAGE_TYPES)
|
blob.variable? && blob.content_type.in?(AUTHORIZED_IMAGE_TYPES)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def representation_url_for(attachment)
|
||||||
|
return variant_url_for(attachment) if displayable_image?(attachment.blob)
|
||||||
|
|
||||||
|
preview_url_for(attachment) if displayable_pdf?(attachment.blob)
|
||||||
|
end
|
||||||
|
|
||||||
def preview_url_for(attachment)
|
def preview_url_for(attachment)
|
||||||
preview = attachment.preview(resize_to_limit: [400, 400])
|
preview = attachment.preview(resize_to_limit: [400, 400])
|
||||||
preview.image.attached? ? preview.processed.url : 'pdf-placeholder.png'
|
preview.image.attached? ? preview.processed.url : 'pdf-placeholder.png'
|
||||||
|
|
|
@ -74,4 +74,20 @@ RSpec.describe GalleryHelper, type: :helper do
|
||||||
it { is_expected.to eq("pdf-placeholder.png") }
|
it { is_expected.to eq("pdf-placeholder.png") }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe ".representation_url_for" do
|
||||||
|
subject { representation_url_for(attachment) }
|
||||||
|
|
||||||
|
context "when attachment is an image with no variant" do
|
||||||
|
let(:file) { fixture_file_upload('spec/fixtures/files/logo_test_procedure.png', 'image/png') }
|
||||||
|
|
||||||
|
it { is_expected.to eq("apercu-indisponible.png") }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when attachment is a pdf with no preview" do
|
||||||
|
let(:file) { fixture_file_upload('spec/fixtures/files/RIB.pdf', 'application/pdf') }
|
||||||
|
|
||||||
|
it { is_expected.to eq("pdf-placeholder.png") }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue