Ext.define('saas.view.main.Navigation', {
extend: 'Ext.panel.Panel',
xtype: 'main-navigation',
ui: 'nav',
reference: 'navigationTreeList',
width: 180,
navCollapsed: false,
cls: 'x-navpanel',
menuPadding: 0,
initComponent: function () {
var me = this;
var view = new Ext.DataView({
store: Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ['text', 'iconCls'],
proxy: {
type: 'ajax',
url: 'resources/json/navigation.json',
reader: {
type: 'json'
}
}
}),
tpl: new Ext.XTemplate('
'),
trackOver: true,
overItemCls: 'x-navitem-over',
selectedItemCls: 'x-navitem-selected',
singleSelect: true,
itemSelector: '.x-navitem',
listeners: {
itemmouseenter: function(navView, record, navItem, index, e, eOpts) {
window.clearTimeout(me.Timer);
me.Timer = setTimeout(function() {
me.showNavMenu(navView, record, navItem, index, e, eOpts);
}, 80);
},
itemmouseleave: function(view, record, item, index, e, eOpts) {
window.clearTimeout(me.Timer);
me.hideNavMenu(view, record, item, index, e, eOpts);
},
itemClick: function(navView, record, navItem, index, e, eOpts) {
window.clearTimeout(me.Timer);
me.Timer = setTimeout(function() {
me.showNavMenu(navView, record, navItem, index, e, eOpts);
}, 20);
},
scope: me
}
});
Ext.apply(me, {
items: [view]
});
me.view = view;
me.callParent();
},
// clickNavMenu: function (view, record, item, index, e, eOpts) {
// var me = this;
// this.showNavMenu(view, record, item, index, e, eOpts);
// },
showNavMenu: function (navView, record, navItem, index, e, eOpts) {
var me = this,
recData = record.data,
d = recData.items || [],
menuItems = JSON.parse( JSON.stringify( d ) ),
itemBox = navItem.getBoundingClientRect(),
pos = [itemBox.left + itemBox.width, itemBox.top],
id = recData.id,
menuId = 'navMenu-' + id,
menu = Ext.getCmp(menuId);
//获取b2b权限
var enableB2B = me.ownerCt.ownerCt.getViewModel().get('enableB2B');
if(enableB2B==null||enableB2B==0||enableB2B=='0'){
Ext.each(menuItems,function(item,index){
if(item.items.length>0){
var l = item.items.length;
for(var i = 0;i