Upgrade to ExtJS 3.0.3 - Released 10/11/2009
[extjs.git] / docs / output / Ext.Template.html
1 <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="inner-link" href="#Ext.Template-configs"><img src="resources/images/default/s.gif" class="item-icon icon-config">Config Options</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><tr><td class="hd-info"></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>
2 for greater performance.</p>
3 <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
4 immediately (see <code><a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a></code>).
5 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;\r
6 functions in the template. If the template does not contain&#13;\r
7 format functions, settin...</div><div class="long">Specify <tt>true</tt> to disable format\r
8 functions in the template. If the template does not contain\r
9 <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">format functions</a>, setting <code>disableFormats</code>\r
10 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
11 <pre><code><b>var</b> t = <b>new</b> Ext.Template(\r
12     <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,\r
13         <em>'&lt;span class=<em>"{cls}"</em>&gt;{name} {value}&lt;/span&gt;'</em>,\r
14     <em>'&lt;/div&gt;'</em>,\r
15     {\r
16         compiled: true,      <i>// <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a> immediately\r</i>
17         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
18     }    \r
19 );\r
20 </code></pre>\r
21 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.\r
22 Defaults to:re : /\{([\w-]+)\}/g                            ...</div><div class="long">The regular expression used to match template variables.
23 Defaults to:<pre><code>re : /\{([\w-]+)\}/g                                     <i>// <b>for</b> Ext Core</i>
24 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;)\r
25     <div class="mdesc"><div class="short">An instance of this class may be created by passing to the constructor either\r
26 a single argument, or multiple argument...</div><div class="long">An instance of this class may be created by passing to the constructor either
27 a single argument, or multiple arguments:
28 <div class="mdetail-params"><ul>
29 <li><b>single argument</b> : String/Array
30 <div class="sub-desc">
31 The single argument may be either a String or an Array:<ul>
32 <li><tt>String</tt> : </li><pre><code><b>var</b> t = <b>new</b> Ext.Template(<em>"&lt;div>Hello {0}.&lt;/div>"</em>);
33 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>
34 <li><tt>Array</tt> : </li>
35 An Array will be combined with <code>join(<em>''</em>)</code>.
36 <pre><code><b>var</b> t = <b>new</b> Ext.Template([
37     <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
38         <em>'&lt;span class=<em>"{cls}"</em>&gt;{name:trim} {value:ellipsis(10)}&lt;/span&gt;'</em>,
39     <em>'&lt;/div&gt;'</em>,
40 ]);
41 t.<a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a>();
42 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>
43 </ul></div></li>
44 <li><b>multiple arguments</b> : String, Object, Array, ...
45 <div class="sub-desc">
46 Multiple arguments will be combined with <code>join(<em>''</em>)</code>.
47 <pre><code><b>var</b> t = <b>new</b> Ext.Template(
48     <em>'&lt;div name=<em>"{id}"</em>&gt;'</em>,
49         <em>'&lt;span class=<em>"{cls}"</em>&gt;{name} {value}&lt;/span&gt;'</em>,
50     <em>'&lt;/div&gt;'</em>,
51     <i>// a configuration object:</i>
52     {
53         compiled: true,      <i>// <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile</a> immediately</i>
54         disableFormats: true <i>// See Notes below.</i>
55     } 
56 );</code></pre>
57 <p><b>Notes</b>:</p>
58 <div class="mdetail-params"><ul>
59 <li>Formatting and <code>disableFormats</code> are not applicable for Ext Core.</li>
60 <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>
61 <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
62 when no formatting is required.</li>
63 </ul></div>
64 </div></li>
65 </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;)\r
66     :\r
67                                         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;)\r
68     :\r
69                                         HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and appends\r
70 the new node(s) to the specified el.\r
71 For example usage see th...</div><div class="long">Applies the supplied <code>values</code> to the template and appends
72 the new node(s) to the specified <code>el</code>.
73 <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>)
74 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;)\r
75     :\r
76                                         String<div class="mdesc"><div class="short">Alias for applyTemplate\r
77 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>
78 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>)
79 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;)\r
80     :\r
81                                         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;)\r
82     :\r
83                                         HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) before el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) before 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-insertFirst"></a><b><a href="source/Template.html#method-Ext.Template-insertFirst">insertFirst</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;)\r
84     :\r
85                                         HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and inserts the new node(s) as the first child of el.</div><div class="long">Applies the supplied values to the template and inserts the new node(s) as the first child of 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-overwrite"></a><b><a href="source/Template.html#method-Ext.Template-overwrite">overwrite</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;)\r
86     :\r
87                                         HTMLElement/Ext.Element<div class="mdesc"><div class="short">Applies the supplied values to the template and overwrites the content of el with the new node(s).</div><div class="long">Applies the supplied values to the template and overwrites the content of el with the new node(s).<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-set"></a><b><a href="source/Template.html#method-Ext.Template-set">set</a></b>(&nbsp;<code>String&nbsp;html</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;compile</code>]</span>&nbsp;)\r
88     :\r
89                                         Ext.Template<div class="mdesc"><div class="short">Sets the HTML used as the template and optionally compiles it.</div><div class="long">Sets the HTML used as the template and optionally compiles it.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>html</code> : String<div class="sub-desc"></div></li><li><code>compile</code> : Boolean<div class="sub-desc">(optional) True to compile the template (defaults to undefined)</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Template</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource">Template</td></tr></tbody></table><a id="Ext.Template-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>