Upgrade to ExtJS 3.1.1 - Released 02/08/2010
[extjs.git] / docs / output / Ext.Template.html
index bd5769d..97ae6d1 100644 (file)
@@ -1,21 +1,82 @@
-<div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.Template-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.Template-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.Template-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="bookmark" href="../docs/?class=Ext.Template"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><h1>Class <a href="source/Template.html#cls-Ext.Template">Ext.Template</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Template.js,&#13;Template-more.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Template.html#cls-Ext.Template">Template</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.XTemplate.html" ext:cls="Ext.XTemplate">XTemplate</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description">Represents an HTML fragment template. Templates can be precompiled for greater performance.
-For a list of available format functions, see <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">Ext.util.Format</a>.<br />
-Usage:
-<pre><code><b>var</b> t = <b>new</b> Ext.Template(
+<div xmlns:ext="http://www.extjs.com" class="body-wrap"><h1>Class <a href="source/Template.html#cls-Ext.Template">Ext.Template</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Template.js,&#13;Template-more.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Template.html#cls-Ext.Template">Template</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.XTemplate.html" ext:cls="Ext.XTemplate">XTemplate</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description"><p>Represents an HTML fragment template. Templates may be <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">precompiled</a>
+for greater performance.</p>
+<p>For example usage <a href="output/Ext.Template.html#Ext.Template-Template" ext:member="Template" ext:cls="Ext.Template">see the constructor</a>.</p></div><div class="hr"></div><a id="Ext.Template-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-compiled"></a><b><a href="source/Template.html#cfg-Ext.Template-compiled">compiled</a></b> : Boolean<div class="mdesc">Specify <tt>true</tt> to compile the template
+immediately (see <code><a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a></code>).
+Defaults to <tt>false</tt>.</div></td><td class="msource">Template</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-disableFormats"></a><b><a href="source/Template-more.html#cfg-Ext.Template-disableFormats">disableFormats</a></b> : Boolean<div class="mdesc"><div class="short">Specify true to disable format&#13;
+functions in the template. If the template does not contain&#13;
+format functions, settin...</div><div class="long">Specify <tt>true</tt> to disable format\r
+functions in the template. If the template does not contain\r
+<a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">format functions</a>, setting <code>disableFormats</code>\r
+to true will reduce <code><a href="output/Ext.Template.html#Ext.Template-apply" ext:member="apply" ext:cls="Ext.Template">apply</a></code> time. Defaults to <tt>false</tt>.\r
+<pre><code><b>var</b> t = <b>new</b> Ext.Template(\r
+    <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,\r
+        <em>'&lt;span class=<em>"{cls}"</em>&gt;{name} {value}&lt;/span&gt;'</em>,\r
+    <em>'&lt;/div&gt;'</em>,\r
+    {\r
+        compiled: true,      <i>// <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a> immediately\r</i>
+        disableFormats: true <i>// reduce <code><a href="output/Ext.Template.html#Ext.Template-apply" ext:member="apply" ext:cls="Ext.Template">apply</a></i></code> time since no formatting\r
+    }    \r
+);\r
+</code></pre>\r
+For a list of available format functions, see <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">Ext.util.Format</a>.</div></div></td><td class="msource">Template</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-re"></a><b><a href="source/Template.html#cfg-Ext.Template-re">re</a></b> : RegExp<div class="mdesc"><div class="short">The regular expression used to match template variables.
+Defaults to:re : /\{([\w-]+)\}/g                            ...</div><div class="long">The regular expression used to match template variables.
+Defaults to:<pre><code>re : /\{([\w-]+)\}/g                                     <i>// <b>for</b> Ext Core</i>
+re : /\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g      <i>// <b>for</b> Ext JS</i></code></pre></div></div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-disableFormats"></a><b><a href="source/Template-more.html#prop-Ext.Template-disableFormats">disableFormats</a></b> : Boolean<div class="mdesc">See <code><a href="output/Ext.Template.html#Ext.Template-disableFormats" ext:member="disableFormats" ext:cls="Ext.Template">disableFormats</a></code>.</div></td><td class="msource">Template</td></tr><tr class="property-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-re"></a><b><a href="source/Template.html#prop-Ext.Template-re">re</a></b> : RegExp<div class="mdesc">See <code><a href="output/Ext.Template.html#Ext.Template-re" ext:member="re" ext:cls="Ext.Template">re</a></code>.</div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-Template"></a><b><a href="source/Template.html#cls-Ext.Template">Template</a></b>(&nbsp;<code>Mixed&nbsp;config</code>&nbsp;)
+    <div class="mdesc"><div class="short">An instance of this class may be created by passing to the constructor either
+a single argument, or multiple argument...</div><div class="long">An instance of this class may be created by passing to the constructor either
+a single argument, or multiple arguments:
+<div class="mdetail-params"><ul>
+<li><b>single argument</b> : String/Array
+<div class="sub-desc">
+The single argument may be either a String or an Array:<ul>
+<li><tt>String</tt> : </li><pre><code><b>var</b> t = <b>new</b> Ext.Template(<em>"&lt;div>Hello {0}.&lt;/div>"</em>);
+t.<a href="output/Ext.Template.html#Ext.Template-append" ext:member="append" ext:cls="Ext.Template">append</a>(<em>'some-element'</em>, [<em>'foo'</em>]);</code></pre>
+<li><tt>Array</tt> : </li>
+An Array will be combined with <code>join(<em>''</em>)</code>.
+<pre><code><b>var</b> t = <b>new</b> Ext.Template([
     <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
         <em>'&lt;span class=<em>"{cls}"</em>&gt;{name:trim} {value:ellipsis(10)}&lt;/span&gt;'</em>,
-    <em>'&lt;/div&gt;'</em>
-);
-t.append(<em>'some-element'</em>, {id: <em>'myid'</em>, cls: <em>'myclass'</em>, name: <em>'foo'</em>, value: <em>'bar'</em>});</code></pre></div><div class="hr"></div><a id="Ext.Template-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-disableFormats"></a><b><a href="source/Template-more.html#prop-Ext.Template-disableFormats">disableFormats</a></b> : Boolean<div class="mdesc"><tt>true</tt> to disable format functions (defaults to <tt>false</tt>)</div></td><td class="msource">Template</td></tr><tr class="property-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-re"></a><b><a href="source/Template.html#prop-Ext.Template-re">re</a></b> : RegExp<div class="mdesc">The regular expression used to match template variables</div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-Template"></a><b><a href="source/Template.html#cls-Ext.Template">Template</a></b>(&nbsp;<code>String/Array&nbsp;html</code>&nbsp;)
-    <div class="mdesc"><div class="short"></div><div class="long"><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>html</code> : String/Array<div class="sub-desc">The HTML fragment or an array of fragments to join("") or multiple arguments to join("")</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-Template.from"></a><b><a href="source/Template.html#method-Ext.Template-Template.from">Template.from</a></b>(&nbsp;<code>String/HTMLElement&nbsp;el</code>,&nbsp;<code>Object&nbsp;config</code>&nbsp;)
+    <em>'&lt;/div&gt;'</em>,
+]);
+t.<a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a>();
+t.<a href="output/Ext.Template.html#Ext.Template-append" ext:member="append" ext:cls="Ext.Template">append</a>(<em>'some-element'</em>, {id: <em>'myid'</em>, cls: <em>'myclass'</em>, name: <em>'foo'</em>, value: <em>'bar'</em>});</code></pre>
+</ul></div></li>
+<li><b>multiple arguments</b> : String, Object, Array, ...
+<div class="sub-desc">
+Multiple arguments will be combined with <code>join(<em>''</em>)</code>.
+<pre><code><b>var</b> t = <b>new</b> Ext.Template(
+    <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
+        <em>'&lt;span class=<em>"{cls}"</em>&gt;{name} {value}&lt;/span&gt;'</em>,
+    <em>'&lt;/div&gt;'</em>,
+    <i>// a configuration object:</i>
+    {
+        compiled: true,      <i>// <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a> immediately</i>
+        disableFormats: true <i>// See Notes below.</i>
+    } 
+);</code></pre>
+<p><b>Notes</b>:</p>
+<div class="mdetail-params"><ul>
+<li>Formatting and <code>disableFormats</code> are not applicable for Ext Core.</li>
+<li>For a list of available format functions, see <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">Ext.util.Format</a>.</li>
+<li><code>disableFormats</code> reduces <code><a href="output/Ext.Template.html#Ext.Template-apply" ext:member="apply" ext:cls="Ext.Template">apply</a></code> time
+when no formatting is required.</li>
+</ul></div>
+</div></li>
+</ul></div><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>config</code> : Mixed<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-Template.from"></a><b><a href="source/Template.html#method-Ext.Template-Template.from">Template.from</a></b>(&nbsp;<code>String/HTMLElement&nbsp;el</code>,&nbsp;<code>Object&nbsp;config</code>&nbsp;)
     :
                                         Ext.Template<div class="mdesc"><div class="short">&lt;static&gt;&nbsp;Creates a template from the passed element's value (display:none textarea, preferred) or innerHTML.</div><div class="long">&lt;static&gt;&nbsp;Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : String/HTMLElement<div class="sub-desc">A DOM element or its id</div></li><li><code>config</code> : Object<div class="sub-desc">A configuration object</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Template</code><div class="sub-desc">The created template</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-append"></a><b><a href="source/Template.html#method-Ext.Template-append">append</a></b>(&nbsp;<code>Mixed&nbsp;el</code>,&nbsp;<code>Object/Array&nbsp;values</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;returnElement</code>]</span>&nbsp;)
     :
