-/*\r
- * Ext JS Library 2.2.1\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
- * \r
- * http://extjs.com/license\r
- */\r
-\r
-Ext.onReady(function(){\r
-\r
- var tabs = new Ext.TabPanel({\r
- renderTo:'tabs',\r
- resizeTabs:true, // turn on tab resizing\r
- minTabWidth: 115,\r
- tabWidth:135,\r
- enableTabScroll:true,\r
- width:600,\r
- height:250,\r
- defaults: {autoScroll:true},\r
- plugins: new Ext.ux.TabCloseMenu()\r
- });\r
-\r
- // tab generation code\r
- var index = 0;\r
- while(index < 7){\r
- addTab();\r
- }\r
- function addTab(){\r
- tabs.add({\r
- title: 'New Tab ' + (++index),\r
- iconCls: 'tabs',\r
- html: 'Tab Body ' + (index) + '<br/><br/>'\r
- + Ext.example.bogusMarkup,\r
- closable:true\r
- }).show();\r
- }\r
-\r
- new Ext.Button({\r
- text: 'Add Tab',\r
- handler: addTab,\r
- iconCls:'new-tab'\r
- }).render(document.body, 'tabs');\r
-});
\ No newline at end of file
+Ext.Loader.setConfig({enabled: true});
+
+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<br/><br/>' + 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 < 3){
+ addTab(index % 2);
+ }
+
+ function addTab (closable) {
+ ++index;
+ tabs.add({
+ title: 'New Tab ' + index,
+ iconCls: 'tabs',
+ html: 'Tab Body ' + index + '<br/><br/>' + Ext.example.bogusMarkup,
+ closable: !!closable
+ }).show();
+ }
+
+ Ext.createWidget('button', {
+ renderTo: 'addButtonCt',
+ text: 'Add Closable Tab',
+ handler: function () {
+ addTab(true);
+ },
+ iconCls:'new-tab'
+ });
+
+ Ext.createWidget('button', {
+ renderTo: 'addButtonCt',
+ text: 'Add Unclosable Tab',
+ handler: function () {
+ addTab(false);
+ },
+ iconCls:'new-tab',
+ style: 'margin-left: 8px;'
+ });
+});