X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f3d919829c017376eeccd27db9908b7f5a6e32aa..82b46502f25b6992c93bfe7689acc095aa447e5b:/apps/workbench/app/views/collections/_show_files.html.erb diff --git a/apps/workbench/app/views/collections/_show_files.html.erb b/apps/workbench/app/views/collections/_show_files.html.erb index 991c92d746..74e02f79fe 100644 --- a/apps/workbench/app/views/collections/_show_files.html.erb +++ b/apps/workbench/app/views/collections/_show_files.html.erb @@ -1,34 +1,73 @@ - - - - - - - - - - <% if @object then @object.files.sort_by{|f|f[1]}.each do |file| %> - <% file_path = "#{file[0]}/#{file[1]}" %> - - +<% content_for :tab_line_buttons do %> +
+
+
+
+ Collection storage status: + <%= render partial: 'toggle_persist', locals: { uuid: @object.uuid, current_state: (@is_persistent ? 'persistent' : 'cache') } %> -
+ + + +<% end %> - - - + <% if CollectionsHelper::is_image(filename) %> +
<%= filename %>
+ +
+ <%= link_to(image_tag("#{url_for @object}/#{file_path}"), + link_params.merge(disposition: 'inline'), + {title: file_path}) %> +
+ <% else %> +
<%= filename %>
+ + <% end %> + + <% end # if file or directory %> + <% end # file_tree.each %> + <%= raw(dirstack.map { |_| "" }.join("")) %> +<% end # if file_tree %> - - <% end; end %> - -
pathfiled/lsize
- <%= file[0] %> - - <%= link_to file[1], {controller: 'collections', action: 'show_file', uuid: @object.uuid, file: file_path, size: file[2], disposition: 'inline'}, {title: 'View in browser'} %> - -
- <%= link_to raw(''), {controller: 'collections', action: 'show_file', uuid: @object.uuid, file: file_path, size: file[2], disposition: 'attachment'}, {class: 'label label-info', title: 'Download'} %> +<% file_tree = @object.andand.files_tree %> +<% if file_tree.nil? or file_tree.empty? %> +

This collection is empty.

+<% else %> +
    + <% dirstack = [file_tree.first.first] %> + <% file_tree.each_with_index do |(dirname, filename, size), index| %> + <% file_path = CollectionsHelper::file_path([dirname, filename]) %> + <% while dirstack.any? and (dirstack.last != dirname) %> + <% dirstack.pop %>
+ <% end %> +
  • + <% if size.nil? # This is a subdirectory. %> + <% dirstack.push(File.join(dirname, filename)) %> +
    +
    <%= filename %>
    +
    +
      + <% else %> + <% link_params = {controller: 'collections', action: 'show_file', + uuid: @object.uuid, file: file_path, size: size} %> +
      +
      + <%= raw(human_readable_bytes_html(size)) %> + <%= check_box_tag 'uuids[]', "#{@object.uuid}/#{file_path}", false, { + :class => 'persistent-selection', + :friendly_type => "File", + :friendly_name => "#{@object.uuid}/#{file_path}", + :href => url_for(controller: 'collections', action: 'show_file', + uuid: @object.uuid, file: file_path), + :title => "Include #{file_path} in your selections", + } %> + <%= link_to(raw(''), + link_params.merge(disposition: 'inline'), + {title: "View #{file_path}", class: "btn btn-info btn-sm"}) %> + <%= link_to(raw(''), + link_params.merge(disposition: 'attachment'), + {title: "Download #{file_path}", class: "btn btn-info btn-sm"}) %>
      -
  • - <%= raw(human_readable_bytes_html(file[2])) %> -
    +<% content_for :footer_html do %> + +<% end %>