// disable all file modification controls (upload, rename, delete)
$(document).
ready(function(event) {
- $(".btn-collection-file-rename").addClass("disabled");
- $(".btn-collection-file-rename").attr("title", "Unlock collection to rename file");
- $(".btn-collection-file-remove").addClass("disabled");
- $(".btn-collection-file-remove").attr("title", "Unlock collection to remove file");
+ $(".btn-collection-file-control").addClass("disabled");
+ $(".btn-collection-rename-file-span").attr("title", "Unlock collection to rename file");
+ $(".btn-collection-remove-file-span").attr("title", "Unlock collection to remove file");
$(".btn-remove-selected-files").attr("title", "Unlock collection to remove selected files");
$(".tab-pane-Upload").addClass("disabled");
$(".tab-pane-Upload").attr("title", "Unlock collection to upload files");
$(".lock-collection-btn").removeClass("fa-lock");
$(".lock-collection-btn").addClass("fa-unlock");
$(".lock-collection-btn").attr("title", "Lock collection to prevent editing files");
- $(".btn-collection-file-rename").removeClass("disabled");
- $(".btn-collection-file-rename").attr("data-original-title", "Edit name or path or both for this file");
- $(".btn-collection-file-remove").removeClass("disabled");
- $(".btn-collection-file-remove").attr("data-original-title", "Remove this file");
+ $(".btn-collection-rename-file-span").attr("title", "");
+ $(".btn-collection-remove-file-span").attr("title", "");
+ $(".btn-collection-file-control").removeClass("disabled");
$(".btn-remove-selected-files").attr("title", "");
$(".tab-pane-Upload").removeClass("disabled");
$(".tab-pane-Upload").attr("data-original-title", "");
$(".lock-collection-btn").removeClass("fa-unlock");
$(".lock-collection-btn").addClass("fa-lock");
$(".lock-collection-btn").attr("title", "Unlock collection to edit files");
- $(".btn-collection-file-rename").addClass("disabled");
- $(".btn-collection-file-rename").attr("data-original-title", "Unlock collection to rename file");
- $(".btn-collection-file-remove").addClass("disabled");
- $(".btn-collection-file-remove").attr("data-original-title", "Unlock collection to remove file");
+ $(".btn-collection-rename-file-span").attr("title", "Unlock collection to rename file");
+ $(".btn-collection-remove-file-span").attr("title", "Unlock collection to remove file");
+ $(".btn-collection-file-control").addClass("disabled");
$(".btn-remove-selected-files").attr("title", "Unlock collection to remove selected files");
$(".tab-pane-Upload").addClass("disabled");
$(".tab-pane-Upload").attr("data-original-title", "Unlock collection to upload files");
padding: .5em 2em;
margin: 0 1em;
}
-
-.btn-collection-file-rename.disabled {
- pointer-events: auto;
-}
-
-.btn-collection-file-remove.disabled {
- pointer-events: auto;
-}
<% end %>
<% if object.editable? %>
- <%= link_to({controller: 'collections', 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 btn-collection-file-remove') do %>
+ <span class="btn-collection-remove-file-span">
+ <%= link_to({controller: 'collections', 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 btn-collection-file-control', title: "Remove #{file_path}") do %>
<i class="fa fa-fw fa-trash-o"></i>
<% end %>
+ </span>
<% end %>
<% if CollectionsHelper::is_image(filename) %>
<i class="fa fa-fw fa-bar-chart-o"></i>
+ <span class="btn-collection-rename-file-span">
<% if object.editable? %>
- <%= render_editable_attribute object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_path' => 'rename-file-path:'+file_path}, {btnclass: 'collection-file-rename'} %>
+ <%= render_editable_attribute object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_path' => 'rename-file-path:'+file_path}, {tiptitle: 'Edit name or directory or both for this file'} %>
+ </span>
<% else %>
<%= filename %>
<% end %>
</div>
<% else %>
<% if object.editable? %>
- <i class="fa fa-fw fa-file"></i><%= render_editable_attribute object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_name' => 'rename-file-path:'+file_path}, {btnclass: 'collection-file-rename'} %>
+ <span class="btn-collection-rename-file-span">
+ <i class="fa fa-fw fa-file"></i><%= render_editable_attribute object, 'filename', filename, {'data-value' => file_path, 'data-toggle' => 'manual', 'selection_name' => 'rename-file-path:'+file_path}, {tiptitle: 'Edit name or directory or both for this file', btnclass: 'collection-file-control'} %>
+ </span>
<% else %>
<i class="fa fa-fw fa-file" href="<%=object.uuid%>/<%=file_path%>" ></i> <%= filename %>
<% end %>
assert_selector 'a[data-toggle="disabled"]', text: 'Upload'
within('.collection_files') do
- assert_equal true, page.all('.btn-collection-file-rename')[0]['class'].include?('disabled')
- assert_equal true, page.all('.btn-collection-file-remove')[0]['class'].include?('disabled')
+ file_ctrls = page.all('.btn-collection-file-control')
+ assert_equal 2, file_ctrls.size
+ assert_equal true, file_ctrls[0]['class'].include?('disabled')
+ assert_equal true, file_ctrls[1]['class'].include?('disabled')
find('input[type=checkbox]').click
end
assert_selector 'a', text: 'Upload'
within('.collection_files') do
- assert_equal false, page.all('.btn-collection-file-rename')[0]['class'].include?('disabled')
- assert_equal false, page.all('.btn-collection-file-remove')[0]['class'].include?('disabled')
+ file_ctrls = page.all('.btn-collection-file-control')
+ assert_equal 2, file_ctrls.size
+ assert_equal false, file_ctrls[0]['class'].include?('disabled')
+ assert_equal false, file_ctrls[1]['class'].include?('disabled')
# previous checkbox selection won't result in firing a new event;
# undo and redo checkbox to fire the selection event again