X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..6a7e4474cba9d8be4b2ec445e10f1691f7277c50:/docs/source/tabs.html?ds=sidebyside diff --git a/docs/source/tabs.html b/docs/source/tabs.html new file mode 100644 index 00000000..894f9987 --- /dev/null +++ b/docs/source/tabs.html @@ -0,0 +1,89 @@ + +
+ +/*! + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. + * licensing@extjs.com + * http://www.extjs.com/license + */ +Ext.ns('Ext.ux'); + +Ext.ux.Tabs = Ext.extend(Ext.util.Observable, { + // Configuration options + activeTab: 0, + + // Our class constructor + constructor : function(element, config) { + Ext.apply(this, config); + Ext.ux.Tabs.superclass.constructor.call(this); + + this.addEvents( + 'beforetabchange', + 'tabchange' + ); + + this.el = Ext.get(element); + this.init(); + }, + + init : function() { + var me = this; + + this.el.addClass('ux-tabs-container'); + + this.tabStrip = this.el.child('ul'); + this.tabStrip.addClass('ux-tabs-strip'); + + this.tabStrip.on('click', this.onStripClick, this, {delegate: 'a'}); + + this.tabs = this.tabStrip.select('> li'); + this.cards = this.el.select('> div'); + + this.cardsContainer = this.el.createChild({ + cls: 'ux-tabs-cards' + }); + this.cardsContainer.setWidth(this.el.getWidth()); + + this.cards.addClass('ux-tabs-card'); + this.cards.appendTo(this.cardsContainer); + + this.el.createChild({ + cls: 'ux-tabs-clearfix' + }); + + this.setActiveTab(this.activeTab || 0); + }, + + onStripClick : function(ev, t) { + if(t && t.href && t.href.indexOf('#')) { + ev.preventDefault(); + this.setActiveTab(t.href.split('#')[1]); + } + }, + + setActiveTab : function(tab) { + var card; + if(Ext.isString(tab)) { + card = Ext.get(tab); + tab = this.tabStrip.child('a[href=#' + tab + ']').parent(); + } + else if (Ext.isNumber(tab)) { + tab = this.tabs.item(tab); + card = Ext.get(tab.first().dom.href.split('#')[1]); + } + + if(tab && card && this.fireEvent('beforetabchange', tab, card) !== false) { + card.radioClass('ux-tabs-card-active'); + tab.radioClass('ux-tabs-tab-active'); + this.fireEvent('tabchange', tab, card); + } + } +});+ + \ No newline at end of file