ExtJs4-Ext.tab.Panel添右键关闭

  1. /** 
  2.  * 程序主入口 
  3.  */  
  4. Ext.onReady(function() {  
  5.   
  6.     Ext.require(['Ext.panel.Panel''Ext.tab.Panel''Ext.tree.Panel',  
  7.             'Ext.data.TreeStore''Ext.container.Viewport',  
  8.             'Ext.ux.TabCloseMenu']);  
  9.   
  10.     /** 
  11.      * 上,panel.Panel 
  12.      */  
  13.     this.topPanel = Ext.create('Ext.panel.Panel', {  
  14.                 region : 'north',  
  15.                 height : 55,  
  16.                 contentEl : 'header'  
  17.             });  
  18.     /** 
  19.      * 左,panel.Panel 
  20.      */  
  21.     this.leftPanel = Ext.create('Ext.panel.Panel', {  
  22.                 region : 'west',  
  23.                 title : '导航栏',  
  24.                 width : 230,  
  25.                 layout : 'accordion',  
  26.                 collapsible : true  
  27.             });  
  28.     /** 
  29.      * 右,tab.Panel 
  30.      */  
  31.     this.rightPanel = Ext.create('Ext.tab.Panel', {  
  32.                 region : 'center',  
  33.                 layout : 'fit',  
  34.                 minTabWidth : 100,  
  35.                 plugins : Ext.create('Ext.ux.TabCloseMenu', {  
  36.                             closeTabText : '关闭当前页',  
  37.                             closeOthersTabsText : '关闭其他页',  
  38.                             closeAllTabsText : '关闭所有页'  
  39.                         }),  
  40.                 items : [{  
  41.                             title : '首页'  
  42.                         }]  
  43.             });  
  44.   
  45.     /** 
  46.      * 下,panel.Panel 
  47.      */  
  48.     this.bottomPanle = Ext.create('Ext.panel.Panel', {  
  49.         region : 'south',  
  50.         height : 26,  
  51.         bbar : ['->', {  
  52.             xtype : 'combo',  
  53.             editable : false,  
  54.             labelAlign : 'right',  
  55.             emptyText : '更换皮肤',  
  56.             store : [['id_1''name_1'], ['id_2''name_2'], ['id_3''name_3']],  
  57.             queryMode : 'local',  
  58.             listeners : {  
  59.                 'select' : function(combo, record, index) {  
  60.                     if (combo.value != '') {  
  61.                         alert(combo.value);  
  62.                     }  
  63.                 }  
  64.             }  
  65.         }]  
  66.     });  
  67.   
  68.     /** 
  69.      * 组建树 
  70.      */  
  71.     var buildTree = function(json) {  
  72.         return Ext.create('Ext.tree.Panel', {  
  73.                     rootVisible : false,  
  74.                     border : false,  
  75.                     store : Ext.create('Ext.data.TreeStore', {  
  76.                                 root : {  
  77.                                     expanded : true,  
  78.                                     children : json.children  
  79.                                 }  
  80.                             }),  
  81.                     listeners : {  
  82.                         'itemclick' : function(view, record, item, index, e) {  
  83.                             var id = record.get('id');  
  84.                             var text = record.get('text');  
  85.                             var leaf = record.get('leaf');  
  86.                             if (leaf) {  
  87.                                 alert('id-' + id + ',text-' + text + ',leaf-'  
  88.                                         + leaf);  
  89.                             }  
  90.                         },  
  91.                         scope : this  
  92.                     }  
  93.                 });  
  94.     };  
  95.     /** 
  96.      * 加载菜单树 
  97.      */  
  98.     Ext.Ajax.request({  
  99.                 url : 'data/Tree.txt',  
  100.                 success : function(response) {  
  101.                     var json = Ext.JSON.decode(response.responseText)  
  102.                     Ext.each(json.data, function(el) {  
  103.                                 var panel = Ext.create('Ext.panel.Panel', {  
  104.                                             id : el.id,  
  105.                                             title : el.text,  
  106.                                             layout : 'fit'  
  107.                                         });  
  108.                                 panel.add(buildTree(el));  
  109.                                 leftPanel.add(panel);  
  110.                             });  
  111.                 },  
  112.                 failure : function(request) {  
  113.                     Ext.MessageBox.show({  
  114.                                 title : '操作提示',  
  115.                                 msg : "连接服务器失败",  
  116.                                 buttons : Ext.MessageBox.OK,  
  117.                                 icon : Ext.MessageBox.ERROR  
  118.                             });  
  119.                 },  
  120.                 method : 'post'  
  121.             });  
  122.     /** 
  123.      * Viewport 
  124.      */  
  125.     Ext.create('Ext.container.Viewport', {  
  126.                 layout : 'border',  
  127.                 renderTo : Ext.getBody(),  
  128.                 items : [this.topPanel, this.leftPanel, this.rightPanel,  
  129.                         this.bottomPanle]  
  130.             });  
  131. });  


后台返回数据 

{success:true,data:[{id:'father_1',text:'功能列表',leaf:false,children:[{id:'UserView',text:'用户管理',leaf:true}]}]}

原文链接:http://renxin-327666062-qq-com.iteye.com/blog/1297682

你可能感兴趣的:(ExtJs,tabs,右键添加关闭)