X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..3789b528d8dd8aad4558e38e22d775bcab1cbd36:/examples/tabs/tabs-adv.js diff --git a/examples/tabs/tabs-adv.js b/examples/tabs/tabs-adv.js index 80b4e068..e473fc3a 100644 --- a/examples/tabs/tabs-adv.js +++ b/examples/tabs/tabs-adv.js @@ -1,41 +1,87 @@ -/*! - * Ext JS Library 3.0.0 - * Copyright(c) 2006-2009 Ext JS, LLC - * licensing@extjs.com - * http://www.extjs.com/license - */ -Ext.onReady(function(){ +Ext.Loader.setConfig({enabled: true}); - var tabs = new Ext.TabPanel({ - renderTo:'tabs', - resizeTabs:true, // turn on tab resizing - minTabWidth: 115, - tabWidth:135, - enableTabScroll:true, - width:600, - height:250, - defaults: {autoScroll:true}, - plugins: new Ext.ux.TabCloseMenu() +Ext.Loader.setPath('Ext.ux', '../ux/'); + +Ext.require([ + 'Ext.tab.*', + 'Ext.ux.TabCloseMenu' +]); + +Ext.onReady(function() { + var currentItem; + var tabs = Ext.createWidget('tabpanel', { + renderTo: 'tabs', + resizeTabs: true, + enableTabScroll: true, + width: 600, + height: 250, + defaults: { + autoScroll:true, + bodyPadding: 10 + }, + items: [{ + title: 'Tab 1', + iconCls: 'tabs', + html: 'Tab Body

' + Ext.example.bogusMarkup, + closable: true + }], + plugins: Ext.create('Ext.ux.TabCloseMenu', { + extraItemsTail: [ + '-', + { + text: 'Closable', + checked: true, + hideOnClick: true, + handler: function (item) { + currentItem.tab.setClosable(item.checked); + } + } + ], + listeners: { + aftermenu: function () { + currentItem = null; + }, + beforemenu: function (menu, item) { + var menuitem = menu.child('*[text="Closable"]'); + currentItem = item; + menuitem.setChecked(item.closable); + } + } + }) }); // tab generation code var index = 0; - while(index < 7){ - addTab(); + while(index < 3){ + addTab(index % 2); } - function addTab(){ + + function addTab (closable) { + ++index; tabs.add({ - title: 'New Tab ' + (++index), + title: 'New Tab ' + index, iconCls: 'tabs', - html: 'Tab Body ' + (index) + '

' - + Ext.example.bogusMarkup, - closable:true + html: 'Tab Body ' + index + '

' + Ext.example.bogusMarkup, + closable: !!closable }).show(); } - new Ext.Button({ - text: 'Add Tab', - handler: addTab, + Ext.createWidget('button', { + renderTo: 'addButtonCt', + text: 'Add Closable Tab', + handler: function () { + addTab(true); + }, iconCls:'new-tab' - }).render(document.body, 'tabs'); -}); \ No newline at end of file + }); + + Ext.createWidget('button', { + renderTo: 'addButtonCt', + text: 'Add Unclosable Tab', + handler: function () { + addTab(false); + }, + iconCls:'new-tab', + style: 'margin-left: 8px;' + }); +});