Feature #11543 » 11543.patch
app/views/attachments/_links.html.erb | ||
---|---|---|
12 | 12 |
) if attachments.size > 1 %> |
13 | 13 |
</div> |
14 | 14 |
<table> |
15 |
<thead> |
|
16 |
<tr> |
|
17 |
<th><%= l(:field_name) %></th> |
|
18 |
<th><%= l(:field_description) %></th> |
|
19 |
<% if options[:author] %> |
|
20 |
<th><%= l(:field_author) %></th> |
|
21 |
<th><%= l(:field_created_on) %></th> |
|
22 |
<% end %> |
|
23 |
<td></td> |
|
24 |
</tr> |
|
25 |
</thead> |
|
26 |
<tbody> |
|
15 | 27 |
<% for attachment in attachments %> |
16 | 28 |
<tr> |
17 | 29 |
<td> |
... | ... | |
20 | 32 |
<%= link_to_attachment attachment, class: 'icon-only icon-download', title: l(:button_download), download: true -%> |
21 | 33 |
</td> |
22 | 34 |
<td><%= attachment.description unless attachment.description.blank? %></td> |
23 |
<td> |
|
24 |
<% if options[:author] %> |
|
25 |
<span class="author"><%= attachment.author %>, <%= format_time(attachment.created_on) %></span> |
|
26 |
<% end %> |
|
27 |
</td> |
|
35 |
<% if options[:author] %> |
|
36 |
<td><span class="author"><%= attachment.author %></span></td> |
|
37 |
<td><span class="author"><%= format_time(attachment.created_on) %></span></td> |
|
38 |
<% end %> |
|
28 | 39 |
<td> |
29 | 40 |
<% if options[:deletable] %> |
30 | 41 |
<%= link_to l(:button_delete), attachment_path(attachment), |
... | ... | |
36 | 47 |
</td> |
37 | 48 |
</tr> |
38 | 49 |
<% end %> |
50 |
</tbody> |
|
39 | 51 |
</table> |
40 | 52 |
<% if defined?(thumbnails) && thumbnails %> |
41 | 53 |
<% images = attachments.select(&:thumbnailable?) %> |
public/javascripts/application.js | ||
---|---|---|
1096 | 1096 |
$(window).resize(setFilecontentContainerHeight); |
1097 | 1097 |
} |
1098 | 1098 | |
1099 |
function setupWikiTableSortableHeader() {
|
|
1100 |
$('div.wiki table').each(function(i, table){
|
|
1099 |
function setupTableSortableHeader(selector) {
|
|
1100 |
$(selector).each(function(i, table){
|
|
1101 | 1101 |
if (table.rows.length < 3) return true; |
1102 | 1102 |
var tr = $(table.rows).first(); |
1103 | 1103 |
if (tr.find("TH").length > 0) { |
... | ... | |
1108 | 1108 |
}); |
1109 | 1109 |
} |
1110 | 1110 | |
1111 |
function setupWikiTableSortableHeader() { |
|
1112 |
setupTableSortableHeader('div.wiki table'); |
|
1113 |
} |
|
1114 | ||
1115 |
function setupAttachmentsTableSortableHeader() { |
|
1116 |
setupTableSortableHeader('div.attachments table'); |
|
1117 |
} |
|
1118 | ||
1111 | 1119 |
$(function () { |
1112 | 1120 |
$("[title]:not(.no-tooltip)").tooltip({ |
1113 | 1121 |
show: { |
... | ... | |
1209 | 1217 |
$(document).ready(setupTabs); |
1210 | 1218 |
$(document).ready(setupFilePreviewNavigation); |
1211 | 1219 |
$(document).ready(setupWikiTableSortableHeader); |
1220 |
$(document).ready(setupAttachmentsTableSortableHeader); |
|
1212 | 1221 |
$(document).on('focus', '[data-auto-complete=true]', function(event) { |
1213 | 1222 |
inlineAutoComplete(event.target); |
1214 | 1223 |
}); |
public/stylesheets/application.css | ||
---|---|---|
938 | 938 |
div.attachments p { margin:4px 0 2px 0; } |
939 | 939 |
div.attachments img { vertical-align: middle; } |
940 | 940 |
div.attachments span.author { font-size: 0.9em; color: #888; } |
941 |
div.attachments table { border-collapse:collapse; } |
|
942 |
div.attachments table thead { border-bottom:1px solid #ccc; } |
|
941 | 943 | |
942 | 944 |
div.thumbnails {margin:0.6em;} |
943 | 945 |
div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;} |