X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/964ab3dd90ff1508efc0c77378cde2b3a4da1029..f14965fac774465c0179f5e318c9df3df9b6a05d:/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 603dc34f4f..37d9283dbd 100644 --- a/apps/workbench/app/views/collections/_show_files.html.erb +++ b/apps/workbench/app/views/collections/_show_files.html.erb @@ -1,13 +1,3 @@ - - <% preview_selectable_container = '' preview_selectable = '' @@ -19,101 +9,128 @@ function unselect_all_files() { end %> +<% object = @object unless object %> +
- <% if !defined? no_checkboxes or !no_checkboxes %> -
-
-
- - + <% if Collection.creatable? and (!defined? no_checkboxes or !no_checkboxes) %> +
+
+
+ + +
+
+ + +
-
- - +
+
-
- -
-
-

+

<% end %> -<% 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.take(10000).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.portable_data_hash, file: file_path, size: size} %> -
      -
      - <%= raw(human_readable_bytes_html(size)) %> - <% disable_search = (Rails.configuration.filename_suffixes_with_view_icon.include? file_path.split('.')[-1]) ? false : true %> - <%= link_to(raw(''), - link_params.merge(disposition: 'inline'), - {title: "View #{file_path}", class: "btn btn-info btn-sm", disabled: disable_search}) %> - <%= link_to(raw(''), - link_params.merge(disposition: 'attachment'), - {title: "Download #{file_path}", class: "btn btn-info btn-sm"}) %> -
      - -
      - <% if !defined? no_checkboxes or !no_checkboxes %> - <%= 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.portable_data_hash, file: file_path), - :title => "Include #{file_path} in your selections", - } %> -   - <% end %> - <% if CollectionsHelper::is_image(filename) %> - <%= filename %>
      -
      - <%= link_to(image_tag("#{url_for @object}/#{file_path}"), - link_params.merge(disposition: 'inline'), - {title: file_path}) %> + <% 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.take(10000).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 %> - <%= filename %>
      -
  • - <% end %> - - <% end # if file or directory %> - <% end # file_tree.each %> - <%= raw(dirstack.map { |_| "" }.join("")) %> -<% end # if file_tree %> + <% link_params = {controller: 'collections', action: 'show_file', + uuid: object.portable_data_hash, file: file_path, size: size} %> +
    +
    + <%= raw(human_readable_bytes_html(size)) %> + <%= link_to(raw(''), + link_params.merge(disposition: 'inline'), + {title: "View #{file_path}", class: "btn btn-info btn-sm", disabled: !preview_allowed_for(file_path)}) %> + <%= link_to(raw(''), + link_params.merge(disposition: 'attachment'), + {title: "Download #{file_path}", class: "btn btn-info btn-sm"}) %> +
    + +
    + <% if (!defined? no_checkboxes or !no_checkboxes) and current_user %> + <%= 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.portable_data_hash, file: file_path), + :title => "Include #{file_path} in your selections", + :id => "#{object.uuid}_file_#{index}", + } %> +   + <% end %> + + <% if @object.editable? %> + <%= link_to({action: 'remove_selected_files', id: @object.uuid, selection: [object.portable_data_hash+'/'+file_path]}, method: :post, remote: true, data: {confirm: "Remove #{file_path}?", toggle: 'tooltip', placement: 'top'}, class: 'btn btn-sm btn-default btn-nodecorate', title: "Remove #{file_path}") do %> + + <% end %> + <% end %> + <% if CollectionsHelper::is_image(filename) %> + + <% if @object.editable? %> + <%= render_editable_attribute @object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_path' => 'rename-file-path:'+file_path} %> + <% else %> + <%= filename %> + <% end %> +
    +
    + <%= link_to(image_tag("#{url_for object}/#{file_path}"), + link_params.merge(disposition: 'inline'), + {title: file_path}) %> +
    +
    + <% else %> + <% if @object.editable? %> + <%= render_editable_attribute @object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_name' => 'rename-file-path:'+file_path} %> + <% else %> + <%= filename %> + <% end %> +
    +
    + <% end %> + + <% end # if file or directory %> + <% end # file_tree.each %> + <%= raw(dirstack.map { |_| "" }.join("")) %> + <% end # if file_tree %> +
    <% content_for :footer_html do %> <% end %> - -