3235: Fix project dropdown, use it when choosing collections.
authorTom Clegg <tom@curoverse.com>
Mon, 21 Jul 2014 18:17:34 +0000 (14:17 -0400)
committerTom Clegg <tom@curoverse.com>
Mon, 21 Jul 2014 18:26:57 +0000 (14:26 -0400)
apps/workbench/app/controllers/collections_controller.rb
apps/workbench/app/views/application/_choose.html.erb
apps/workbench/app/views/application/_projects_tree_menu.html.erb
apps/workbench/app/views/layouts/application.html.erb

index 5a7a52207bcebdc946eb3289c618d97b2cddd78c..85478190907e7d22851c641586e983dd8a0519b7 100644 (file)
@@ -43,6 +43,9 @@ class CollectionsController < ApplicationController
   end
 
   def choose
+    # Always offer a Projects dropdown when choosing collections.
+    params[:by_project] = true
+
     params[:limit] ||= 40
 
     filter = [['link_class','=','name'],
index 07edb4761e44cdfe911b70db98a9691910248ab1..e8cb807592ac90b9876f12fe83ef7363634422da 100644 (file)
       </div>
 
       <div class="modal-body">
-       <% if params[:by_project] %>
-       <div class="btn-group">
-         <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
-           Projects <span class="caret"></span>
-         </button>
-            <%= 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 %>
-                  <% end %>
-             <% } %>
-            </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>
+        <div class="input-group">
+          <% if params[:by_project] %>
+            <div class="input-group-btn">
+              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+                Projects <span class="caret"></span>
+              </button>
+              <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 %>
+                      <% end %>
+                <% } %>
+                <li class="divider" />
+                <li><span class="navbar-text" id="chooser-breadcrumb">All <%= controller.model_class.class_for_display.pluralize.downcase %></span></li>
+              </ul>
+            </div>
+          <% end %>
+          <input type="text" class="form-control filterable-control" placeholder="Search" data-filterable-target=".modal.arv-choose .selectable-container"/>
         </div>
-        <% end %>
-
         <div class="row" style="height: 20em">
-          <div class="col-sm-6 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="col-sm-6 container 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="col-sm-6 modal-dialog-preview-pane" style="height: 100%; overflow-y: scroll">
           </div>
         </div>
index 5015fa83a52f4c87b95403be56ea2eac51f6a54f..876b0be65c8120e9d64a16b5d2cf03f73017c944 100644 (file)
@@ -1,4 +1,3 @@
-            <ul class="dropdown-menu" role="menu">
               <li role="presentation" class="dropdown-header">
                 <%= top_button.call %>
                 My projects
@@ -23,4 +22,3 @@
                   <% end %>
                 </li>
               <% end %>
-            </ul>
index feaa7dbd3751f5f75d5957ba170d5b626000c118..2418489789b840a925d1387dd63ac1b805eba9d9 100644 (file)
               Projects
               <span class="caret"></span>
             </a>
-            <%= render partial: "projects_tree_menu", locals: {
-                  :project_link_to => Proc.new do |pnode, &block|
-                    link_to(project_path(pnode[:object].uuid), data: {object_uuid: pnode[:object].uuid, name: 'name'}, &block)
-                  end,
-                  :top_button => Proc.new do %>
-                    <% link_to projects_path, method: 'post', class: 'btn btn-xs btn-default pull-right' do %>
-                      <i class="fa fa-plus"></i> New project
-                    <% end %>
-                  <% end %>
-            <% } %>
+            <ul class="dropdown-menu" role="menu">
+             <%= render partial: "projects_tree_menu", locals: {
+                   :project_link_to => Proc.new do |pnode, &block|
+                     link_to(project_path(pnode[:object].uuid), data: {object_uuid: pnode[:object].uuid, name: 'name'}, &block)
+                   end,
+                   :top_button => Proc.new do %>
+                     <% link_to projects_path, method: 'post', class: 'btn btn-xs btn-default pull-right' do %>
+                       <i class="fa fa-plus"></i> New project
+                     <% end %>
+                   <% end %>
+             <% } %>
+           </ul>
           </li>
           <% project_breadcrumbs.each do |p| %>
             <li class="nav-separator">