4831: "Backstage" browser client.
[arvados.git] / apps / backstage / app / backstage-layout.js
1 module.exports = BackstageLayoutView;
2
3 var m = require('mithril');
4
5 function BackstageLayoutView() {
6     return [
7         m('.navbar.navbar-default', {role: 'navigation'}, [
8             m('.container-fluid', [
9                 m('.navbar-header', [
10                     m('button.navbar-toggle.collapsed',
11                       {'data-toggle': 'collapse', 'data-target': '#navbar'},
12                       [0,0,0].map(function() {
13                           return m('span.icon-bar');
14                       })),
15                     m("a.navbar-brand[href='/']", {config:m.route},
16                       'Arvados::Backstage'),
17                 ]),
18                 m('#navbar.navbar-collapse.collapse', [
19                     m('ul.nav.navbar-nav', [
20                         m('li', [
21                             m("a[href='/']", {config:m.route},
22                               'Dashboard'),
23                         ]),
24                     ]),
25                     m('p.navbar-text', [siteBreadcrumb()]),
26                 ]),
27             ]),
28         ]),
29         m('.container-fluid', this.views.content()),
30     ];
31     function siteBreadcrumb() {
32         var txt;
33         if (txt = m.route.param('connection'))
34             return txt;
35         if ((txt = m.route.param('uuid')) && txt.substr(5,1)=='-')
36             return txt.substr(0,5);
37         return '';
38     }
39 }