all repos — litestore @ bfaf9633a6259f119b0c70ec12241fc952a4f6eb

A minimalist nosql document store.

app/js/navbar.js

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
  var app = app || {};
  
(function(){
  'use strict';

  app.navlinks = {
    controller: function(){
      app.navlinks.vm.init();
    },
    vm: {
      init: function(){
        this.guide = m.prop([
          {path: "/pages/overview", title: "Overview"},
          {path: "/pages/getting-started", title: "Getting Started"},
          {path: "/pages/usage", title: "Usage"},
          {path: "/pages/api", title: "API"},
          {path: "/pages/credits", title: "Credits"}
        ]);
        this.title = m.prop("Guide");
        this.guideDropdown = new bsNavDropdown();
      }
    },
    view: function(ctrl){
      var vm = app.navlinks.vm;
      return m("ul.nav.navbar-nav", [
        m("li", [m("a", {href: "/info", config: m.route}, "Info")]),
        vm.guideDropdown.view({title: vm.title, links: vm.guide})
      ])
    }
  }
  
  app.navheader = {
    controller: function() {},
    view: function(ctrl) {
      return m(".navbar-header", [
        m("button.navbar-toggle.collapsed[data-toggle='collapse'][data-target='#nav-collapse'][type='button']", [
          m("span.sr-only", "Toggle navigation"),
          m("span.icon-bar"),
          m("span.icon-bar"),
          m("span.icon-bar")
        ]),
        m("a.navbar-brand", {href: "/", config:m.route}, "LiteStore")
      ])
    }
  }
  
  app.searchbox = {
    controller: function() {},
    view: function(ctrl) {
      return m("form.navbar-form.navbar-right[role='search']", [
          m(".input-group", [
            m("input.form-control[type='text'i][placeholder='Search...']"),
            m("span.input-group-btn", 
              m("button.btn.btn-default[type='button']", [m("i.fa.fa-search")]))
          ])
        ]
      )
    }
  }
  
  app.navbar = {
    controller: function() {
      this.navheader = new app.navheader.controller();
      this.navlinks = new app.navlinks.controller();
      this.searchbox = new app.searchbox.controller();
    },
    view: function(ctrl) {
      return m("nav.navbar.navbar-inverse.navbar-fixed-top", [
        m(".container-fluid", [
          app.navheader.view(ctrl.navheader),
          m("#nav-collapse.collapse.navbar-collapse", [
            app.navlinks.view(ctrl.navlinks),
            app.searchbox.view(ctrl.searchbox)
          ])
        ])  
      ])
    }
  }
}());