Roo/bootstrap/NavGroup.js
[roojs1] / Roo / bootstrap / NavGroup.js
1 /*
2  * - LGPL
3  *
4  * nav group
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.NavGroup
10  * @extends Roo.bootstrap.Component
11  * Bootstrap NavGroup class
12  * @cfg {String} align left | right
13  * @cfg {Boolean} inverse false | true
14  * @cfg {String} type (nav|pills|tab) default nav
15  * @cfg {String} navId - reference Id for navbar.
16
17  * 
18  * @constructor
19  * Create a new nav group
20  * @param {Object} config The config object
21  */
22
23 Roo.bootstrap.NavGroup = function(config){
24     Roo.bootstrap.NavGroup.superclass.constructor.call(this, config);
25     Roo.bootstrap.NavGroup.register(this);
26 };
27
28 Roo.extend(Roo.bootstrap.NavGroup, Roo.bootstrap.Component,  {
29     
30     align: '',
31     inverse: false,
32     form: false,
33     type: 'nav',
34     navId : '',
35     
36     getAutoCreate : function()
37     {
38         var cfg = Roo.apply({}, Roo.bootstrap.NavGroup.superclass.getAutoCreate.call(this));
39         
40         cfg = {
41             tag : 'ul',
42             cls: 'nav' 
43         }
44         
45         if (['tabs','pills'].indexOf(this.type)!==-1) {
46             cfg.cls += ' nav-' + this.type
47         } else {
48             if (this.type!=='nav') {
49                 Roo.log('nav type must be nav/tabs/pills')
50             }
51             cfg.cls += ' navbar-nav'
52         }
53         
54         if (this.parent().sidebar === true) {
55             cfg = {
56                 tag: 'ul',
57                 cls: 'dashboard-menu'
58             }
59             
60             return cfg;
61         }
62         
63         if (this.form === true) {
64             cfg = {
65                 tag: 'form',
66                 cls: 'navbar-form'
67             }
68             
69             if (this.align === 'right') {
70                 cfg.cls += ' navbar-right';
71             } else {
72                 cfg.cls += ' navbar-left';
73             }
74         }
75         
76         if (this.align === 'right') {
77             cfg.cls += ' navbar-right';
78         }
79         
80         if (this.inverse) {
81             cfg.cls += ' navbar-inverse';
82             
83         }
84         
85         
86         return cfg;
87     }
88     
89 });
90
91  
92 Roo.apply(Roo.bootstrap.NavGroup, {
93     
94     groups: {},
95     
96     register : function(navbar)
97     {
98         bars[navbar.navId] = navbar;
99         
100     }
101     
102     
103     
104 });
105
106