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