Feature #30776 » fix-30776.diff
app/views/attachments/_form.html.erb | ||
---|---|---|
1 | 1 |
<% attachment_param ||= 'attachments' %> |
2 |
<% attachment_format_custom_field ||= false %> |
|
2 | 3 |
<% saved_attachments ||= container.saved_attachments if defined?(container) && container %> |
3 | 4 |
<% multiple = true unless defined?(multiple) && multiple == false %> |
4 | 5 |
<% show_add = multiple || saved_attachments.blank? %> |
5 | 6 |
<% description = (defined?(description) && description == false ? false : true) %> |
6 |
<% css_class = (defined?(filedrop) && filedrop == false ? '' : 'filedrop') %>
|
|
7 |
<% css_class = (defined?(filedrop) && filedrop == false ? '' : (attachment_format_custom_field ? 'custom-field-filedrop' : 'filedrop')) %>
|
|
7 | 8 | |
8 | 9 |
<span class="attachments_form"> |
9 | 10 |
<span class="attachments_fields"> |
... | ... | |
30 | 31 |
:multiple => multiple, |
31 | 32 |
:onchange => 'addInputFiles(this);', |
32 | 33 |
:data => { |
33 |
:max_number_of_files_message => l(:error_attachments_too_many, :max_number_of_files => 10),
|
|
34 |
:max_number_of_files_message => l(:error_attachments_too_many, :max_number_of_files => (multiple ? 10 : 1)),
|
|
34 | 35 |
:max_file_size => Setting.attachment_max_size.to_i.kilobytes, |
35 | 36 |
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), |
36 | 37 |
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i, |
lib/redmine/field_format.rb | ||
---|---|---|
1033 | 1033 |
:multiple => false, |
1034 | 1034 |
:description => false, |
1035 | 1035 |
:saved_attachments => [attachment].compact, |
1036 |
:filedrop => false |
|
1036 |
:filedrop => true, |
|
1037 |
:attachment_format_custom_field => true |
|
1037 | 1038 |
}) |
1038 | 1039 |
end |
1039 | 1040 |
end |
public/javascripts/attachments.js | ||
---|---|---|
179 | 179 | |
180 | 180 |
if ($.inArray('Files', e.dataTransfer.types) > -1) { |
181 | 181 |
handleFileDropEvent.target = e.target; |
182 |
uploadAndAttachFiles(e.dataTransfer.files, $('input:file.filedrop').first()); |
|
182 |
if ($(this).hasClass('custom-field-filedroplistner')){ |
|
183 |
uploadAndAttachFiles(e.dataTransfer.files, $(this).find('input:file.custom-field-filedrop').first()); |
|
184 |
} else { |
|
185 |
uploadAndAttachFiles(e.dataTransfer.files, $(this).find('input:file.filedrop').first()); |
|
186 |
} |
|
183 | 187 |
} |
184 | 188 |
} |
185 | 189 |
handleFileDropEvent.target = ''; |
... | ... | |
208 | 212 |
paste: copyImageFromClipboard |
209 | 213 |
}).addClass('filedroplistner'); |
210 | 214 |
}); |
215 | ||
216 |
$('form div.box input:file.custom-field-filedrop').closest('p').not('.custom-field-filedroplistner').each(function() { |
|
217 |
$(this).on({ |
|
218 |
dragover: dragOverHandler, |
|
219 |
dragleave: dragOutHandler, |
|
220 |
drop: handleFileDropEvent |
|
221 |
}).addClass('custom-field-filedroplistner'); |
|
222 |
}); |
|
211 | 223 |
} |
212 | 224 |
} |
213 | 225 |
public/stylesheets/application.css | ||
---|---|---|
924 | 924 |
a.remove-upload:hover {text-decoration:none !important;} |
925 | 925 |
.existing-attachment.deleted .filename {text-decoration:line-through; color:#999 !important;} |
926 | 926 | |
927 |
div.fileover { background-color: lavender; } |
|
927 |
div.fileover, p.custom-field-filedroplistner.fileover { background-color: lavender; }
|
|
928 | 928 | |
929 | 929 |
div.attachments p { margin:4px 0 2px 0; } |
930 | 930 |
div.attachments img { vertical-align: middle; } |
- « Previous
- 1
- 2
- 3
- Next »