`
hackbomb
  • 浏览: 217164 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext.ux.TabCloseMenu插件的使用

    博客分类:
  • Ext
阅读更多

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+JS高级程序设计.rar

    第四部分 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 常用的辅助...

    TabPanel布局

    `plugins`属性引入了`Ext.ux.TabCloseMenu`插件,提供右键菜单功能,允许用户关闭单个、其他或全部标签页。 `panel1`是一个简单的Panel,被添加为`paneltab`的第一个标签页。`bodyStyle`设置为'padding:0px',以...

    ExtJs部署及使用方法

    - `js/TabCloseMenu.js`: Tab关闭菜单扩展。 - `js/b2bcommon.js`: 自定义公共函数和设置。 3. **自定义CSS文件**: - `css/b2b-grid.css`: 定制的网格样式。 4. **其他辅助JavaScript文件**: - `b2b/Ext.ux....

    extjs的的初步开发步骤

    - **关闭Tab页功能**:如`js/TabCloseMenu.js`,提供在Tab面板上关闭当前Tab页的功能。 - **页面共用的JavaScript**:例如`js/b2bcommon.js`,可以存放通用的函数或逻辑。 - **CSS样式文件**:如`css/b2b-grid....

    extjs demo程序

    TabCloseMenu.js可能定义了一个自定义的菜单,当用户右键点击选项卡时出现,允许用户关闭当前或多个选项卡,提供更灵活的用户交互体验。 4. **branch12**: 这看起来可能是代码仓库中的一个分支名,可能代表了这个...

    TabPanel

    而`TabCloseMenu.js`很可能是一个JavaScript文件,实现了选项卡关闭功能的菜单,比如单击右上角的“X”图标或者通过下拉菜单选择关闭。 总结一下,`TabPanel`是UI设计中的重要组成部分,它简化了多视图的管理和用户...

    解决EXTJS4.2的tabpanel右键关闭的BUG

    EXTJS4.2官网上的tabpanel的右键关闭当前页,关闭其它,关闭全部有一点小BUG。 修改TabCloseMenu.js文件的一下函数。...压缩文件里面就是修改过后的TabCloseMenu.js文件,只要替换当前4.2的那个文件就可以使用了!

Global site tag (gtag.js) - Google Analytics