Roo.bootstrap.nav.Headerbar = function(config){
Roo.bootstrap.nav.Headerbar.superclass.constructor.call(this, config);
};
Roo.extend(Roo.bootstrap.nav.Headerbar, Roo.bootstrap.nav.Simplebar, {
position: '',
brand: '',
brand_href: false,
srButton : true,
autohide : false,
desktopCenter : false,
getAutoCreate : function(){
var cfg = {
tag: this.nav || 'nav',
cls: 'navbar navbar-expand-md',
role: 'navigation',
cn: []
};
var cn = cfg.cn;
if (this.desktopCenter) {
cn.push({cls : 'container', cn : []});
cn = cn[0].cn;
}
if(this.srButton){
var btn = {
tag: 'button',
type: 'button',
cls: 'navbar-toggle navbar-toggler',
'data-toggle': 'collapse',
cn: [
{
tag: 'span',
cls: 'sr-only',
html: 'Toggle navigation'
},
{
tag: 'span',
cls: 'icon-bar navbar-toggler-icon'
},
{
tag: 'span',
cls: 'icon-bar'
},
{
tag: 'span',
cls: 'icon-bar'
}
]
};
cn.push( Roo.bootstrap.version == 4 ? btn : {
tag: 'div',
cls: 'navbar-header',
cn: [
btn
]
});
}
cn.push({
tag: 'div',
cls: Roo.bootstrap.version == 4 ? 'nav flex-row roo-navbar-collapse collapse navbar-collapse' : 'collapse navbar-collapse roo-navbar-collapse',
cn : []
});
cfg.cls += this.inverse ? ' navbar-inverse navbar-dark bg-dark' : ' navbar-default';
if (['light','white'].indexOf(this.weight) > -1) {
cfg.cls += ['light','white'].indexOf(this.weight) > -1 ? ' navbar-light' : ' navbar-dark';
}
cfg.cls += ' bg-' + this.weight;
if (['fixed-top','fixed-bottom','static-top'].indexOf(this.position)>-1) {
cfg.cls += ' navbar-' + this.position + ' ' + this.position ;
cfg.tag = this.tag || (this.position == 'fixed-bottom' ? 'footer' : 'header');
}
if (this.brand !== '') {
var cp = Roo.bootstrap.version == 4 ? cn : cn[0].cn;
cp.unshift({ tag: 'a',
href: this.brand_href ? this.brand_href : '#',
cls: 'navbar-brand',
cn: [
this.brand
]
});
}
if(this.main){
cfg.cls += ' main-nav';
}
return cfg;
},
getHeaderChildContainer : function()
{
if (this.srButton && this.el.select('.navbar-header').getCount()) {
return this.el.select('.navbar-header',true).first();
}
return this.getChildContainer();
},
getChildContainer : function()
{
return this.el.select('.roo-navbar-collapse',true).first();
},
initEvents : function()
{
Roo.bootstrap.nav.Headerbar.superclass.initEvents.call(this);
if (this.autohide) {
var prevScroll = 0;
var ft = this.el;
Roo.get(document).on('scroll',function(e) {
var ns = Roo.get(document).getScroll().top;
var os = prevScroll;
prevScroll = ns;
if(ns > os){
ft.removeClass('slideDown');
ft.addClass('slideUp');
return;
}
ft.removeClass('slideUp');
ft.addClass('slideDown');
},this);
}
}
});