Rushabh Mehta | 4dc2f43 | 2012-02-21 10:30:43 +0530 | [diff] [blame] | 1 | wn.provide('erpnext.navbar'); |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 2 | |
| 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 Mehta | 4dc2f43 | 2012-02-21 10:30:43 +0530 | [diff] [blame] | 11 | erpnext.navbar.navbar = Class.extend({ |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 12 | init: function() { |
| 13 | this.make(); |
Rushabh Mehta | 7018b19 | 2012-02-02 13:42:28 +0530 | [diff] [blame] | 14 | $('.brand').html(wn.boot.website_settings.brand_html); |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 15 | this.make_items(); |
Rushabh Mehta | 6e156c7 | 2012-02-21 11:19:24 +0530 | [diff] [blame] | 16 | $('.dropdown-toggle').dropdown(); |
Rushabh Mehta | d025133 | 2012-02-21 17:26:50 +0530 | [diff] [blame] | 17 | }, |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 18 | make: function() { |
Rushabh Mehta | 4dc2f43 | 2012-02-21 10:30:43 +0530 | [diff] [blame] | 19 | $('header').append('<div class="navbar navbar-fixed-top">\ |
| 20 | <div class="navbar-inner">\ |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 21 | <div class="container">\ |
Rushabh Mehta | 7018b19 | 2012-02-02 13:42:28 +0530 | [diff] [blame] | 22 | <a class="brand">[brand]</a>\ |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 23 | <ul class="nav">\ |
| 24 | </ul>\ |
| 25 | <img src="lib/images/ui/spinner.gif" id="spinner"/>\ |
Rushabh Mehta | 6e156c7 | 2012-02-21 11:19:24 +0530 | [diff] [blame] | 26 | <ul class="nav pull-right">\ |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 27 | <li><a href="#!Login Page">Login</a></li>\ |
| 28 | </ul>\ |
| 29 | </div>\ |
| 30 | </div>\ |
| 31 | </div>'); |
Rushabh Mehta | 7018b19 | 2012-02-02 13:42:28 +0530 | [diff] [blame] | 32 | $('.brand').attr('href', '#!' + (wn.boot.website_settings.home_page || 'Login Page')) |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 33 | }, |
| 34 | make_items: function() { |
Rushabh Mehta | aa848be | 2012-02-17 12:06:33 +0530 | [diff] [blame] | 35 | var items = wn.boot.website_menus; |
| 36 | |
| 37 | // parent labels |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 38 | for(var i=0;i<items.length;i++) { |
| 39 | var item = items[i]; |
Rushabh Mehta | ab1148c | 2012-01-31 18:01:16 +0530 | [diff] [blame] | 40 | if(!item.parent_label && item.parentfield=='top_bar_items') { |
Rushabh Mehta | f35992f | 2012-02-07 10:39:17 +0530 | [diff] [blame] | 41 | item.route = item.url || item.custom_page; |
Rushabh Mehta | aa848be | 2012-02-17 12:06:33 +0530 | [diff] [blame] | 42 | $('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 Mehta | 4dc2f43 | 2012-02-21 10:30:43 +0530 | [diff] [blame] | 55 | $parent_li.find('a:first').addClass('dropdown-toggle') |
| 56 | .attr('data-toggle', 'dropdown') |
Rushabh Mehta | d025133 | 2012-02-21 17:26:50 +0530 | [diff] [blame] | 57 | .attr('href', '') |
| 58 | .append('<b class="caret"></b>') |
| 59 | .click(function() { |
| 60 | return false; |
| 61 | }); |
Rushabh Mehta | aa848be | 2012-02-17 12:06:33 +0530 | [diff] [blame] | 62 | $parent_li.append('<ul class="dropdown-menu"></ul>'); |
| 63 | } |
| 64 | item.route = item.url || item.custom_page; |
| 65 | $parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\ |
| 66 | <a href="#!%(route)s">%(label)s</a></li>', item)) |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 67 | } |
| 68 | } |
| 69 | } |
| 70 | }); |
| 71 | |
Rushabh Mehta | ab1148c | 2012-01-31 18:01:16 +0530 | [diff] [blame] | 72 | |
| 73 | // footer |
| 74 | erpnext.Footer = Class.extend({ |
| 75 | init: function() { |
| 76 | $('footer').html(repl('<div class="web-footer">\ |
| 77 | <div class="web-footer-menu"><ul></ul></div>\ |
| 78 | <div class="web-footer-address">%(address)s</div>\ |
| 79 | <div class="web-footer-copyright">© %(copyright)s</div>\ |
| 80 | <div class="web-footer-powered">Powered by \ |
| 81 | <a href="https://erpnext.com">erpnext.com</a></div>\ |
Rushabh Mehta | 7018b19 | 2012-02-02 13:42:28 +0530 | [diff] [blame] | 82 | </div>', wn.boot.website_settings)); |
Rushabh Mehta | ab1148c | 2012-01-31 18:01:16 +0530 | [diff] [blame] | 83 | this.make_items(); |
| 84 | }, |
| 85 | make_items: function() { |
Rushabh Mehta | 7018b19 | 2012-02-02 13:42:28 +0530 | [diff] [blame] | 86 | var items = wn.boot.website_menus |
Rushabh Mehta | ab1148c | 2012-01-31 18:01:16 +0530 | [diff] [blame] | 87 | for(var i=0;i<items.length;i++) { |
| 88 | var item = items[i]; |
| 89 | if(!item.parent_label && item.parentfield=='footer_items') { |
Rushabh Mehta | f35992f | 2012-02-07 10:39:17 +0530 | [diff] [blame] | 90 | item.route = item.url || item.custom_page; |
Rushabh Mehta | ab1148c | 2012-01-31 18:01:16 +0530 | [diff] [blame] | 91 | $('.web-footer-menu ul').append(repl('<li><a href="#!%(route)s" \ |
| 92 | data-label="%(label)s">%(label)s</a></li>', item)) |
| 93 | } |
| 94 | } |
| 95 | } |
| 96 | }); |
| 97 | |
Rushabh Mehta | afaac60 | 2012-02-14 11:44:13 +0530 | [diff] [blame] | 98 | $(document).bind('startup', function() { |
| 99 | erpnext.footer = new erpnext.Footer(); |
Rushabh Mehta | 4dc2f43 | 2012-02-21 10:30:43 +0530 | [diff] [blame] | 100 | erpnext.navbar.navbar = new erpnext.navbar.navbar(); |
Rushabh Mehta | afaac60 | 2012-02-14 11:44:13 +0530 | [diff] [blame] | 101 | }) |