/**
* @fileOverview
*
* 主菜单控制
*
* @author: techird
* @copyright: Baidu FEX, 2014
*/
KityMinder.registerUI('menu/menu', function(minder) {
var ret = minder.getUI('eve').setup({});
var $menutab = minder.getUI('widget/menutab');
// 主菜单容器
var $panel = $('
')
.attr('id', 'main-menu')
.css('display', 'none')
.appendTo('#content-wrapper');
// 主菜单按钮
var $button = new FUI.Button({
id: 'main-menu-btn',
label: minder.getLang('ui.menu.mainmenutext')
}).appendTo(document.getElementById('panel'));
// 一级菜单选项卡
var $tabs = new FUI.Tabs({
className: 'main-menu-level1'
}).appendTo($panel[0]);
var timer;
function show() {
$panel.css('display', 'block');
clearTimeout(timer);
timer = setTimeout(function() {
$panel.addClass('show');
ret.fire('show');
});
}
function hide() {
ret.fire('hide');
$panel.removeClass('show');
minder.getRenderTarget().focus();
timer = setTimeout(function() {
$panel.css('display', 'none');
});
}
function isVisible() {
return $panel.hasClass('show');
}
function toggle() {
if ($('#content-wrapper').hasClass('fullscreen')) return;
(isVisible() ? hide : show)();
}
function createSub(name, asDefault) {
var $sub = $menutab.generate($tabs, name, asDefault);
var $h2 = $('
')
.text(minder.getLang('ui.menu.' + name + 'header'))
.appendTo($sub);
return $sub;
}
function createSubMenu(name, asDefault) {
var $sub = createSub(name, asDefault);
var $subtabs = new FUI.Tabs().appendTo($sub);
return {
$tabs: $subtabs,
createSub: function(subname, asDefault) {
return $menutab.generate($subtabs, subname, asDefault);
}
};
}
$button.on('click', toggle);
minder.addShortcut('esc', toggle);
// expose
ret.show = show;
ret.hide = hide;
ret.toggle = toggle;
ret.isVisible = isVisible;
ret.createSub = createSub;
ret.createSubMenu = createSubMenu;
ret.$panel = $panel;
ret.$button = $button;
ret.$tabs = $tabs;
return ret;
});