3504: Fix collection page rendering to work with collections as regular uuids.
[arvados.git] / apps / workbench / app / views / application / _choose.html.erb
index 3c1aaadf7d5746d34b612a208195a9ec583da726..68351a94995121f5fbf90860412fbf4f5c2a4ee9 100644 (file)
@@ -7,48 +7,59 @@
       </div>
 
       <div class="modal-body">
-        <nav class="navbar navbar-default breadcrumbs" role="navigation">
-          <ul class="nav navbar-nav navbar-left">
-            <li class="dropdown">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="projects-menu">
-              Projects
-              <span class="caret"></span>
-            </a>
-            <ul class="dropdown-menu" role="menu">
-            <%= render partial: "projects_tree_menu", locals: {
-                  :project_link_to => Proc.new do |pnode, &block|
-                    link_to "#", {"class" => "chooser-show-project", "data-project-uuid" => pnode[:object].uuid }, &block
-                   end,
-                  :top_button => Proc.new do %>
-                    <% link_to "#", {"class" => "chooser-show-project btn btn-xs btn-default pull-right" } do %>
-                      All <%= controller.model_class.class_for_display.pluralize.downcase %>
-                    <% end %>
+        <div class="input-group">
+          <% if params[:by_project].to_s != "false" %>
+            <% selected_project_name = 'All projects'
+               @filters.andand.each do |attr, op, val|
+                 if attr == 'owner_uuid' and op == '='
+                   if val == current_user.uuid
+                     selected_project_name = "Home"
+                   else
+                     selected_project_name = Group.find(val).name rescue val
+                   end
+                 end
+               end
+               %>
+            <div class="input-group-btn" data-filterable-target=".modal.arv-choose .selectable-container">
+              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+                <%= selected_project_name %> <span class="caret"></span>
+              </button>
+              <ul class="dropdown-menu" role="menu">
+                <li>
+                  <%= link_to '#', class: 'chooser-show-project' do %>
+                    All projects
                   <% end %>
-            <% } %>
-            </ul>
-            </li>
-            <li class="nav-separator">
-              <i class="fa fa-lg fa-angle-double-right"></i>
-            </li>
-            <li><p class="navbar-text" id="chooser-breadcrumb">All <%= controller.model_class.class_for_display.pluralize.downcase %></span></li>
-          </ul>
-          <div class="navbar-form navbar-right">
-            <input type="text" class="form-control filterable-control" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
-          </div>
-        </nav>
+                </li>
+                <li class="divider" />
+                <%= render partial: "projects_tree_menu", locals: {
+                      :project_link_to => Proc.new do |pnode, &block|
+                        link_to "#", {
+                          class: "chooser-show-project",
+                          data: {'project_uuid' => pnode[:object].uuid},
+                        }, &block
+                      end,
+                      :top_button => nil
+                    } %>
+              </ul>
+            </div>
+          <% end %>
+          <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"/>
+        </div>
+        <div style="height: 1em" />
 
-        <% preview_pane = (params[:preview_pane] != "false")
-           pane_col_class = preview_pane ? "col-sm-6" : "" %>
+        <% preview_pane = (params[:preview_pane].to_s != "false")
+           pane_col_class = preview_pane ? "col-sm-6" : "col-sm-12" %>
         <div class="row" style="height: 20em">
-          <div class="<%= pane_col_class %> container-fluid arv-filterable-list selectable-container"
-               style="height: 100%; overflow-y: scroll"
-               data-infinite-scroller="#choose-scroll"
-               id="choose-scroll"
-               data-infinite-content-href="<%= @next_page_href %>">
-            <%= render partial: 'choose_rows', locals: {multiple: multiple} %>
-          </div>
+         <div class="<%= pane_col_class %> container arv-filterable-list selectable-container <%= 'multiple' if multiple %>"
+              style="height: 100%; overflow-y: scroll"
+              data-infinite-scroller="#choose-scroll"
+              id="choose-scroll"
+              data-infinite-content-href="<%= next_page_href partial: true %>"
+              data-infinite-content-href0="<%= url_for partial: true %>">
+           <%= render partial: 'choose_rows' %>
+         </div>
           <% if preview_pane %>
-          <div class="<%= pane_col_class %> modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
+          <div class="col-sm-6 visible-md visible-lg modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
           </div>
           <% end %>
         </div>