iptv.view.Menu = function(config) {
var menuPanel = new Ext.Panel({
id : 'menuPanel',
region : 'west',
title : '系统菜单',
iconCls : 'icon-treemenu',
width : 180,
layout : 'accordion',
collapsible : true,
split : true
// items:[treeMenu]
});
return menuPanel;
};
var createTreeMenu = function(data) {
Ext.getBody().unmask();
var obj = JSON.parse(data.responseText);
var westFrame = Ext.getCmp('menuPanel');
for (var i = 0; i < obj.length; i++) {
westFrame.add(Ext.create('Ext.tree.Panel', {
title : obj[i].text,
iconCls : obj[i].iconCls,
autoScroll : true,
rootVisible : false,
store : createTreeStore(obj[i].id),
listeners : {
'itemclick' : function(view, record, item, index, e,
opts) {
if (record.data.leaf) {
var mainPagePanel = Ext
.getCmp(basicConstant.MAIN_PAGE_ID);
var tab = mainPagePanel
.getComponent(record.data.id + '_tab');
if (tab) {
mainPagePanel.setActiveTab(tab);
} else {
mainPagePanel.add({
itemId : record.data.id
+ '_tab',
title : record.data.text,
border : false,
closable : true,
layout : 'fit',
iconCls : 'icon-win-double',
items : menuFactory(record.data.id)
}).show();
}
}
}
}
}));
westFrame.doLayout();
}
};
var createTreeStore = function(pid) {
var store = new Ext.data.TreeStore({
proxy : {
type : 'ajax',
url : 'moduleAction!getModule.action',
reader : 'json'
},
nodeParam : 'pid',
autoLoad : true,
root : {
id : pid
}
});
return store;
};