1 <%# Copyright (C) The Arvados Authors. All rights reserved.
3 SPDX-License-Identifier: AGPL-3.0 %>
5 <div class="modal arv-choose modal-with-loading-spinner">
6 <div class="modal-dialog" style="width:80%">
7 <div class="modal-content">
8 <div class="modal-header">
9 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
10 <h4 class="modal-title"><%= params[:title] || "Choose #{@objects.resource_class.andand.class_for_display}" %></h4>
13 <div class="modal-body">
14 <% if params[:message].present? %>
15 <p> <%= params[:message] %> </p>
18 <% project_filters, chooser_filters = (params[:filters] || []).partition do |attr, op, val|
19 attr == "owner_uuid" and op == "="
21 <div class="input-group">
22 <% if params[:by_project].to_s != "false" %>
23 <% if project_filters.empty?
24 selected_project_name = 'All projects'
26 val = project_filters.last.last
27 if val == current_user.uuid
28 selected_project_name = "Home"
30 selected_project_name = Group.find(val).name rescue val
34 <div class="input-group-btn" data-filterable-target=".modal.arv-choose .selectable-container">
35 <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
36 <%= selected_project_name %> <span class="caret"></span>
38 <ul class="dropdown-menu" role="menu">
40 <%= link_to '#', class: 'chooser-show-project' do %>
44 <li class="divider" />
45 <%= render partial: "projects_tree_menu", locals: {
46 :project_link_to => Proc.new do |pnode, &block|
48 class: "chooser-show-project",
49 data: {'project_uuid' => pnode[:object].uuid},
57 <input type="text" value="<%=params[:preconfigured_search_str] || ''%>" class="form-control filterable-control focus-on-display" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
59 <div style="height: 1em" />
61 <% preview_pane = (params[:preview_pane].to_s != "false") %>
62 <div class="row" style="height: 20em">
63 <div class="<%= 'col-sm-6' if preview_pane %> col-xs-12 arv-filterable-list selectable-container <%= 'multiple' if multiple %>"
64 style="height: 100%; overflow-y: scroll"
65 data-infinite-scroller="#choose-scroll"
67 data-infinite-content-params-from-chooser="<%= {filters: chooser_filters}.to_json %>"
68 <% if project_filters.any? %>
69 data-infinite-content-params-from-project-dropdown="<%= {filters: project_filters, project_uuid: project_filters.last.last}.to_json %>"
72 action_data = JSON.parse params['action_data'] if params['action_data']
73 use_preview_sel = action_data ? action_data['use_preview_selection'] : false
75 data-infinite-content-href="<%= url_for partial: true,
76 use_preview_selection: use_preview_sel %>">
79 <div class="col-sm-6 col-xs-12 modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
84 <div class="modal-footer">
85 <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
86 <button class="btn btn-primary" aria-hidden="true" data-enable-if-selection disabled><%= raw(params[:action_name]) || 'Select' %></button>
87 <div class="modal-error hide" style="text-align: left; margin-top: 1em;">