-                                        HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and appends the new node(s) to el.</div><div class="long">Applies the supplied values to the template and appends the new node(s) to el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-apply"></a><b><a href="source/Template.html#method-Ext.Template-apply">apply</a></b>(&nbsp;<code>Object/Array&nbsp;values</code>&nbsp;)
+                                        HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and appends
+the new node(s) to the specified el.
+For example usage see th...</div><div class="long">Applies the supplied <code>values</code> to the template and appends
+the new node(s) to the specified <code>el</code>.
+<p>For example usage <a href="output/Ext.Template.html#Ext.Template-Template" ext:member="Template" ext:cls="Ext.Template">see the constructor</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if the params are numeric (i.e. <code>{0}</code>)
+or an object (i.e. <code>{foo: <em>'bar'</em>}</code>).</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return an Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-apply"></a><b><a href="source/Template.html#method-Ext.Template-apply">apply</a></b>(&nbsp;<code>Object/Array&nbsp;values</code>&nbsp;)
     :
                                         String<div class="mdesc"><div class="short">Alias for applyTemplate
 Returns an HTML fragment of this template with the specified values applied.</div><div class="long">Alias for <a href="output/Ext.Template.html#Ext.Template-applyTemplate" ext:member="applyTemplate" ext:cls="Ext.Template">applyTemplate</a>
