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 };
26
27 Roo.extend(Roo.bootstrap.NavGroup, Roo.bootstrap.Component,  {
28     
29     align: '',
30     inverse: false,
31     form: false,
32     type: 'nav',
33     navId : '',
34     
35     getAutoCreate : function()
36     {
37         var cfg = Roo.apply({}, Roo.bootstrap.NavGroup.superclass.getAutoCreate.call(this));
38         
39         cfg = {
40             tag : 'ul',
41             cls: 'nav' 
42         }
43         
44         if (['tabs','pills'].indexOf(this.type)!==-1) {
45             cfg.cls += ' nav-' + this.type
46         } else {
47             if (this.type!=='nav') {
48                 Roo.log('nav type must be nav/tabs/pills')
49             }
50             cfg.cls += ' navbar-nav'
51         }
52         
53         if (this.parent().sidebar === true) {
54             cfg = {
55                 tag: 'ul',
56                 cls: 'dashboard-menu'
57             }
58             
59             return cfg;
60         }
61         
62         if (this.form === true) {
63             cfg = {
64                 tag: 'form',
65                 cls: 'navbar-form'
66             }
67             
68             if (this.align === 'right') {
69                 cfg.cls += ' navbar-right';
70             } else {
71                 cfg.cls += ' navbar-left';
72             }
73         }
74         
75         if (this.align === 'right') {
76             cfg.cls += ' navbar-right';
77         }
78         
79         if (this.inverse) {
80             cfg.cls += ' navbar-inverse';
81             
82         }
83         
84         
85         return cfg;
86     }
87    
88 });
89
90  
91
92