blob: ac9d5d9eafcf828650cc2e56d6ad5a8e56b60c18 [file] [log] [blame]
Rushabh Mehta4dc2f432012-02-21 10:30:43 +05301wn.provide('erpnext.navbar');
Rushabh Mehta865c00a2012-01-24 14:33:21 +05302
3/*
4<li class="dropdown">\
5 <a class="dropdown-toggle" href="#" onclick="return false;"></a>\
6 <ul class="dropdown-menu" id="toolbar-user">\
7 </ul>\
8</li>\
9*/
10
Rushabh Mehta4dc2f432012-02-21 10:30:43 +053011erpnext.navbar.navbar = Class.extend({
Rushabh Mehta865c00a2012-01-24 14:33:21 +053012 init: function() {
13 this.make();
Rushabh Mehta7018b192012-02-02 13:42:28 +053014 $('.brand').html(wn.boot.website_settings.brand_html);
Rushabh Mehta865c00a2012-01-24 14:33:21 +053015 this.make_items();
Rushabh Mehta4dc2f432012-02-21 10:30:43 +053016 $('.navbar').dropdown();
Rushabh Mehta865c00a2012-01-24 14:33:21 +053017 },
18 make: function() {
Rushabh Mehta4dc2f432012-02-21 10:30:43 +053019 $('header').append('<div class="navbar navbar-fixed-top">\
20 <div class="navbar-inner">\
Rushabh Mehta865c00a2012-01-24 14:33:21 +053021 <div class="container">\
Rushabh Mehta7018b192012-02-02 13:42:28 +053022 <a class="brand">[brand]</a>\
Rushabh Mehta865c00a2012-01-24 14:33:21 +053023 <ul class="nav">\
24 </ul>\
25 <img src="lib/images/ui/spinner.gif" id="spinner"/>\
26 <ul class="nav secondary-nav">\
27 <li><a href="#!Login Page">Login</a></li>\
28 </ul>\
29 </div>\
30 </div>\
31 </div>');
Rushabh Mehta7018b192012-02-02 13:42:28 +053032 $('.brand').attr('href', '#!' + (wn.boot.website_settings.home_page || 'Login Page'))
Rushabh Mehta865c00a2012-01-24 14:33:21 +053033 },
34 make_items: function() {
Rushabh Mehtaaa848be2012-02-17 12:06:33 +053035 var items = wn.boot.website_menus;
36
37 // parent labels
Rushabh Mehta865c00a2012-01-24 14:33:21 +053038 for(var i=0;i<items.length;i++) {
39 var item = items[i];
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053040 if(!item.parent_label && item.parentfield=='top_bar_items') {
Rushabh Mehtaf35992f2012-02-07 10:39:17 +053041 item.route = item.url || item.custom_page;
Rushabh Mehtaaa848be2012-02-17 12:06:33 +053042 $('header .nav:first').append(repl('<li data-label="%(label)s">\
43 <a href="#!%(route)s">%(label)s</a></li>', item))
44 }
45 }
46
47 // child labels
48 for(var i=0;i<items.length;i++) {
49 var item = items[i];
50 if(item.parent_label && item.parentfield=='top_bar_items') {
51 // check if parent label has class "dropdown"
52 $parent_li = $(repl('header li[data-label="%(parent_label)s"]', item));
53 if(!$parent_li.hasClass('dropdown')) {
54 $parent_li.addClass('dropdown');
Rushabh Mehta4dc2f432012-02-21 10:30:43 +053055 $parent_li.find('a:first').addClass('dropdown-toggle')
56 .attr('data-toggle', 'dropdown')
57 .append('<b class="caret"></b>');
Rushabh Mehtaaa848be2012-02-17 12:06:33 +053058 $parent_li.append('<ul class="dropdown-menu"></ul>');
59 }
60 item.route = item.url || item.custom_page;
61 $parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\
62 <a href="#!%(route)s">%(label)s</a></li>', item))
Rushabh Mehta865c00a2012-01-24 14:33:21 +053063 }
64 }
65 }
66});
67
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053068
69// footer
70erpnext.Footer = Class.extend({
71 init: function() {
72 $('footer').html(repl('<div class="web-footer">\
73 <div class="web-footer-menu"><ul></ul></div>\
74 <div class="web-footer-address">%(address)s</div>\
75 <div class="web-footer-copyright">&copy; %(copyright)s</div>\
76 <div class="web-footer-powered">Powered by \
77 <a href="https://erpnext.com">erpnext.com</a></div>\
Rushabh Mehta7018b192012-02-02 13:42:28 +053078 </div>', wn.boot.website_settings));
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053079 this.make_items();
80 },
81 make_items: function() {
Rushabh Mehta7018b192012-02-02 13:42:28 +053082 var items = wn.boot.website_menus
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053083 for(var i=0;i<items.length;i++) {
84 var item = items[i];
85 if(!item.parent_label && item.parentfield=='footer_items') {
Rushabh Mehtaf35992f2012-02-07 10:39:17 +053086 item.route = item.url || item.custom_page;
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053087 $('.web-footer-menu ul').append(repl('<li><a href="#!%(route)s" \
88 data-label="%(label)s">%(label)s</a></li>', item))
89 }
90 }
91 }
92});
93
Rushabh Mehtaafaac602012-02-14 11:44:13 +053094$(document).bind('startup', function() {
95 erpnext.footer = new erpnext.Footer();
Rushabh Mehta4dc2f432012-02-21 10:30:43 +053096 erpnext.navbar.navbar = new erpnext.navbar.navbar();
Rushabh Mehtaafaac602012-02-14 11:44:13 +053097})