X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8eaad00b025167a7505ba11ad6a05b52a43c2399..33606c82797185fa65751f5724304f02605e0e05:/apps/workbench/app/views/layouts/application.html.erb diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb index 9da171e400..cdc47c1716 100644 --- a/apps/workbench/app/views/layouts/application.html.erb +++ b/apps/workbench/app/views/layouts/application.html.erb @@ -1,5 +1,5 @@ - + @@ -14,11 +14,17 @@ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> <meta name="description" content=""> <meta name="author" content=""> + <% if current_user and $arvados_api_client.discovery[:websocketUrl] %> + <meta name="arv-websocket-url" content="<%=$arvados_api_client.discovery[:websocketUrl]%>?api_token=<%=Thread.current[:arvados_api_token]%>"> + <% end %> + <meta name="robots" content="NOINDEX, NOFOLLOW"> <%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> <%= yield :head %> <%= javascript_tag do %> + angular.module('Arvados').value('arvadosApiToken', '<%=Thread.current[:arvados_api_token]%>'); + angular.module('Arvados').value('arvadosDiscoveryUri', '<%= Rails.configuration.arvados_v1_base.sub '/arvados/v1', '/discovery/v1/apis/arvados/v1/rest' %>'); <%= yield :js %> <% end %> <style> @@ -28,212 +34,21 @@ height: 100%; } - body > div.container-fluid { - padding-top: 70px; /* 70px to make the container go all the way to the bottom of the navbar */ - } - - body > div.container-fluid > div.col-sm-9.col-sm-offset-3 { - overflow: auto; - } - @media (max-width: 979px) { body { padding-top: 0; } } - .navbar .nav li.nav-separator > span.glyphicon.glyphicon-arrow-right { - padding-top: 1.25em; - } - - @media (min-width: 768px) { - .left-nav { - position: fixed; - } - } @media (max-width: 767px) { .breadcrumbs { display: none; } } </style> + <link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css" rel="stylesheet"> + <%= piwik_tracking_tag if (PiwikAnalytics.configuration.url != 'localhost' rescue false) %> </head> <body> - - <div class="navbar navbar-default navbar-fixed-top"> - <div class="container-fluid"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#workbench-navbar.navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="/"><%= Rails.configuration.site_name rescue Rails.application.class.parent_name %></a> - </div> - - <div class="collapse navbar-collapse" id="workbench-navbar"> - <ul class="nav navbar-nav navbar-left breadcrumbs"> - <% if current_user %> - <% if content_for?(:breadcrumbs) %> - <%= yield(:breadcrumbs) %> - <% else %> - <li class="nav-separator"><span class="glyphicon glyphicon-arrow-right"></span></li> - <li> - <%= link_to( - controller.model_class.to_s.pluralize.underscore.gsub('_', ' '), - url_for({controller: params[:controller]})) %> - </li> - <% if params[:action] != 'index' %> - <li class="nav-separator"> - <span class="glyphicon glyphicon-arrow-right"></span> - </li> - <li> - <%= link_to_if_arvados_object @object %> - </li> - <li style="padding: 14px 0 14px"> - <%= form_tag do |f| %> - <%= render :partial => "selection_checkbox", :locals => {:object => @object} %> - <% end %> - </li> - <% end %> - <% end %> - <% end %> - </ul> - - <ul class="nav navbar-nav navbar-right"> - - <li> - <a><i class="rotating loading glyphicon glyphicon-refresh"></i></a> - </li> - - <% if current_user %> - <!-- XXX placeholder for this when search is implemented - <li> - <form class="navbar-form" role="search"> - <div class="input-group" style="width: 220px"> - <input type="text" class="form-control" placeholder="search"> - <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span> - </div> - </form> - </li> - --> - - <li class="dropdown notification-menu"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="collections-menu"> - <span class="glyphicon glyphicon-paperclip"></span> - <span class="badge" id="persistent-selection-count"></span> - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu" id="persistent-selection-list"> - <%= form_tag '/actions' do %> - <div id="selection-form-content"></div> - <% end %> - </ul> - </li> - - <% if current_user.is_active %> - <li class="dropdown notification-menu"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu"> - <span class="glyphicon glyphicon-envelope"></span> - <span class="badge badge-alert notification-count"><%= @notification_count %></span> - <span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <% if (@notifications || []).length > 0 %> - <% @notifications.each_with_index do |n, i| %> - <% if i > 0 %><li class="divider"></li><% end %> - <li class="notification"><%= n.call(self) %></li> - <% end %> - <% else %> - <li class="notification empty">No notifications.</li> - <% end %> - </ul> - </li> - <% end %> - - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="user-menu"> - <span class="glyphicon glyphicon-user"></span><span class="caret"></span> - </a> - <ul class="dropdown-menu" role="menu"> - <li role="presentation" class="dropdown-header"><%= current_user.email %></li> - <% if current_user.is_active %> - <li role="presentation" class="divider"></li> - <li role="presentation"><a href="/authorized_keys" role="menuitem">Manage ssh keys</a></li> - <li role="presentation"><a href="/api_client_authorizations" role="menuitem">Manage API tokens</a></li> - <li role="presentation" class="divider"></li> - <% end %> - <li role="presentation"><a href="<%= logout_path %>" role="menuitem">Log out</a></li> - </ul> - </li> - <% else -%> - <li><a href="<%= $arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li> - <% end -%> - </ul> - </div><!-- /.navbar-collapse --> - </div><!-- /.container-fluid --> - </div> - - <div class="container-fluid"> - <div class="col-sm-9 col-sm-offset-3"> - <div id="content" class="body-content"> - <%= yield %> - </div> - </div> - <div class="col-sm-3 left-nav"> - <div class="arvados-nav-container"> - <% if current_user.andand.is_active %> - <div class="well"> - <ul class="arvados-nav"> - <li class="<%= 'arvados-nav-active' if params[:action] == 'home' %>"> - <a href="/">Dashboard</a> - </li> - - <% [['Data', [['collections', 'Collections (data files)'], - ['humans'], - ['traits'], - ['specimens'], - ['links']]], - ['Activity', [['pipeline_instances', 'Recent pipeline instances'], - ['jobs', 'Recent jobs']]], - ['Compute', [['pipeline_templates'], - ['repositories', 'Code repositories'], - ['virtual_machines']]], - ['System', [['users'], - ['groups'], - ['nodes', 'Compute nodes'], - ['keep_disks']]]].each do |j| %> - <li><%= j[0] %> - <ul> - <% j[1].each do |k| %> - <% unless k[0] == 'users' and !current_user.andand.is_admin %> - <li class="<%= 'arvados-nav-active' if (params[:controller] == k[0] && params[:action] != 'home') %>"> - <a href="/<%= k[0] %>"> - <%= if k[1] then k[1] else k[0].capitalize.gsub('_', ' ') end %> - </a> - </li> - <% end %> - <% end %> - </ul> - </li> - <% end %> - - <li>Help - <ul> - <li><%= link_to 'Tutorials and User guide', "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li> - <li><%= link_to 'API Reference', "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li> - <li><%= link_to 'SDK Reference', "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li> - </ul> - </li> - </ul> - </div> - <% end %> - </div> - </div> - </div> - - <%= yield :footer_html %> - <%= piwik_tracking_tag %> - <%= javascript_tag do %> - <%= yield :footer_js %> - <% end %> - +<%= render template: 'layouts/body' %> +<%= javascript_tag do %> +<%= yield :footer_js %> +<% end %> </body> </html>