Menubar and left nav redesign in progress.
[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 %> / <%= Rails.configuration.site_name %>
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     <%= yield :css %>
26     body > div.container-fluid {
27     padding-top: 70px; /* 70px to make the container go all the way to the bottom of the navbar */
28     }
29     @media (max-width: 979px) { body { padding-top: 0; } }
30
31     .navbar .nav li.nav-separator > span.glyphicon.glyphicon-arrow-right {
32     padding-top: 1.25em;
33     }
34
35     /* Setting the height needs to be fixed with javascript. */
36     .dropdown-menu {
37     padding-right: 20px;
38     max-height: 440px;
39     width: 400px;
40     overflow-y: auto;
41     }
42     
43     .arvados-nav-active {
44     background: rgb(66, 139, 202);
45     }
46     .arvados-nav-active a {
47     color: white;
48     }
49   </style>
50 </head>
51 <body>
52
53   <div class="navbar navbar-default navbar-fixed-top">
54     <div class="container-fluid">
55       <ul class="nav navbar-nav navbar-left">
56         <li><a class="navbar-brand" href="/"><%= Rails.configuration.site_name rescue Rails.application.class.parent_name %></a></li>
57         <% if current_user %>
58         <li class="nav-separator"><span class="glyphicon glyphicon-arrow-right"></span></li>
59         <% if content_for?(:breadcrumbs) %>
60           <%= yield(:breadcrumbs) %>
61         <% else %>
62           <li>
63             <%= link_to(
64                         controller.model_class.to_s.pluralize.underscore.gsub('_', ' '),
65                         url_for({controller: params[:controller]})) %>
66           </li>
67           <% if params[:action] != 'index' %>
68             <li class="nav-separator">
69               <span class="glyphicon glyphicon-arrow-right"></span>
70             </li>
71             <li>
72 <%= link_to controller.breadcrumb_page_name, request.fullpath %>
73             </li>
74           <% end %>
75         <% end %>
76         <% end %>
77       </ul>
78   
79       <ul class="nav navbar-nav navbar-right">
80
81         <% if current_user %>
82         <li>
83           <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">
84             <%= render partial: 'loading' %>
85           </div>
86         </li>
87
88         <li>
89           <form class="navbar-form" role="search">
90             <div class="input-group">
91               <input type="text" class="form-control" placeholder="search">
92               <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span>
93             </div>
94         </li>
95
96         <li class="dropdown">
97           <a href="#" class="dropdown-toggle" data-toggle="dropdown">
98             <span class="glyphicon glyphicon-envelope"></span>
99             <span class="badge"><%= @notification_count %></span>
100             <span class="caret"></span>
101           </a>
102           <ul class="dropdown-menu" role="menu">
103             <% if @notifications.length > 0 %>
104               <% @notifications.each do |n| %>
105                 <li style="padding: 10px"><%= n.call(self) %></li>
106                 <li class="divider"></li>
107               <% end %>
108             <% else %>
109               <li style="padding: 10px">No notifications.</li>
110             <% end %>
111           </ul>
112         </li>        
113
114         <li class="dropdown">
115           <a href="#" class="dropdown-toggle" data-toggle="dropdown">
116             <span class="glyphicon glyphicon-user"></span><span class="caret"></span>
117           </a>
118           <ul class="dropdown-menu" role="menu">
119             <li role="presentation" class="dropdown-header"><%= current_user.email %></li>
120             <li role="presentation" class="divider"></li>
121             <li role="presentation"><a href="/authorized_keys" role="menuitem">Manage ssh keys</a></li>
122             <li role="presentation"><a href="/api_client_authorizations" role="menuitem">Manage API tokens</a></li>
123             <li role="presentation" class="divider"></li>
124             <li role="presentation"><a href="<%= logout_path %>" role="menuitem">Log out</a></li>
125           </ul>
126         </li>
127         <% else -%>
128           <li><a href="<%= $arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
129         <% end -%>
130       </ul>
131     </div>
132   </div>
133
134   <div style="padding: 70px 15px 0px">
135     <div class="row">
136       <div class="col-sm-3">
137         <% if current_user %>
138         <div class="well">
139         <ul class="arvados-nav">
140           <li><a href="/">Dashboard</a></li>
141           <li>Data
142             <ul>
143               <li class="arvados-nav-active"><a href="/humans">Humans</a></li>
144               <li><a href="/traits">Traits</a></li>
145               <li><a href="/specimens">Specimens</a></li>
146               <li><a href="/collections">Files</a></li>
147             </ul>
148           </li>
149           <li>Compute
150             <ul>
151               <li><a href="/pipeline_templates">Pipelines</a></li>
152               <li><a href="/repositories">Script repositories</a></li>
153               <li><a href="/virtual_machines">Virtual machines</a></li>
154             </ul>
155           </li>
156           <li>History
157             <ul>
158               <li><a href="/pipeline_instances">Pipeline history</a></li>
159               <li><a href="/jobs">Job history</a></li>
160             </ul>
161           </li>
162           <li>Help
163             <ul>
164               <li><%= link_to 'Tutorials and User guide', "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
165               <li><%= link_to 'API Reference', "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
166               <li><%= link_to 'SDK Reference', "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
167               <li><%= link_to 'Admin guide', "#{Rails.configuration.arvados_docsite}/admin", target: "_blank" %></li>
168             </ul>
169           </li>
170           <% if current_user.andand.is_admin %>
171           <li>Admin
172             <ul>
173               <li><a href="/users">Users</a></li>
174               <li><a href="/groups">Groups</a></li>
175               <li><a href="/compute_nodes">Compute nodes</a></li>
176               <li><a href="/keep_disks">Keep disks</a></li>
177             </ul>
178           </li>
179           <% end %>
180         </ul>
181         </div>
182         <% end %>
183       </div>
184       <div class="col-sm-9">
185         <%= yield %>
186       </div>
187     </div>
188   </div>
189
190   <%= piwik_tracking_tag %>
191   <%= javascript_tag do %>
192   <%= yield :footer_js %>
193   <% end %>
194 </body>
195 </html>