Refactor thumbnail markup for improved structure and semantics (#42133).

Patch by Katsuya HIDAKA (user:hidakatsuya).


git-svn-id: https://svn.redmine.org/redmine/trunk@23460 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2025-01-23 01:41:22 +00:00
parent 8d4a3da2d6
commit 0e9753c9fd
5 changed files with 21 additions and 21 deletions

View File

@@ -1126,8 +1126,8 @@ div.attachments img { vertical-align: middle; }
div.attachments span.author { font-size: 0.9em; color: #888; } div.attachments span.author { font-size: 0.9em; color: #888; }
div.thumbnails {margin:0.6em;} div.thumbnails {margin:0.6em;}
div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;} div.thumbnail {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;}
div.thumbnails img {margin: 3px; vertical-align: middle;} div.thumbnail img {margin: 3px; vertical-align: middle;}
#history div.thumbnails {margin-left: 2em;} #history div.thumbnails {margin-left: 2em;}
p.other-formats { text-align: right; font-size:0.9em; color: #666; } p.other-formats { text-align: right; font-size:0.9em; color: #666; }

View File

@@ -346,19 +346,18 @@ module ApplicationHelper
def thumbnail_tag(attachment) def thumbnail_tag(attachment)
thumbnail_size = Setting.thumbnails_size.to_i thumbnail_size = Setting.thumbnails_size.to_i
thumbnail_path = thumbnail_path(attachment, :size => thumbnail_size * 2) thumbnail_path = thumbnail_path(attachment, :size => thumbnail_size * 2)
link_to( tag.div class: 'thumbnail', title: attachment.filename do
image_tag( link_to(
thumbnail_path, image_tag(
:srcset => "#{thumbnail_path} 2x", thumbnail_path,
:style => "max-width: #{thumbnail_size}px; max-height: #{thumbnail_size}px;", :srcset => "#{thumbnail_path} 2x",
:title => attachment.filename, :style => "max-width: #{thumbnail_size}px; max-height: #{thumbnail_size}px;",
:alt => attachment.filename, :alt => attachment.filename,
:loading => "lazy" :loading => "lazy"
), ),
attachment_path( attachment_path(attachment)
attachment
) )
) end
end end
def toggle_link(name, id, options={}) def toggle_link(name, id, options={})

View File

@@ -42,7 +42,7 @@
<% if images.any? %> <% if images.any? %>
<div class="thumbnails"> <div class="thumbnails">
<% images.each do |attachment| %> <% images.each do |attachment| %>
<div><%= thumbnail_tag(attachment) %></div> <%= thumbnail_tag(attachment) %>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

View File

@@ -27,7 +27,7 @@
<% if Setting.thumbnails_enabled? && (thumbnail_attachments = journal_thumbnail_attachments(journal)).any? %> <% if Setting.thumbnails_enabled? && (thumbnail_attachments = journal_thumbnail_attachments(journal)).any? %>
<div class="thumbnails"> <div class="thumbnails">
<% thumbnail_attachments.each do |attachment| %> <% thumbnail_attachments.each do |attachment| %>
<div><%= thumbnail_tag(attachment) %></div> <%= thumbnail_tag(attachment) %>
<% end %> <% end %>
</div> </div>
<% end %> <% end %>

View File

@@ -1918,11 +1918,12 @@ class ApplicationHelperTest < Redmine::HelperTest
end end
def test_thumbnail_tag def test_thumbnail_tag
a = Attachment.find(3) attachment = Attachment.find(3)
assert_select_in( assert_select_in thumbnail_tag(attachment), 'div.thumbnail[title=?]', 'logo.gif' do
thumbnail_tag(a), assert_select 'a[href=?]', '/attachments/3' do
'a[href=?] img[title=?][alt=?][src=?][loading="lazy"]', assert_select 'img[alt=?][src=?][loading="lazy"]', "logo.gif", "/attachments/thumbnail/3/200"
"/attachments/3", "logo.gif", "logo.gif", "/attachments/thumbnail/3/200") end
end
end end
def test_link_to_project def test_link_to_project