-Returns an HTML fragment of this template with the specified values applied.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">The HTML fragment</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertAfter"></a><b><a href="source/Template.html#method-Ext.Template-insertAfter">insertAfter</a></b>(&nbsp;<code>Mixed&nbsp;el</code>,&nbsp;<code>Object/Array&nbsp;values</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;returnElement</code>]</span>&nbsp;)
+Returns an HTML fragment of this template with the specified <code>values</code> applied.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if the params are numeric (i.e. <code>{0}</code>)
+or an object (i.e. <code>{foo: <em>'bar'</em>}</code>).</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">The HTML fragment</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertAfter"></a><b><a href="source/Template.html#method-Ext.Template-insertAfter">insertAfter</a></b>(&nbsp;<code>Mixed&nbsp;el</code>,&nbsp;<code>Object/Array&nbsp;values</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;returnElement</code>]</span>&nbsp;)
     :
                                         HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) after el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) after el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>values</code> : Object/Array<div class="sub-desc">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node or Element</div></li></ul></div></div></div></td><td class="msource">Template</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Template-insertBefore"></a><b><a href="source/Template.html#method-Ext.Template-insertBefore">insertBefore</a></b>(&nbsp;<code>Mixed&nbsp;el</code>,&nbsp;<code>Object/Array&nbsp;values</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;returnElement</code>]</span>&nbsp;)
     :