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 @@ + + + + The source code + + + + +
/*!
+ * 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