+++ /dev/null
-// Very simple plugin for adding a close context menu to tabs\r
-Ext.ux.TabCloseMenu = function(){\r
- var tabs, menu, ctxItem;\r
- this.init = function(tp){\r
- tabs = tp;\r
- tabs.on('contextmenu', onContextMenu);\r
- }\r
-\r
- function onContextMenu(ts, item, e){\r
- if(!menu){ // create context menu on first right click\r
- menu = new Ext.menu.Menu([{\r
- id: tabs.id + '-close',\r
- text: 'Close Tab',\r
- handler : function(){\r
- tabs.remove(ctxItem);\r
- }\r
- },{\r
- id: tabs.id + '-close-others',\r
- text: 'Close Other Tabs',\r
- handler : function(){\r
- tabs.items.each(function(item){\r
- if(item.closable && item != ctxItem){\r
- tabs.remove(item);\r
- }\r
- });\r
- }\r
- }]);\r
- }\r
- ctxItem = item;\r
- var items = menu.items;\r
- items.get(tabs.id + '-close').setDisabled(!item.closable);\r
- var disableOthers = true;\r
- tabs.items.each(function(){\r
- if(this != item && this.closable){\r
- disableOthers = false;\r
- return false;\r
- }\r
- });\r
- items.get(tabs.id + '-close-others').setDisabled(disableOthers);\r
- e.stopEvent();\r
- menu.showAt(e.getPoint());\r
- }\r
-};\r