X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..92c2b89db26be16707f4a805d3303ab2531006e1:/docs/source/CardLayout.html?ds=sidebyside
diff --git a/docs/source/CardLayout.html b/docs/source/CardLayout.html
index 5ee808f0..280d1a54 100644
--- a/docs/source/CardLayout.html
+++ b/docs/source/CardLayout.html
@@ -1,5 +1,6 @@
+
The source code
@@ -79,7 +80,7 @@ Ext.layout.CardLayout = Ext.extend(Ext.layout.FitLayout, {
* true might improve performance.
*/
deferredRender : false,
-
+
/**
* @cfg {Boolean} layoutOnCardChange
* True to force a layout of the active item when the active card is changed. Defaults to false.
@@ -91,10 +92,11 @@ Ext.layout.CardLayout = Ext.extend(Ext.layout.FitLayout, {
*/
// private
renderHidden : true,
-
+
+ type: 'card',
+
constructor: function(config){
Ext.layout.CardLayout.superclass.constructor.call(this, config);
- this.forceLayout = (this.deferredRender === false);
},
/**
@@ -102,17 +104,37 @@ Ext.layout.CardLayout = Ext.extend(Ext.layout.FitLayout, {
* @param {String/Number} item The string component id or numeric index of the item to activate
*/
setActiveItem : function(item){
- item = this.container.getComponent(item);
- if(this.activeItem != item){
- if(this.activeItem){
- this.activeItem.hide();
+ var ai = this.activeItem,
+ ct = this.container;
+ item = ct.getComponent(item);
+
+ // Is this a valid, different card?
+ if(item && ai != item){
+
+ // Changing cards, hide the current one
+ if(ai){
+ ai.hide();
+ if (ai.hidden !== true) {
+ return false;
+ }
+ ai.fireEvent('deactivate', ai);
}
+ // Change activeItem reference
this.activeItem = item;
+
+ // The container is about to get a recursive layout, remove any deferLayout reference
+ // because it will trigger a redundant layout.
+ delete item.deferLayout;
+
+ // Show the new component
item.show();
- this.container.doLayout();
- if(this.layoutOnCardChange && item.doLayout){
+
+ this.layout();
+
+ if(item.doLayout){
item.doLayout();
}
+ item.fireEvent('activate', item);
}
},