Upgrade to ExtJS 3.1.1 - Released 02/08/2010
[extjs.git] / docs / source / TreeLoader.html
index 968d3d6..0b98afb 100644 (file)
@@ -122,15 +122,15 @@ Ext.extend(Ext.tree.TreeLoader, Ext.util.Observable, {
 \r
     <div id="cfg-Ext.tree.TreeLoader-paramOrder"></div>/**\r
      * @cfg {Array/String} paramOrder Defaults to <tt>undefined</tt>. Only used when using directFn.\r
-     * A list of params to be executed\r
-     * server side.  Specify the params in the order in which they must be executed on the server-side\r
+     * Specifies the params in the order in which they must be passed to the server-side Direct method\r
      * as either (1) an Array of String values, or (2) a String of params delimited by either whitespace,\r
      * comma, or pipe. For example,\r
      * any of the following would be acceptable:<pre><code>\r
+nodeParameter: 'node',\r
 paramOrder: ['param1','param2','param3']\r
-paramOrder: 'param1 param2 param3'\r
-paramOrder: 'param1,param2,param3'\r
-paramOrder: 'param1|param2|param'\r
+paramOrder: 'node param1 param2 param3'\r
+paramOrder: 'param1,node,param2,param3'\r
+paramOrder: 'param1|param2|param|node'\r
      </code></pre>\r
      */\r
     paramOrder: undefined,\r
@@ -141,7 +141,7 @@ paramOrder: 'param1|param2|param'
      * <tt>{@link #paramOrder}</tt> nullifies this configuration.\r
      */\r
     paramsAsHash: false,\r
-    \r
+\r
     <div id="cfg-Ext.tree.TreeLoader-nodeParameter"></div>/**\r
      * @cfg {String} nodeParameter The name of the parameter sent to the server which contains\r
      * the identifier of the node. Defaults to <tt>'node'</tt>.\r
@@ -159,7 +159,7 @@ paramOrder: 'param1|param2|param'
      * This is called automatically when a node is expanded, but may be used to reload\r
      * a node (or append new children if the {@link #clearOnLoad} option is false.)\r
      * @param {Ext.tree.TreeNode} node\r
-     * @param {Function} callback Function to call after the node has been loaded. The \r
+     * @param {Function} callback Function to call after the node has been loaded. The\r
      * function is passed the TreeNode which was requested to be loaded.\r
      * @param (Object) scope The cope (<code>this</code> reference) in which the callback is executed.\r
      * defaults to the loaded TreeNode.\r
@@ -196,23 +196,29 @@ paramOrder: 'param1|param2|param'
     },\r
 \r
     getParams: function(node){\r
-        var buf = [], bp = this.baseParams;\r
+        var bp = Ext.apply({}, this.baseParams),\r
+            np = this.nodeParameter,\r
+            po = this.paramOrder;\r
+\r
+        np && (bp[ np ] = node.id);\r
+\r
         if(this.directFn){\r
-            buf.push(node.id);\r
-            if(bp){\r
-                if(this.paramOrder){\r
-                    for(var i = 0, len = this.paramOrder.length; i < len; i++){\r
-                        buf.push(bp[this.paramOrder[i]]);\r
-                    }\r
-                }else if(this.paramsAsHash){\r
-                    buf.push(bp);\r
+            var buf = [node.id];\r
+            if(po){\r
+                // reset 'buf' if the nodeParameter was included in paramOrder\r
+                if(np && po.indexOf(np) > -1){\r
+                    buf = [];\r
                 }\r
+\r
+                for(var i = 0, len = po.length; i < len; i++){\r
+                    buf.push(bp[ po[i] ]);\r
+                }\r
+            }else if(this.paramsAsHash){\r
+                buf = [bp];\r
             }\r
             return buf;\r
         }else{\r
-            var o = Ext.apply({}, bp);\r
-            o[this.nodeParameter] = node.id;\r
-            return o;\r
+            return bp;\r
         }\r
     },\r
 \r
@@ -345,8 +351,9 @@ new Ext.tree.TreePanel({
         this.fireEvent("loadexception", this, a.node, response);\r
         this.runCallback(a.callback, a.scope || a.node, [a.node]);\r
     },\r
-    \r
+\r
     destroy : function(){\r
+        this.abort();\r
         this.purgeListeners();\r
     }\r
 });</pre>    \r