Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / AbstractCard.html
index 7d0757c..c910b38 100644 (file)
@@ -3,8 +3,8 @@
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>The source code</title>
-  <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
-  <script type="text/javascript" src="../prettify/prettify.js"></script>
+  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
   <style type="text/css">
     .highlight { display: block; background-color: #ddd; }
   </style>
 </head>
 <body onload="prettyPrint(); highlight();">
   <pre class="prettyprint lang-js"><span id='Ext-layout-container-AbstractCard'>/**
-</span> * @class Ext.layout.container.AbstractCard
- * @extends Ext.layout.container.Fit
- * &lt;p&gt;This layout manages multiple child Components, each is fit to the Container, where only a single child Component
- * can be visible at any given time.  This layout style is most commonly used for wizards, tab implementations, etc.
- * This class is intended to be extended or created via the layout:'card' {@link Ext.container.Container#layout} config,
- * and should generally not need to be created directly via the new keyword.&lt;/p&gt;
- * &lt;p&gt;The CardLayout's focal method is {@link #setActiveItem}.  Since only one panel is displayed at a time,
- * the only way to move from one Component to the next is by calling setActiveItem, passing the id or index of
- * the next panel to display.  The layout itself does not provide a user interface for handling this navigation,
- * so that functionality must be provided by the developer.&lt;/p&gt;
- * &lt;p&gt;Containers that are configured with a card layout will have a method setActiveItem dynamically added to it.
- * &lt;pre&gt;&lt;code&gt;
-      var p = new Ext.panel.Panel({
-          fullscreen: true,
-          layout: 'card',
-          items: [{
-              html: 'Card 1'
-          },{
-              html: 'Card 2'
-          }]
-      });
-      p.setActiveItem(1);
-   &lt;/code&gt;&lt;/pre&gt;
- * &lt;/p&gt;
+</span> * Abstract base class for {@link Ext.layout.container.Card Card layout}.
+ * @private
  */
-
 Ext.define('Ext.layout.container.AbstractCard', {
 
     /* Begin Definitions */
@@ -59,7 +36,7 @@ Ext.define('Ext.layout.container.AbstractCard', {
 <span id='Ext-layout-container-AbstractCard-cfg-deferredRender'>    /**
 </span>     * @cfg {Boolean} deferredRender
      * True to render each contained item at the time it becomes active, false to render all contained items
-     * as soon as the layout is rendered (defaults to false).  If there is a significant amount of content or
+     * as soon as the layout is rendered.  If there is a significant amount of content or
      * a lot of heavy controls being rendered into panels that are not displayed by default, setting this to
      * true might improve performance.
      */
@@ -67,7 +44,7 @@ Ext.define('Ext.layout.container.AbstractCard', {
 
     beforeLayout: function() {
         var me = this;
-        me.activeItem = me.getActiveItem();
+        me.getActiveItem();
         if (me.activeItem &amp;&amp; me.deferredRender) {
             me.renderItems([me.activeItem], me.getRenderTarget());
             return true;
@@ -77,6 +54,13 @@ Ext.define('Ext.layout.container.AbstractCard', {
         }
     },
 
+    renderChildren: function () {
+        if (!this.deferredRender) {
+            this.getActiveItem();
+            this.callParent();
+        }
+    },
+
     onLayout: function() {
         var me = this,
             activeItem = me.activeItem,
@@ -166,12 +150,12 @@ Ext.define('Ext.layout.container.AbstractCard', {
 
 <span id='Ext-layout-container-AbstractCard-method-getNext'>    /**
 </span>     * Return the active (visible) component in the layout to the next card
-     * @returns {Ext.Component}
+     * @returns {Ext.Component} The next component or false.
      */
-    getNext: function(wrap) {
-        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This 
+    getNext: function() {
+        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This
         //should come back in 4.1
-        
+        var wrap = arguments[0];
         var items = this.getLayoutItems(),
             index = Ext.Array.indexOf(items, this.activeItem);
         return items[index + 1] || (wrap ? items[0] : false);
@@ -179,22 +163,23 @@ Ext.define('Ext.layout.container.AbstractCard', {
 
 <span id='Ext-layout-container-AbstractCard-method-next'>    /**
 </span>     * Sets the active (visible) component in the layout to the next card
+     * @return {Ext.Component} the activated component or false when nothing activated.
      */
-    next: function(anim, wrap) {
-        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This 
+    next: function() {
+        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This
         //should come back in 4.1
-        
+        var anim = arguments[0], wrap = arguments[1];
         return this.setActiveItem(this.getNext(wrap), anim);
     },
 
 <span id='Ext-layout-container-AbstractCard-method-getPrev'>    /**
 </span>     * Return the active (visible) component in the layout to the previous card
-     * @returns {Ext.Component}
+     * @returns {Ext.Component} The previous component or false.
      */
-    getPrev: function(wrap) {
-        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This 
+    getPrev: function() {
+        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This
         //should come back in 4.1
-        
+        var wrap = arguments[0];
         var items = this.getLayoutItems(),
             index = Ext.Array.indexOf(items, this.activeItem);
         return items[index - 1] || (wrap ? items[items.length - 1] : false);
@@ -202,11 +187,12 @@ Ext.define('Ext.layout.container.AbstractCard', {
 
 <span id='Ext-layout-container-AbstractCard-method-prev'>    /**
 </span>     * Sets the active (visible) component in the layout to the previous card
+     * @return {Ext.Component} the activated component or false when nothing activated.
      */
-    prev: function(anim, wrap) {
-        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This 
+    prev: function() {
+        //NOTE: Removed the JSDoc for this function's arguments because it is not actually supported in 4.0. This
         //should come back in 4.1
-        
+        var anim = arguments[0], wrap = arguments[1];
         return this.setActiveItem(this.getPrev(wrap), anim);
     }
 });