devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
82 lines (69 loc) • 2.02 kB
JavaScript
var registerComponent = require("../core/component_registrator"),
extend = require("../core/utils/extend").extend,
NavBarItem = require("./nav_bar/item"),
Tabs = require("./tabs");
var NAVBAR_CLASS = "dx-navbar",
ITEM_CLASS = "dx-item-content",
NAVBAR_ITEM_CLASS = "dx-nav-item",
NAVBAR_ITEM_CONTENT_CLASS = "dx-nav-item-content";
/**
* @name dxNavBar
* @publicName dxNavBar
* @inherits dxTabs
* @module ui/nav_bar
* @export default
*/
var NavBar = Tabs.inherit({
_getDefaultOptions: function _getDefaultOptions() {
return extend(this.callBase(), {
/**
* @name dxNavBarOptions.scrollingEnabled
* @publicName scrollingEnabled
* @type boolean
* @default false
* @hidden
*/
scrollingEnabled: false
/**
* @name dxNavBarOptions.showNavButtons
* @publicName showNavButtons
* @hidden
* @inheritdoc
*/
/**
* @name dxNavBarOptions.scrollByContent
* @publicName scrollByContent
* @inheritdoc
*/
});
},
_render: function _render() {
this.callBase();
this.$element().addClass(NAVBAR_CLASS);
},
_postprocessRenderItem: function _postprocessRenderItem(args) {
this.callBase(args);
var $itemElement = args.itemElement,
itemData = args.itemData;
$itemElement.addClass(NAVBAR_ITEM_CLASS);
$itemElement.find("." + ITEM_CLASS).addClass(NAVBAR_ITEM_CONTENT_CLASS);
if (!itemData.icon) {
$itemElement.addClass("dx-navbar-text-item");
}
}
});
/**
* @name dxNavBarItemTemplate
* @publicName dxNavBarItemTemplate
* @inherits dxTabsItemTemplate
* @type object
*/
/**
* @name dxNavBarItemTemplate.badge
* @publicName badge
* @type String
*/
NavBar.ItemClass = NavBarItem;
registerComponent("dxNavBar", NavBar);
module.exports = NavBar;
;