Show "loading" indicator in nav bar while waiting for AJAX requests.
[arvados.git] / apps / workbench / app / views / layouts / application.html.erb
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta charset="utf-8">
5   <title>
6     <% if content_for? :page_title %>
7     <%= yield :page_title %>
8     <% else %>
9     <%= Rails.configuration.site_name %>
10     <% end %>
11   </title>
12   <meta name="viewport" content="width=device-width, initial-scale=1.0">
13   <link rel="icon" href="/favicon.ico" type="image/x-icon">
14   <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
15   <meta name="description" content="">
16   <meta name="author" content="">
17   <%= stylesheet_link_tag    "application", :media => "all" %>
18   <%= javascript_include_tag "application" %>
19   <%= csrf_meta_tags %>
20   <%= yield :head %>
21   <%= javascript_tag do %>
22   <%= yield :js %>
23   <% end %>
24   <style>
25     .container  {
26     padding-top: 60px; /* 60px to make the container go all the way to the
27     bottom of the topbar */
28     }
29     @media (max-width: 979px) { body { padding-top: 0; } }
30     <%= yield :css %>
31   </style>
32 </head>
33 <body>
34
35   <div class="navbar navbar-inverse navbar-fixed-top">
36     <div class="navbar-inner">
37       <a class="brand" style="margin-left: 1px" href="/"><%= Rails.configuration.site_name rescue Rails.application.class.parent_name %></a>
38
39       <ul class="nav pull-right">
40         <li>
41           <div class="loading" style="transform: translate(-20px,20px) scale(0.1,0.1); -ms-transform: translate(-20px,20px) scale(0.1,0.1); -webkit-transform: translate(-20px,20px) scale(0.1,0.1); display: none">
42             <%= render partial: 'loading' %>
43           </div>
44         </li>
45         <% if current_user -%>
46           <li><span class="badge badge-info" style="margin: 10px auto 10px; padding-top: 4px; padding-bottom: 4px"><%= current_user.email %></span></li>
47           <li><a href="<%= logout_path %>">Log out</a></li>
48         <% else -%>
49           <li><a href="<%= $arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
50         <% end -%>
51       </ul>
52
53       <% if current_user.andand.is_active %>
54         <ul class="nav">
55           <li class="dropdown">
56             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
57               Access <b class="caret"></b>
58             </a>
59             <ul class="dropdown-menu">
60               <li><%= link_to 'Keys', authorized_keys_path %></li>
61               <li><%= link_to 'VMs', virtual_machines_path %></li>
62               <li><%= link_to 'Repositories', repositories_path %></li>
63               <li><%= link_to 'API Tokens', api_client_authorizations_path %></li>
64             </ul>
65           </li>
66           <li class="dropdown">
67             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
68               Compute <b class="caret"></b>
69             </a>
70             <ul class="dropdown-menu">
71               <li><%= link_to 'Jobs', jobs_path %></li>
72               <li><%= link_to 'Pipeline instances', pipeline_instances_path %></li>
73               <li><%= link_to 'Pipeline templates', pipeline_templates_path %></li>
74             </ul>
75           </li>
76           <li class="dropdown">
77             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
78               Data <b class="caret"></b>
79             </a>
80             <ul class="dropdown-menu">
81               <li><%= link_to 'Collections', collections_path %></li>
82               <li><%= link_to 'Links', links_path %></li>
83               <li><%= link_to 'Humans', humans_path %></li>
84               <li><%= link_to 'Specimens', specimens_path %></li>
85               <li><%= link_to 'Traits', traits_path %></li>
86             </ul>
87           </li>
88           <li class="dropdown">
89             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
90               System <b class="caret"></b>
91             </a>
92             <ul class="dropdown-menu">
93               <% if current_user.is_admin %>
94               <li><%= link_to 'Users', users_path %></li>
95               <% end %>
96               <li><%= link_to 'Groups', groups_path %></li>
97               <li><%= link_to 'Compute nodes', nodes_path %></li>
98               <li><%= link_to 'Keep disks', keep_disks_path %></li>
99             </ul>
100           </li>
101           <li class="dropdown">
102             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
103               Docs <b class="caret"></b>
104             </a>
105             <ul class="dropdown-menu">
106               <li><%= link_to 'Tutorials and User guide', "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
107               <li><%= link_to 'API Reference', "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
108               <li><%= link_to 'Admin guide', "#{Rails.configuration.arvados_docsite}/admin", target: "_blank" %></li>
109               <li><%= link_to 'Install guide', "#{Rails.configuration.arvados_docsite}/install", target: "_blank" %></li>
110             </ul>
111           </li>
112
113         </ul>
114       <% end %>
115     </div>
116   </div>
117
118   <div class="container">
119
120     <%= content_for?(:breadcrumbs) ? yield(:breadcrumbs) : render(partial: 'breadcrumbs') %>
121
122     <div class="body-content">
123       <%= yield %>
124     </div>
125
126   </div> <!-- /container -->
127
128   <%= piwik_tracking_tag %>
129   <%= javascript_tag do %>
130   <%= yield :footer_js %>
131   <% end %>
132 </body>
133 </html>