Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / output / Ext.XTemplate.js
1 Ext.data.JsonP.Ext_XTemplate({
2   "tagname": "class",
3   "name": "Ext.XTemplate",
4   "doc": "<p>A template class that supports advanced functionality like:<div class=\"mdetail-params\"><ul>\n<li>Autofilling arrays using templates and sub-templates</li>\n<li>Conditional processing with basic comparison operators</li>\n<li>Basic math function support</li>\n<li>Execute arbitrary inline code with special built-in template variables</li>\n<li>Custom member functions</li>\n<li>Many special tags and built-in operators that aren't defined as part of\nthe API, but are supported in the templates that can be created</li>\n</ul></div></p>\n\n\n<p>XTemplate provides the templating mechanism built into:<div class=\"mdetail-params\"><ul>\n<li><a href=\"#/api/Ext.view.View\" rel=\"Ext.view.View\" class=\"docClass\">Ext.view.View</a></li>\n</ul></div></p>\n\n\n<p>The <a href=\"#/api/Ext.Template\" rel=\"Ext.Template\" class=\"docClass\">Ext.Template</a> describes\nthe acceptable parameters to pass to the constructor. The following\nexamples demonstrate all of the supported features.</p></p>\n\n<div class=\"mdetail-params\"><ul>\n\n<li><b><u>Sample Data</u></b>\n<div class=\"sub-desc\">\n<p>This is the data object used for reference in each code example:</p>\n<pre><code>var data = {\nname: 'Tommy Maintz',\ntitle: 'Lead Developer',\ncompany: 'Sencha Inc.',\nemail: 'tommy@sencha.com',\naddress: '5 Cups Drive',\ncity: 'Palo Alto',\nstate: 'CA',\nzip: '44102',\ndrinks: ['Coffee', 'Soda', 'Water'],\nkids: [{\n        name: 'Joshua',\n        age:3\n    },{\n        name: 'Matthew',\n        age:2\n    },{\n        name: 'Solomon',\n        age:0\n}]\n};\n </code></pre>\n</div>\n</li>\n\n\n<li><b><u>Auto filling of arrays</u></b>\n<div class=\"sub-desc\">\n<p>The <b><tt>tpl</tt></b> tag and the <b><tt>for</tt></b> operator are used\nto process the provided data object:\n<ul>\n<li>If the value specified in <tt>for</tt> is an array, it will auto-fill,\nrepeating the template block inside the <tt>tpl</tt> tag for each item in the\narray.</li>\n<li>If <tt>for=\".\"</tt> is specified, the data object provided is examined.</li>\n<li>While processing an array, the special variable <tt>{#}</tt>\nwill provide the current array index + 1 (starts at 1, not 0).</li>\n</ul>\n</p>\n<pre><code>&lt;tpl <b>for</b>=\".\">...&lt;/tpl>       // loop through array at root node\n&lt;tpl <b>for</b>=\"foo\">...&lt;/tpl>     // loop through array at foo node\n&lt;tpl <b>for</b>=\"foo.bar\">...&lt;/tpl> // loop through array at foo.bar node\n </code></pre>\nUsing the sample data above:\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Kids: ',\n    '&lt;tpl <b>for</b>=\".\">',       // process the data.kids node\n        '&lt;p>{#}. {name}&lt;/p>',  // use current array index to autonumber\n    '&lt;/tpl>&lt;/p>'\n);\ntpl.overwrite(panel.body, data.kids); // pass the kids property of the data object\n </code></pre>\n<p>An example illustrating how the <b><tt>for</tt></b> property can be leveraged\nto access specified members of the provided data object to populate the template:</p>\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Title: {title}&lt;/p>',\n    '&lt;p>Company: {company}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl <b>for=\"kids\"</b>>',     // interrogate the kids property within the data\n        '&lt;p>{name}&lt;/p>',\n    '&lt;/tpl>&lt;/p>'\n);\ntpl.overwrite(panel.body, data);  // pass the root node of the data object\n </code></pre>\n<p>Flat arrays that contain values (and not objects) can be auto-rendered\nusing the special <b><tt>{.}</tt></b> variable inside a loop.  This variable\nwill represent the value of the array at the current index:</p>\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>{name}\\&#39;s favorite beverages:&lt;/p>',\n    '&lt;tpl for=\"drinks\">',\n        '&lt;div> - {.}&lt;/div>',\n    '&lt;/tpl>'\n);\ntpl.overwrite(panel.body, data);\n </code></pre>\n<p>When processing a sub-template, for example while looping through a child array,\nyou can access the parent object's members via the <b><tt>parent</tt></b> object:</p>\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl for=\"kids\">',\n        '&lt;tpl if=\"age &amp;gt; 1\">',\n            '&lt;p>{name}&lt;/p>',\n            '&lt;p>Dad: {<b>parent</b>.name}&lt;/p>',\n        '&lt;/tpl>',\n    '&lt;/tpl>&lt;/p>'\n);\ntpl.overwrite(panel.body, data);\n </code></pre>\n</div>\n</li>\n\n\n<li><b><u>Conditional processing with basic comparison operators</u></b>\n<div class=\"sub-desc\">\n<p>The <b><tt>tpl</tt></b> tag and the <b><tt>if</tt></b> operator are used\nto provide conditional checks for deciding whether or not to render specific\nparts of the template. Notes:<div class=\"sub-desc\"><ul>\n<li>Double quotes must be encoded if used within the conditional</li>\n<li>There is no <tt>else</tt> operator &mdash; if needed, two opposite\n<tt>if</tt> statements should be used.</li>\n</ul></div>\n<pre><code>&lt;tpl if=\"age &gt; 1 &amp;&amp; age &lt; 10\">Child&lt;/tpl>\n&lt;tpl if=\"age >= 10 && age < 18\">Teenager&lt;/tpl>\n&lt;tpl <b>if</b>=\"this.isGirl(name)\">...&lt;/tpl>\n&lt;tpl <b>if</b>=\"id==\\'download\\'\">...&lt;/tpl>\n&lt;tpl <b>if</b>=\"needsIcon\">&lt;img src=\"{icon}\" class=\"{iconCls}\"/>&lt;/tpl>\n// no good:\n&lt;tpl if=\"name == \"Tommy\"\">Hello&lt;/tpl>\n// encode &#34; if it is part of the condition, e.g.\n&lt;tpl if=\"name == &#38;quot;Tommy&#38;quot;\">Hello&lt;/tpl>\n</code></pre>\nUsing the sample data above:\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl for=\"kids\">',\n        '&lt;tpl if=\"age &amp;gt; 1\">',\n            '&lt;p>{name}&lt;/p>',\n        '&lt;/tpl>',\n    '&lt;/tpl>&lt;/p>'\n);\ntpl.overwrite(panel.body, data);\n </code></pre>\n</div>\n</li>\n\n\n<li><b><u>Basic math support</u></b>\n<div class=\"sub-desc\">\n<p>The following basic math operators may be applied directly on numeric\ndata values:</p>\n<pre>+ - * /\n</pre>\nFor example:\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl for=\"kids\">',\n        '&lt;tpl if=\"age &amp;gt; 1\">',  // <-- Note that the &gt; is encoded\n            '&lt;p>{#}: {name}&lt;/p>',  // <-- Auto-number each item\n            '&lt;p>In 5 Years: {age+5}&lt;/p>',  // <-- Basic math\n            '&lt;p>Dad: {parent.name}&lt;/p>',\n        '&lt;/tpl>',\n    '&lt;/tpl>&lt;/p>'\n);\ntpl.overwrite(panel.body, data);\n </code></pre>\n</div>\n</li>\n\n\n<li><b><u>Execute arbitrary inline code with special built-in template variables</u></b>\n<div class=\"sub-desc\">\n<p>Anything between <code>{[ ... ]}</code> is considered code to be executed\nin the scope of the template. There are some special variables available in that code:\n<ul>\n<li><b><tt>values</tt></b>: The values in the current scope. If you are using\nscope changing sub-templates, you can change what <tt>values</tt> is.</li>\n<li><b><tt>parent</tt></b>: The scope (values) of the ancestor template.</li>\n<li><b><tt>xindex</tt></b>: If you are in a looping template, the index of the\nloop you are in (1-based).</li>\n<li><b><tt>xcount</tt></b>: If you are in a looping template, the total length\nof the array you are looping.</li>\n</ul>\nThis example demonstrates basic row striping using an inline code block and the\n<tt>xindex</tt> variable:</p>\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Company: {[values.company.toUpperCase() + \", \" + values.title]}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl for=\"kids\">',\n        '&lt;div class=\"{[xindex % 2 === 0 ? \"even\" : \"odd\"]}\">',\n        '{name}',\n        '&lt;/div>',\n    '&lt;/tpl>&lt;/p>'\n );\ntpl.overwrite(panel.body, data);\n </code></pre>\n</div>\n</li>\n\n<li><b><u>Template member functions</u></b>\n<div class=\"sub-desc\">\n<p>One or more member functions can be specified in a configuration\nobject passed into the XTemplate constructor for more complex processing:</p>\n<pre><code>var tpl = new Ext.XTemplate(\n    '&lt;p>Name: {name}&lt;/p>',\n    '&lt;p>Kids: ',\n    '&lt;tpl for=\"kids\">',\n        '&lt;tpl if=\"this.isGirl(name)\">',\n            '&lt;p>Girl: {name} - {age}&lt;/p>',\n        '&lt;/tpl>',\n         // use opposite if statement to simulate 'else' processing:\n        '&lt;tpl if=\"this.isGirl(name) == false\">',\n            '&lt;p>Boy: {name} - {age}&lt;/p>',\n        '&lt;/tpl>',\n        '&lt;tpl if=\"this.isBaby(age)\">',\n            '&lt;p>{name} is a baby!&lt;/p>',\n        '&lt;/tpl>',\n    '&lt;/tpl>&lt;/p>',\n    {\n        // XTemplate configuration:\n        compiled: true,\n        // member functions:\n        isGirl: function(name){\n           return name == 'Sara Grace';\n        },\n        isBaby: function(age){\n           return age < 1;\n        }\n    }\n);\ntpl.overwrite(panel.body, data);\n </code></pre>\n</div>\n</li>\n\n</ul></div>\n\n",
5   "extends": "Ext.Template",
6   "mixins": [
7
8   ],
9   "alternateClassNames": [
10
11   ],
12   "xtype": null,
13   "author": null,
14   "docauthor": null,
15   "singleton": false,
16   "private": false,
17   "cfg": [
18     {
19       "tagname": "cfg",
20       "name": "codeRe",
21       "member": "Ext.XTemplate",
22       "type": "RegExp",
23       "doc": "<p>The regular expression used to match code variables (default: matches <tt>{[expression]}</tt>).</p>\n",
24       "private": false,
25       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
26       "linenr": 359,
27       "html_filename": "XTemplate.html",
28       "href": "XTemplate.html#Ext-XTemplate-cfg-codeRe"
29     },
30     {
31       "tagname": "cfg",
32       "name": "disableFormats",
33       "member": "Ext.Template",
34       "type": "Boolean",
35       "doc": "<p>true to disable format functions in the template. If the template doesn't contain format functions, setting\ndisableFormats to true will reduce apply time (defaults to false)</p>\n",
36       "private": false,
37       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
38       "linenr": 111,
39       "html_filename": "Template2.html",
40       "href": "Template2.html#Ext-Template-cfg-disableFormats",
41       "shortDoc": "true to disable format functions in the template. If the template doesn't contain format functions, setting\ndisableFo..."
42     }
43   ],
44   "method": [
45     {
46       "tagname": "method",
47       "name": "append",
48       "member": "Ext.Template",
49       "doc": "<p>Applies the supplied <code>values</code> to the template and appends\nthe new node(s) to the specified <code>el</code>.</p>\n\n<p>For example usage <a href=\"#/api/Ext.XTemplate--Template\" rel=\"Ext.XTemplate--Template\" class=\"docClass\">see the constructor</a>.</p>\n\n",
50       "params": [
51         {
52           "type": "Mixed",
53           "name": "el",
54           "doc": "<p>The context element</p>\n",
55           "optional": false
56         },
57         {
58           "type": "Object/Array",
59           "name": "values",
60           "doc": "<p>The template values. Can be an array if the params are numeric (i.e. <code>{0}</code>)\nor an object (i.e. <code>{foo: 'bar'}</code>).</p>\n",
61           "optional": false
62         },
63         {
64           "type": "Boolean",
65           "name": "returnElement",
66           "doc": "<p>(optional) true to return an <a href=\"#/api/Ext.core.Element\" rel=\"Ext.core.Element\" class=\"docClass\">Ext.core.Element</a> (defaults to undefined)</p>\n",
67           "optional": true
68         }
69       ],
70       "return": {
71         "type": "HTMLElement/Ext.core.Element",
72         "doc": "<p>The new node or Element</p>\n"
73       },
74       "private": false,
75       "static": false,
76       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
77       "linenr": 237,
78       "html_filename": "Template2.html",
79       "href": "Template2.html#Ext-Template-method-append",
80       "shortDoc": "Applies the supplied values to the template and appends\nthe new node(s) to the specified el.\n\nFor example usage see t..."
81     },
82     {
83       "tagname": "method",
84       "name": "apply",
85       "member": "Ext.XTemplate",
86       "doc": "<p>Alias for <a href=\"#/api/Ext.XTemplate-method-applyTemplate\" rel=\"Ext.XTemplate-method-applyTemplate\" class=\"docClass\">applyTemplate</a>\nReturns an HTML fragment of this template with the specified values applied.</p>\n",
87       "params": [
88         {
89           "type": "Object/Array",
90           "name": "values",
91           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
92           "optional": false
93         }
94       ],
95       "return": {
96         "type": "String",
97         "doc": "<p>The HTML fragment</p>\n"
98       },
99       "private": false,
100       "static": false,
101       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
102       "linenr": 488,
103       "html_filename": "XTemplate.html",
104       "href": "XTemplate.html#Ext-XTemplate-method-apply",
105       "shortDoc": "<p>Alias for <a href=\"#/api/Ext.XTemplate-method-applyTemplate\" rel=\"Ext.XTemplate-method-applyTemplate\" class=\"docClass\">applyTemplate</a>\nReturns an HTML fragment of this template with the specified values applied.</p>\n"
106     },
107     {
108       "tagname": "method",
109       "name": "applyTemplate",
110       "member": "Ext.XTemplate",
111       "doc": "<p>Returns an HTML fragment of this template with the specified values applied.</p>\n",
112       "params": [
113         {
114           "type": "Object",
115           "name": "values",
116           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
117           "optional": false
118         }
119       ],
120       "return": {
121         "type": "String",
122         "doc": "<p>The HTML fragment</p>\n"
123       },
124       "private": false,
125       "static": false,
126       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
127       "linenr": 471,
128       "html_filename": "XTemplate.html",
129       "href": "XTemplate.html#Ext-XTemplate-method-applyTemplate",
130       "shortDoc": "<p>Returns an HTML fragment of this template with the specified values applied.</p>\n"
131     },
132     {
133       "tagname": "method",
134       "name": "compile",
135       "member": "Ext.XTemplate",
136       "doc": "<p>Compile the template to a function for optimized performance.  Recommended if the template will be used frequently.</p>\n",
137       "params": [
138
139       ],
140       "return": {
141         "type": "Function",
142         "doc": "<p>The compiled function</p>\n"
143       },
144       "private": false,
145       "static": false,
146       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
147       "linenr": 480,
148       "html_filename": "XTemplate.html",
149       "href": "XTemplate.html#Ext-XTemplate-method-compile",
150       "shortDoc": "<p>Compile the template to a function for optimized performance.  Recommended if the template will be used frequently.</p>\n"
151     },
152     {
153       "tagname": "method",
154       "name": "from",
155       "member": "Ext.XTemplate",
156       "doc": "<p>Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.</p>\n",
157       "params": [
158         {
159           "type": "String/HTMLElement",
160           "name": "el",
161           "doc": "<p>A DOM element or its id</p>\n",
162           "optional": false
163         },
164         {
165           "type": "Object",
166           "name": "config",
167           "doc": "\n",
168           "optional": false
169         }
170       ],
171       "return": {
172         "type": "Ext.Template",
173         "doc": "<p>The created template</p>\n"
174       },
175       "private": false,
176       "static": true,
177       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
178       "linenr": 268,
179       "html_filename": "XTemplate.html",
180       "href": "XTemplate.html#Ext-XTemplate-method-from",
181       "shortDoc": "<p>Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.</p>\n"
182     },
183     {
184       "tagname": "method",
185       "name": "insertAfter",
186       "member": "Ext.Template",
187       "doc": "<p>Applies the supplied values to the template and inserts the new node(s) after el.</p>\n",
188       "params": [
189         {
190           "type": "Mixed",
191           "name": "el",
192           "doc": "<p>The context element</p>\n",
193           "optional": false
194         },
195         {
196           "type": "Object/Array",
197           "name": "values",
198           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
199           "optional": false
200         },
201         {
202           "type": "Boolean",
203           "name": "returnElement",
204           "doc": "<p>(optional) true to return a <a href=\"#/api/Ext.core.Element\" rel=\"Ext.core.Element\" class=\"docClass\">Ext.core.Element</a> (defaults to undefined)</p>\n",
205           "optional": true
206         }
207       ],
208       "return": {
209         "type": "HTMLElement/Ext.core.Element",
210         "doc": "<p>The new node or Element</p>\n"
211       },
212       "private": false,
213       "static": false,
214       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
215       "linenr": 226,
216       "html_filename": "Template2.html",
217       "href": "Template2.html#Ext-Template-method-insertAfter",
218       "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) after el.</p>\n"
219     },
220     {
221       "tagname": "method",
222       "name": "insertBefore",
223       "member": "Ext.Template",
224       "doc": "<p>Applies the supplied values to the template and inserts the new node(s) before el.</p>\n",
225       "params": [
226         {
227           "type": "Mixed",
228           "name": "el",
229           "doc": "<p>The context element</p>\n",
230           "optional": false
231         },
232         {
233           "type": "Object/Array",
234           "name": "values",
235           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
236           "optional": false
237         },
238         {
239           "type": "Boolean",
240           "name": "returnElement",
241           "doc": "<p>(optional) true to return a <a href=\"#/api/Ext.core.Element\" rel=\"Ext.core.Element\" class=\"docClass\">Ext.core.Element</a> (defaults to undefined)</p>\n",
242           "optional": true
243         }
244       ],
245       "return": {
246         "type": "HTMLElement/Ext.core.Element",
247         "doc": "<p>The new node or Element</p>\n"
248       },
249       "private": false,
250       "static": false,
251       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
252       "linenr": 215,
253       "html_filename": "Template2.html",
254       "href": "Template2.html#Ext-Template-method-insertBefore",
255       "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) before el.</p>\n"
256     },
257     {
258       "tagname": "method",
259       "name": "insertFirst",
260       "member": "Ext.Template",
261       "doc": "<p>Applies the supplied values to the template and inserts the new node(s) as the first child of el.</p>\n",
262       "params": [
263         {
264           "type": "Mixed",
265           "name": "el",
266           "doc": "<p>The context element</p>\n",
267           "optional": false
268         },
269         {
270           "type": "Object/Array",
271           "name": "values",
272           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
273           "optional": false
274         },
275         {
276           "type": "Boolean",
277           "name": "returnElement",
278           "doc": "<p>(optional) true to return a <a href=\"#/api/Ext.core.Element\" rel=\"Ext.core.Element\" class=\"docClass\">Ext.core.Element</a> (defaults to undefined)</p>\n",
279           "optional": true
280         }
281       ],
282       "return": {
283         "type": "HTMLElement/Ext.core.Element",
284         "doc": "<p>The new node or Element</p>\n"
285       },
286       "private": false,
287       "static": false,
288       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
289       "linenr": 204,
290       "html_filename": "Template2.html",
291       "href": "Template2.html#Ext-Template-method-insertFirst",
292       "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) as the first child of el.</p>\n"
293     },
294     {
295       "tagname": "method",
296       "name": "overwrite",
297       "member": "Ext.Template",
298       "doc": "<p>Applies the supplied values to the template and overwrites the content of el with the new node(s).</p>\n",
299       "params": [
300         {
301           "type": "Mixed",
302           "name": "el",
303           "doc": "<p>The context element</p>\n",
304           "optional": false
305         },
306         {
307           "type": "Object/Array",
308           "name": "values",
309           "doc": "<p>The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})</p>\n",
310           "optional": false
311         },
312         {
313           "type": "Boolean",
314           "name": "returnElement",
315           "doc": "<p>(optional) true to return a <a href=\"#/api/Ext.core.Element\" rel=\"Ext.core.Element\" class=\"docClass\">Ext.core.Element</a> (defaults to undefined)</p>\n",
316           "optional": true
317         }
318       ],
319       "return": {
320         "type": "HTMLElement/Ext.core.Element",
321         "doc": "<p>The new node or Element</p>\n"
322       },
323       "private": false,
324       "static": false,
325       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
326       "linenr": 258,
327       "html_filename": "Template2.html",
328       "href": "Template2.html#Ext-Template-method-overwrite",
329       "shortDoc": "<p>Applies the supplied values to the template and overwrites the content of el with the new node(s).</p>\n"
330     },
331     {
332       "tagname": "method",
333       "name": "set",
334       "member": "Ext.Template",
335       "doc": "<p>Sets the HTML used as the template and optionally compiles it.</p>\n",
336       "params": [
337         {
338           "type": "String",
339           "name": "html",
340           "doc": "\n",
341           "optional": false
342         },
343         {
344           "type": "Boolean",
345           "name": "compile",
346           "doc": "<p>(optional) True to compile the template (defaults to undefined)</p>\n",
347           "optional": true
348         }
349       ],
350       "return": {
351         "type": "Ext.Template",
352         "doc": "<p>this</p>\n"
353       },
354       "private": false,
355       "static": false,
356       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
357       "linenr": 154,
358       "html_filename": "Template2.html",
359       "href": "Template2.html#Ext-Template-method-set",
360       "shortDoc": "<p>Sets the HTML used as the template and optionally compiles it.</p>\n"
361     }
362   ],
363   "property": [
364
365   ],
366   "event": [
367
368   ],
369   "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
370   "linenr": 1,
371   "html_filename": "XTemplate.html",
372   "href": "XTemplate.html#Ext-XTemplate",
373   "cssVar": [
374
375   ],
376   "cssMixin": [
377
378   ],
379   "component": false,
380   "superclasses": [
381     "Ext.Template"
382   ],
383   "subclasses": [
384
385   ],
386   "mixedInto": [
387
388   ],
389   "allMixins": [
390
391   ]
392 });