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