removeClass('active');
}
$this.toggleClass('active');
- any = ($container.
+
+ if (!$this.hasClass('use-checkbox-selection')) {
+ any = ($container.
find('.selectable.active').length > 0)
+ }
$this.
closest('.modal').
find('[data-enable-if-selection]').
$(".modal-dialog-preview-pane").html(no_preview_available);
});
}
-
+}).on('click', '.persistent-selection', function() {
+ var $modal = $(this).closest('.modal');
+ $checked_selections = $modal.find('.persistent-selection:checked');
+ any = ($checked_selections.length > 0);
+ $(this).
+ closest('.modal').
+ find('[data-enable-if-selection]').
+ prop('disabled', !any);
}).on('click', '.modal button[data-action-href]', function() {
var selection = [];
var data = [];
preconfigured_search_str: (preconfigured_search_str || ""),
action_data: {
merge: true,
+ use_checkbox_selection: dataclass == File ? true : false,
selection_param: selection_param,
success: 'page-refresh'
}.to_json,
end
end
- def chooser_preview_url_for object
+ def chooser_preview_url_for object, use_checkbox_selection=false
case object.class.to_s
when 'Collection'
- polymorphic_path(object, tab_pane: 'chooser_preview')
+ polymorphic_path(object, tab_pane: 'chooser_preview', use_checkbox_selection: use_checkbox_selection)
else
nil
end
<% if project_filters.any? %>
data-infinite-content-params-from-project-dropdown="<%= {filters: project_filters, project_uuid: project_filters.last.last}.to_json %>"
<% end %>
- data-infinite-content-href="<%= url_for partial: true %>">
+ <%
+ action_data = JSON.parse params['action_data'] if params['action_data']
+ use_checkbox_sel = action_data ? action_data['use_checkbox_selection'] : false
+ %>
+ data-infinite-content-href="<%= url_for partial: true,
+ use_checkbox_selection: use_checkbox_sel %>">
</div>
<% if preview_pane %>
<div class="col-md-6 hidden-xs hidden-sm modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
<% @collections.each do |object| %>
- <div class="row filterable selectable" data-object-uuid="<%= object.uuid %>"
- data-preview-href="<%= chooser_preview_url_for object %>"
+ <div class="row filterable selectable <%= 'use-checkbox-selection' if params['use_checkbox_selection']%>" data-object-uuid="<%= object.uuid %>"
+ data-preview-href="<%= chooser_preview_url_for object, params['use_checkbox_selection'] %>"
style="margin-left: 1em; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #DDDDDD">
<i class="fa fa-fw fa-archive"></i>
<% if object.respond_to? :name %>
<% @name_links.each do |name_link| %>
<% if (object = get_object(name_link.head_uuid)) %>
<div class="row filterable selectable" data-object-uuid="<%= name_link.uuid %>"
- data-preview-href="<%= chooser_preview_url_for object %>"
+ data-preview-href="<%= chooser_preview_url_for object%>"
style="margin-left: 1em; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #DDDDDD">
<i class="fa fa-fw fa-archive"></i>
<%= name_link.name %>
<%= render partial: "show_source_summary" %>
-<%= render partial: "show_files", locals: {no_checkboxes: true} %>
+<%= render partial: "show_files", locals: {no_checkboxes: true, use_checkbox_selection: params['use_checkbox_selection']} %>
</div>
<div class="collection_files_name">
- <%# if !defined? no_checkboxes or !no_checkboxes %>
+ <% if !defined? no_checkboxes or !no_checkboxes or
+ (!params['use_checkbox_selection'].nil? and params['use_checkbox_selection'] == 'true') %>
<%= check_box_tag 'uuids[]', "#{@object.uuid}/#{file_path}", false, {
:class => 'persistent-selection',
:friendly_type => "File",
:title => "Include #{file_path} in your selections",
} %>
<span> </span>
- <%# end %>
+ <% end %>
<% if CollectionsHelper::is_image(filename) %>
<i class="fa fa-fw fa-bar-chart-o"></i> <%= filename %></div>
</div>