tab在ext里很常用,在点开N个tab后,是否能通过右键菜单,关闭全部tab或关闭除此以外的全部tab,当然可以,使用Ext.ux.TabCloseMenu插件就可以轻松实现。
Ext.onReady(function(){
//tab插件
Ext.ux.TabCloseMenu = function(){
var tabs, menu, ctxItem;
this.init = function(tp) {
tabs = tp;
tabs.on('contextmenu', onContextMenu);
}
function onContextMenu(ts, item, e) {
if (!menu) { // create context menu on first right click
menu = new Ext.menu.Menu([{
id: tabs.id + '-close',
text: '关闭标签',
handler : function() {
tabs.remove(ctxItem);
}
},{
id: tabs.id + '-close-others',
text: '关闭其他标签',
handler : function() {
tabs.items.each(function(item){
if(item.closable && item != ctxItem){
tabs.remove(item);
}
});
}
}]);
}
ctxItem = item;
var items = menu.items;
items.get(tabs.id + '-close').setDisabled(!item.closable);
var disableOthers = true;
tabs.items.each(function() {
if (this != item && this.closable) {
disableOthers = false;
return false;
}
});
items.get(tabs.id + '-close-others').setDisabled(disableOthers);
menu.showAt(e.getPoint());
}
};
//layout
var viewport = new Ext.Viewport({
layout:'border',
items:[
new Ext.BoxComponent({
region:'north',
el: 'north',
height:45
}),new Ext.BoxComponent({
region:'south',
el: 'south',
height:25
}),{
region:'west',
id:'west-panel',
split:true,
width: 200,
minSize: 175,
maxSize: 400,
margins:'0 0 0 0',
layout:'accordion',
title:"<?php echo $ui['ui_sys_menu_caption'];?>",
collapsible :true,
layoutConfig:{
animate:true
},
items: [
<?php echo $str;?>
]
},
tab = new Ext.TabPanel({
region:'center',
deferredRender:false,
activeTab:0,
resizeTabs:true, // turn on tab resizing
minTabWidth: 115,
tabWidth:135,
enableTabScroll:true,
items:[{
iconCls:'desk',
title:"title"
}],
plugins: new Ext.ux.TabCloseMenu()
})
]
});
});
分享到:
相关推荐
第四部分 Ext 扩展和Ext插件 第9章 Ext 扩展 254 9.1 利用Ext.extend实现继承 254 9.2 与Ext扩展相关的预备知识 256 9.2.1 定义命名空间 256 9.2.2 重写构造函数 257 9.2.3 继承组件的一些准备 257 9.2.4 常用的辅助...
`plugins`属性引入了`Ext.ux.TabCloseMenu`插件,提供右键菜单功能,允许用户关闭单个、其他或全部标签页。 `panel1`是一个简单的Panel,被添加为`paneltab`的第一个标签页。`bodyStyle`设置为'padding:0px',以...
- `js/TabCloseMenu.js`: Tab关闭菜单扩展。 - `js/b2bcommon.js`: 自定义公共函数和设置。 3. **自定义CSS文件**: - `css/b2b-grid.css`: 定制的网格样式。 4. **其他辅助JavaScript文件**: - `b2b/Ext.ux....
- **关闭Tab页功能**:如`js/TabCloseMenu.js`,提供在Tab面板上关闭当前Tab页的功能。 - **页面共用的JavaScript**:例如`js/b2bcommon.js`,可以存放通用的函数或逻辑。 - **CSS样式文件**:如`css/b2b-grid....
TabCloseMenu.js可能定义了一个自定义的菜单,当用户右键点击选项卡时出现,允许用户关闭当前或多个选项卡,提供更灵活的用户交互体验。 4. **branch12**: 这看起来可能是代码仓库中的一个分支名,可能代表了这个...
而`TabCloseMenu.js`很可能是一个JavaScript文件,实现了选项卡关闭功能的菜单,比如单击右上角的“X”图标或者通过下拉菜单选择关闭。 总结一下,`TabPanel`是UI设计中的重要组成部分,它简化了多视图的管理和用户...
EXTJS4.2官网上的tabpanel的右键关闭当前页,关闭其它,关闭全部有一点小BUG。 修改TabCloseMenu.js文件的一下函数。...压缩文件里面就是修改过后的TabCloseMenu.js文件,只要替换当前4.2的那个文件就可以使用了!