9 * @class Roo.bootstrap.nav.Bar
10 * @extends Roo.bootstrap.Component
12 * Bootstrap Navbar class
16 * @param {Object} config The config object
20 Roo.bootstrap.nav.Bar = function(config){
21 Roo.bootstrap.nav.Bar.superclass.constructor.call(this, config);
26 * Fire before toggle the menu
27 * @param {Roo.EventObject} e
33 Roo.extend(Roo.bootstrap.nav.Bar, Roo.bootstrap.Component, {
42 getAutoCreate : function(){
45 throw { message : "nav bar is now a abstract base class - use NavSimplebar / NavHeaderbar / NavSidebar etc..."};
49 initEvents :function ()
51 //Roo.log(this.el.select('.navbar-toggle',true));
52 this.el.select('.navbar-toggle',true).on('click', this.onToggle , this);
59 this.maskEl = Roo.DomHelper.append(this.el, mark, true);
61 var size = this.el.getSize();
62 this.maskEl.setSize(size.width, size.height);
63 this.maskEl.enableDisplayMode("block");
72 getChildContainer : function()
74 if (this.el && this.el.select('.collapse').getCount()) {
75 return this.el.select('.collapse',true).first();
93 if(this.fireEvent('beforetoggle', this) === false){
96 var ce = this.el.select('.navbar-collapse',true).first();
98 if (!ce.hasClass('show')) {
108 * Expand the navbar pulldown
113 var ce = this.el.select('.navbar-collapse',true).first();
114 if (ce.hasClass('collapsing')) {
117 ce.dom.style.height = '';
119 ce.addClass('in'); // old...
120 ce.removeClass('collapse');
122 var h = ce.getHeight();
124 ce.removeClass('show');
125 // at this point we should be able to see it..
126 ce.addClass('collapsing');
128 ce.setHeight(0); // resize it ...
129 ce.on('transitionend', function() {
130 //Roo.log('done transition');
131 ce.removeClass('collapsing');
133 ce.removeClass('collapse');
135 ce.dom.style.height = '';
136 }, this, { single: true} );
138 ce.dom.scrollTop = 0;
141 * Collapse the navbar pulldown
143 collapse : function()
145 var ce = this.el.select('.navbar-collapse',true).first();
147 if (ce.hasClass('collapsing') || ce.hasClass('collapse') ) {
148 // it's collapsed or collapsing..
151 ce.removeClass('in'); // old...
152 ce.setHeight(ce.getHeight());
153 ce.removeClass('show');
154 ce.addClass('collapsing');
156 ce.on('transitionend', function() {
157 ce.dom.style.height = '';
158 ce.removeClass('collapsing');
159 ce.addClass('collapse');
160 }, this, { single: true} );