Tested, works great.
[arvados.git] / apps / workbench / app / views / collections / _show_files.html.erb
1 <% content_for :css do %>
2 .file-list-inline-image {
3   width: 50%;
4   height: auto; 
5 }
6 <% end %>
7
8 <table class="table table-condensed table-fixedlayout">
9   <colgroup>
10     <col width="4%" />
11     <col width="35%" />
12     <col width="40%" />
13     <col width="15%" />
14     <col width="10%" />
15   </colgroup>
16   <thead>
17     <tr>
18       <th></th>
19       <th>path</th>
20       <th>file</th>
21       <th style="text-align:right">size</th>
22       <th>d/l</th>
23     </tr>
24   </thead><tbody>
25     <% if @object then @object.files.sort_by{|f|[f[0],f[1]]}.each do |file| %>
26     <% file_path = "#{file[0]}/#{file[1]}" %>
27     <tr>
28       <td>
29         <% fp2 = file_path[2..-1] if file_path[0..1] == './' %>
30         <% fp2 ||= file_path %>
31 <%= check_box_tag 'uuids[]', @object.uuid+file_path, false, {
32   :class => 'persistent-selection', 
33   :friendly_type => "File",
34   :friendly_name => "#{@object.uuid}/#{fp2}",
35   :href => "#{url_for controller: 'collections', action: 'show', id: @object.uuid }/#{file_path}" 
36       } %>
37       </td>
38       <td>
39         <%= file[0] %>
40       </td>
41
42       <td>
43         <%= link_to((if /\.(jpg|jpeg|gif|png)$/.match(file[1]) then
44                        image_tag "#{url_for @object}/#{file_path}", class: "file-list-inline-image"
45                      else
46                        file[1]
47                      end), 
48                     {controller: 'collections', action: 'show_file', uuid: @object.uuid, file: file_path, size: file[2], disposition: 'inline'}, 
49                     {title: file_path}) %>
50       </td>
51
52       <td style="text-align:right">
53         <%= raw(human_readable_bytes_html(file[2])) %>
54       </td>
55
56       <td>
57         <div style="display:inline-block">
58           <%= link_to raw('<i class="glyphicon glyphicon-download-alt"></i>'), {controller: 'collections', action: 'show_file', uuid: @object.uuid, file: file_path, size: file[2], disposition: 'attachment'}, {class: 'btn btn-info btn-sm', title: 'Download'} %>
59         </div>
60       </td>
61     </tr>
62     <% end; end %>
63   </tbody>
64 </table>