3193: minor ui update
[arvados.git] / apps / workbench / app / views / application / _content.html.erb
index 4499392b63d99548e1a38ee6ffac6528a694efbc..1609a66b09065506a5d6ff4e9f3589262a06126c 100644 (file)
@@ -1,36 +1,51 @@
+<% content_for :content_top do %>
+  <% if @object and not @object.is_a?(Group) and @object.class.goes_in_projects? and @object.owner_uuid == current_user.uuid and not @name_link %>
+    <div class="pull-right" style="width: 40%">
+      <div class="alert alert-warning alert-dismissable">
+        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
+        <strong>Hey.</strong> This <%= @object.class_for_display.downcase %> belongs to your account, but it's not in any of your projects. If you want it to be easy to find in the future, you should move it to a project.<br />
+        <%= button_to(choose_projects_path(
+                   title: 'Move to...',
+                   editable: true,
+                   action_name: 'Move',
+                   action_href: url_for(action: :update),
+                   action_method: 'patch',
+                   action_data: {selection_param: @object.resource_param_name+'[owner_uuid]', success: 'page-refresh'}.to_json),
+                  { class: "btn btn-primary btn-sm", remote: true, method: 'get' }) do %>
+          <i class="fa fa-fw fa-folder"></i> Choose a project...
+        <% end %>
+      </div>
+    </div>
+  <% end %>
+<% end %>
+
 <% content_for :tab_panes do %>
 
 <% comparable = controller.respond_to? :compare %>
 
 <ul class="nav nav-tabs">
   <% pane_list.each_with_index do |pane, i| %>
-    <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab"> <%= pane.gsub('_', ' ') %></a></li>
+    <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab" data-pane-content-url="<%= url_for(tab_pane: pane) %>"> <%= pane.gsub('_', ' ') %></a></li>
   <% end %>
 </ul>
 <div class="tab-content">
 <% pane_list.each_with_index do |pane, i| %>
   <div id="<%= pane %>"
-       class="tab-pane fade <%= 'in active' if i==0 %> arv-log-event-listener"
-       data-object-uuid="<%= @object.uuid if @object %>">
-
-<% content_for :js do %>
-  $(document).on('<%= 'ready' if i != 0 %> arv-log-event', function() {
-  $.ajax('<%= url_for @object %>?tab_pane=<%= pane %>', {dataType: 'html', type: 'GET'}).
-  done(function(data, status, jqxhr) {
-    $('#<%= pane %> > div > div').html(data);
-  }).
-  fail(function(jqxhr, status, error) {
-  });
-  });
+       class="tab-pane fade <%= 'in active loaded' if i==0 %> arv-log-event-listener"
+<% if controller.action_name == "index" %>
+       data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
+<% else %>
+       data-object-uuid="<%= @object.uuid %>"
 <% end %>
+  >
 
-    <div class="smart-scroll" style="margin-top:0.5em;">
+    <div id="<%= pane %>-scroll" style="margin-top:0.5em;">
       <div class="pane-content">
         <% if i == 0 %>
           <%= render(partial: 'show_' + pane.downcase,
                      locals: { comparable: comparable, objects: @objects }) %>
-          <% else %>
-            <%= image_tag 'ajax-loader.gif' %>
+        <% else %>
+          <div class="spinner spinner-32px spinner-h-center"></div>
         <% end %>
       </div>
     </div>
@@ -39,8 +54,3 @@
 </div>
 
 <% end %>
-
-<% content_for :js do %>
-    $(window).on('load', smart_scroll_fixup);
-    $(document).on('shown.bs.tab', 'ul.nav-tabs > li > a', smart_scroll_fixup);
-<% end %>