3235: Make filter-by-project play nice with infinite scroll.
[arvados.git] / apps / workbench / app / views / application / _choose.html.erb
1 <div class="modal arv-choose modal-with-loading-spinner">
2   <div class="modal-dialog" style="width:80%">
3     <div class="modal-content">
4       <div class="modal-header">
5         <button type="button" class="close" onClick="reset_form()" data-dismiss="modal" aria-hidden="true">&times;</button>
6         <h4 class="modal-title"><%= params[:title] || "Choose #{@objects.first.andand.class_for_display}" %></h4>
7       </div>
8
9       <div class="modal-body">
10         <div class="input-group">
11           <input type="text" class="form-control filterable-control" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
12           <% if params[:by_project] %>
13             <div class="input-group-btn" data-filterable-target=".modal.arv-choose .selectable-container">
14               <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
15                 Filter by project <span class="caret"></span>
16               </button>
17               <ul class="dropdown-menu" role="menu">
18                 <li>
19                   <%= link_to '#', class: 'chooser-show-project' do %>
20                     Remove filter (search all projects)
21                   <% end %>
22                 </li>
23                 <li class="divider" />
24                 <%= render partial: "projects_tree_menu", locals: {
25                       :project_link_to => Proc.new do |pnode, &block|
26                         link_to "#", {"class" => "chooser-show-project", "data-project-uuid" => pnode[:object].uuid }, &block
27                        end,
28                       :top_button => nil
29                     } %>
30               </ul>
31             </div>
32           <% end %>
33         </div>
34         <div style="height: 1em" />
35         <div class="row" style="height: 20em">
36           <div class="col-sm-6 container arv-filterable-list selectable-container"
37                style="height: 100%; overflow-y: scroll"
38                data-infinite-scroller="#choose-scroll"
39                id="choose-scroll"
40                data-infinite-content-href="<%= next_page_href partial: true %>"
41                data-infinite-content-href0="<%= url_for partial: true %>">
42             <%= render partial: 'choose_rows', locals: {multiple: multiple} %>
43           </div>
44           <div class="col-sm-6 modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
45           </div>
46         </div>
47
48         <div class="modal-footer">
49           <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
50           <button class="btn btn-primary" aria-hidden="true" data-enable-if-selection disabled><%= raw(params[:action_name]) || 'Select' %></button>
51           <div class="modal-error hide" style="text-align: left; margin-top: 1em;">
52           </div>
53         </div>
54       </div>
55     </div>
56   </div>
57 </div>