Ext.data.JsonP.Ext_XTemplate({
- "tagname": "class",
- "name": "Ext.XTemplate",
- "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><tpl <b>for</b>=\".\">...</tpl> // loop through array at root node\n<tpl <b>for</b>=\"foo\">...</tpl> // loop through array at foo node\n<tpl <b>for</b>=\"foo.bar\">...</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 '<p>Kids: ',\n '<tpl <b>for</b>=\".\">', // process the data.kids node\n '<p>{#}. {name}</p>', // use current array index to autonumber\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Title: {title}</p>',\n '<p>Company: {company}</p>',\n '<p>Kids: ',\n '<tpl <b>for=\"kids\"</b>>', // interrogate the kids property within the data\n '<p>{name}</p>',\n '</tpl></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 '<p>{name}\\'s favorite beverages:</p>',\n '<tpl for=\"drinks\">',\n '<div> - {.}</div>',\n '</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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">',\n '<p>{name}</p>',\n '<p>Dad: {<b>parent</b>.name}</p>',\n '</tpl>',\n '</tpl></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 — if needed, two opposite\n<tt>if</tt> statements should be used.</li>\n</ul></div>\n<pre><code><tpl if=\"age > 1 && age < 10\">Child</tpl>\n<tpl if=\"age >= 10 && age < 18\">Teenager</tpl>\n<tpl <b>if</b>=\"this.isGirl(name)\">...</tpl>\n<tpl <b>if</b>=\"id==\\'download\\'\">...</tpl>\n<tpl <b>if</b>=\"needsIcon\"><img src=\"{icon}\" class=\"{iconCls}\"/></tpl>\n// no good:\n<tpl if=\"name == \"Tommy\"\">Hello</tpl>\n// encode " if it is part of the condition, e.g.\n<tpl if=\"name == &quot;Tommy&quot;\">Hello</tpl>\n</code></pre>\nUsing the sample data above:\n<pre><code>var tpl = new Ext.XTemplate(\n '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">',\n '<p>{name}</p>',\n '</tpl>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">', // <-- Note that the > is encoded\n '<p>{#}: {name}</p>', // <-- Auto-number each item\n '<p>In 5 Years: {age+5}</p>', // <-- Basic math\n '<p>Dad: {parent.name}</p>',\n '</tpl>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Company: {[values.company.toUpperCase() + \", \" + values.title]}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<div class=\"{[xindex % 2 === 0 ? \"even\" : \"odd\"]}\">',\n '{name}',\n '</div>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"this.isGirl(name)\">',\n '<p>Girl: {name} - {age}</p>',\n '</tpl>',\n // use opposite if statement to simulate 'else' processing:\n '<tpl if=\"this.isGirl(name) == false\">',\n '<p>Boy: {name} - {age}</p>',\n '</tpl>',\n '<tpl if=\"this.isBaby(age)\">',\n '<p>{name} is a baby!</p>',\n '</tpl>',\n '</tpl></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",
- "extends": "Ext.Template",
- "mixins": [
-
- ],
- "alternateClassNames": [
+ "allMixins": [
],
- "xtype": null,
- "author": null,
+ "deprecated": null,
"docauthor": null,
- "singleton": false,
- "private": false,
- "cfg": [
- {
- "tagname": "cfg",
- "name": "codeRe",
- "member": "Ext.XTemplate",
- "type": "RegExp",
- "doc": "<p>The regular expression used to match code variables (default: matches <tt>{[expression]}</tt>).</p>\n",
- "private": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 359,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate-cfg-codeRe"
- },
- {
- "tagname": "cfg",
- "name": "disableFormats",
- "member": "Ext.Template",
- "type": "Boolean",
- "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",
- "private": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 111,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-cfg-disableFormats",
- "shortDoc": "true to disable format functions in the template. If the template doesn't contain format functions, setting\ndisableFo..."
- }
- ],
- "method": [
- {
- "tagname": "method",
- "name": "append",
- "member": "Ext.Template",
- "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",
- "params": [
- {
+ "members": {
+ "cfg": [
+ {
+ "type": "RegExp",
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "cfg",
+ "href": "XTemplate.html#Ext-XTemplate-cfg-codeRe",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "name": "codeRe",
+ "owner": "Ext.XTemplate",
+ "doc": "<p>The regular expression used to match code variables (default: matches <tt>{[expression]}</tt>).</p>\n",
+ "linenr": 359,
+ "html_filename": "XTemplate.html"
+ },
+ {
+ "type": "Boolean",
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "cfg",
+ "href": "Template2.html#Ext-Template-cfg-disableFormats",
+ "shortDoc": "true to disable format functions in the template. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "name": "disableFormats",
+ "owner": "Ext.Template",
+ "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",
+ "linenr": 111,
+ "html_filename": "Template2.html"
+ }
+ ],
+ "method": [
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-addStatics",
+ "shortDoc": "Add / override static properties of this class. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object",
+ "optional": false,
+ "doc": "\n",
+ "name": "members"
+ }
+ ],
+ "name": "addStatics",
+ "owner": "Ext.Base",
+ "doc": "<p>Add / override static properties of this class.</p>\n\n<pre><code>Ext.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.addStatics({\n someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'\n method1: function() { ... }, // My.cool.Class.method1 = function() { ... };\n method2: function() { ... } // My.cool.Class.method2 = function() { ... };\n});\n</code></pre>\n",
+ "linenr": 388,
+ "return": {
+ "type": "Ext.Base",
+ "doc": "<p>this</p>\n"
+ },
+ "html_filename": "Base3.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-append",
+ "shortDoc": "Applies the supplied values to the template and appends\nthe new node(s) to the specified el. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Mixed",
+ "optional": false,
+ "doc": "<p>The context element</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "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",
+ "name": "returnElement"
+ }
+ ],
+ "name": "append",
+ "owner": "Ext.Template",
+ "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 see the constructor.</p>\n\n",
+ "linenr": 235,
+ "return": {
+ "type": "HTMLElement/Ext.core.Element",
+ "doc": "<p>The new node or Element</p>\n"
+ },
+ "html_filename": "Template2.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "XTemplate.html#Ext-XTemplate-method-apply",
+ "shortDoc": "Alias for applyTemplate\nReturns an HTML fragment of this template with the specified values applied. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ }
+ ],
+ "name": "apply",
+ "owner": "Ext.XTemplate",
+ "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",
+ "linenr": 488,
+ "return": {
+ "type": "String",
+ "doc": "<p>The HTML fragment</p>\n"
+ },
+ "html_filename": "XTemplate.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "XTemplate.html#Ext-XTemplate-method-applyTemplate",
+ "shortDoc": "Returns an HTML fragment of this template with the specified values applied. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object",
+ "optional": false,
+ "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",
+ "name": "values"
+ }
+ ],
+ "name": "applyTemplate",
+ "owner": "Ext.XTemplate",
+ "doc": "<p>Returns an HTML fragment of this template with the specified values applied.</p>\n",
+ "linenr": 471,
+ "return": {
+ "type": "String",
+ "doc": "<p>The HTML fragment</p>\n"
+ },
+ "html_filename": "XTemplate.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-callOverridden",
+ "shortDoc": "Call the original method that was previously overridden with Ext.Base.override\n\nExt.define('My.Cat', {\n constructo...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Array/Arguments",
+ "optional": false,
+ "doc": "<p>The arguments, either an array or the <code>arguments</code> object</p>\n",
+ "name": "args"
+ }
+ ],
+ "name": "callOverridden",
+ "owner": "Ext.Base",
+ "doc": "<p>Call the original method that was previously overridden with <a href=\"#/api/Ext.Base-method-override\" rel=\"Ext.Base-method-override\" class=\"docClass\">Ext.Base.override</a></p>\n\n<pre><code>Ext.define('My.Cat', {\n constructor: function() {\n alert(\"I'm a cat!\");\n\n return this;\n }\n});\n\nMy.Cat.override({\n constructor: function() {\n alert(\"I'm going to be a cat!\");\n\n var instance = this.callOverridden();\n\n alert(\"Meeeeoooowwww\");\n\n return instance;\n }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n // alerts \"I'm a cat!\"\n // alerts \"Meeeeoooowwww\"\n</code></pre>\n",
+ "linenr": 269,
+ "return": {
"type": "Mixed",
- "name": "el",
- "doc": "<p>The context element</p>\n",
- "optional": false
+ "doc": "<p>Returns the result after calling the overridden method</p>\n"
},
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
+ "html_filename": "Base3.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": true,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-callParent",
+ "shortDoc": "Call the parent's overridden method. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Array/Arguments",
+ "optional": false,
+ "doc": "<p>The arguments, either an array or the <code>arguments</code> object\nfrom the current method, for example: <code>this.callParent(arguments)</code></p>\n",
+ "name": "args"
+ }
+ ],
+ "name": "callParent",
+ "owner": "Ext.Base",
+ "doc": "<p>Call the parent's overridden method. For example:</p>\n\n<pre><code>Ext.define('My.own.A', {\n constructor: function(test) {\n alert(test);\n }\n});\n\nExt.define('My.own.B', {\n extend: 'My.own.A',\n\n constructor: function(test) {\n alert(test);\n\n this.callParent([test + 1]);\n }\n});\n\nExt.define('My.own.C', {\n extend: 'My.own.B',\n\n constructor: function() {\n alert(\"Going to call parent's overriden constructor...\");\n\n this.callParent(arguments);\n }\n});\n\nvar a = new My.own.A(1); // alerts '1'\nvar b = new My.own.B(1); // alerts '1', then alerts '2'\nvar c = new My.own.C(2); // alerts \"Going to call parent's overriden constructor...\"\n // alerts '2', then alerts '3'\n</code></pre>\n",
+ "linenr": 124,
+ "return": {
+ "type": "Mixed",
+ "doc": "<p>Returns the result from the superclass' method</p>\n"
},
- {
- "type": "Boolean",
- "name": "returnElement",
- "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",
- "optional": true
- }
- ],
- "return": {
- "type": "HTMLElement/Ext.core.Element",
- "doc": "<p>The new node or Element</p>\n"
+ "html_filename": "Base3.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 237,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-append",
- "shortDoc": "Applies the supplied values to the template and appends\nthe new node(s) to the specified el.\n\nFor example usage see t..."
- },
- {
- "tagname": "method",
- "name": "apply",
- "member": "Ext.XTemplate",
- "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",
- "params": [
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
- }
- ],
- "return": {
- "type": "String",
- "doc": "<p>The HTML fragment</p>\n"
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "XTemplate.html#Ext-XTemplate-method-compile",
+ "shortDoc": "Compile the template to a function for optimized performance. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "params": [
+
+ ],
+ "name": "compile",
+ "owner": "Ext.XTemplate",
+ "doc": "<p>Compile the template to a function for optimized performance. Recommended if the template will be used frequently.</p>\n",
+ "linenr": 480,
+ "return": {
+ "type": "Function",
+ "doc": "<p>The compiled function</p>\n"
+ },
+ "html_filename": "XTemplate.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 488,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate-method-apply",
- "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"
- },
- {
- "tagname": "method",
- "name": "applyTemplate",
- "member": "Ext.XTemplate",
- "doc": "<p>Returns an HTML fragment of this template with the specified values applied.</p>\n",
- "params": [
- {
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-create",
+ "shortDoc": "Create a new instance of this Class. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+
+ ],
+ "name": "create",
+ "owner": "Ext.Base",
+ "doc": "<p>Create a new instance of this Class.</p>\n\n<pre><code>Ext.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.create({\n someConfig: true\n});\n</code></pre>\n\n<p>All parameters are passed to the constructor of the class.</p>\n",
+ "linenr": 329,
+ "return": {
"type": "Object",
- "name": "values",
- "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",
- "optional": false
- }
- ],
- "return": {
- "type": "String",
- "doc": "<p>The HTML fragment</p>\n"
+ "doc": "<p>the created instance.</p>\n"
+ },
+ "html_filename": "Base3.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 471,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate-method-applyTemplate",
- "shortDoc": "<p>Returns an HTML fragment of this template with the specified values applied.</p>\n"
- },
- {
- "tagname": "method",
- "name": "compile",
- "member": "Ext.XTemplate",
- "doc": "<p>Compile the template to a function for optimized performance. Recommended if the template will be used frequently.</p>\n",
- "params": [
-
- ],
- "return": {
- "type": "Function",
- "doc": "<p>The compiled function</p>\n"
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-createAlias",
+ "shortDoc": "Create aliases for existing prototype methods. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "String/Object",
+ "optional": false,
+ "doc": "<p>The new method name, or an object to set multiple aliases. See\n<a href=\"#/api/Ext.Function-method-flexSetter\" rel=\"Ext.Function-method-flexSetter\" class=\"docClass\">flexSetter</a></p>\n",
+ "name": "alias"
+ },
+ {
+ "type": "String/Object",
+ "optional": false,
+ "doc": "<p>The original method name</p>\n",
+ "name": "origin"
+ }
+ ],
+ "name": "createAlias",
+ "owner": "Ext.Base",
+ "doc": "<p>Create aliases for existing prototype methods. Example:</p>\n\n<pre><code>Ext.define('My.cool.Class', {\n method1: function() { ... },\n method2: function() { ... }\n});\n\nvar test = new My.cool.Class();\n\nMy.cool.Class.createAlias({\n method3: 'method1',\n method4: 'method2'\n});\n\ntest.method3(); // test.method1()\n\nMy.cool.Class.createAlias('method5', 'method3');\n\ntest.method5(); // test.method3() -> test.method1()\n</code></pre>\n",
+ "linenr": 648,
+ "return": {
+ "type": "void",
+ "doc": "\n"
+ },
+ "html_filename": "Base3.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 480,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate-method-compile",
- "shortDoc": "<p>Compile the template to a function for optimized performance. Recommended if the template will be used frequently.</p>\n"
- },
- {
- "tagname": "method",
- "name": "from",
- "member": "Ext.XTemplate",
- "doc": "<p>Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.</p>\n",
- "params": [
- {
- "type": "String/HTMLElement",
- "name": "el",
- "doc": "<p>A DOM element or its id</p>\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "XTemplate.html#Ext-XTemplate-method-from",
+ "shortDoc": "Creates a template from the passed element's value (display:none textarea, preferred) or innerHTML. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "params": [
+ {
+ "type": "String/HTMLElement",
+ "optional": false,
+ "doc": "<p>A DOM element or its id</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object",
+ "optional": false,
+ "doc": "\n",
+ "name": "config"
+ }
+ ],
+ "name": "from",
+ "owner": "Ext.XTemplate",
+ "doc": "<p>Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.</p>\n",
+ "linenr": 268,
+ "return": {
+ "type": "Ext.Template",
+ "doc": "<p>The created template</p>\n"
},
- {
- "type": "Object",
- "name": "config",
- "doc": "\n",
- "optional": false
- }
- ],
- "return": {
- "type": "Ext.Template",
- "doc": "<p>The created template</p>\n"
+ "html_filename": "XTemplate.html"
},
- "private": false,
- "static": true,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 268,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate-method-from",
- "shortDoc": "<p>Creates a template from the passed element's value (<i>display:none</i> textarea, preferred) or innerHTML.</p>\n"
- },
- {
- "tagname": "method",
- "name": "insertAfter",
- "member": "Ext.Template",
- "doc": "<p>Applies the supplied values to the template and inserts the new node(s) after el.</p>\n",
- "params": [
- {
- "type": "Mixed",
- "name": "el",
- "doc": "<p>The context element</p>\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-getName",
+ "shortDoc": "Get the current class' name in string format. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+
+ ],
+ "name": "getName",
+ "owner": "Ext.Base",
+ "doc": "<p>Get the current class' name in string format.</p>\n\n<pre><code>Ext.define('My.cool.Class', {\n constructor: function() {\n alert(this.self.getName()); // alerts 'My.cool.Class'\n }\n});\n\nMy.cool.Class.getName(); // 'My.cool.Class'\n</code></pre>\n",
+ "linenr": 631,
+ "return": {
+ "type": "String",
+ "doc": "<p>className</p>\n"
},
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
+ "html_filename": "Base3.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-implement",
+ "shortDoc": "Add methods / properties to the prototype of this class. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object",
+ "optional": false,
+ "doc": "\n",
+ "name": "members"
+ }
+ ],
+ "name": "implement",
+ "owner": "Ext.Base",
+ "doc": "<p>Add methods / properties to the prototype of this class.</p>\n\n<pre><code>Ext.define('My.awesome.Cat', {\n constructor: function() {\n ...\n }\n});\n\n My.awesome.Cat.implement({\n meow: function() {\n alert('Meowww...');\n }\n });\n\n var kitty = new My.awesome.Cat;\n kitty.meow();\n</code></pre>\n",
+ "linenr": 415,
+ "return": {
+ "type": "void",
+ "doc": "\n"
},
- {
- "type": "Boolean",
- "name": "returnElement",
- "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",
- "optional": true
- }
- ],
- "return": {
- "type": "HTMLElement/Ext.core.Element",
- "doc": "<p>The new node or Element</p>\n"
+ "html_filename": "Base3.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 226,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-insertAfter",
- "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) after el.</p>\n"
- },
- {
- "tagname": "method",
- "name": "insertBefore",
- "member": "Ext.Template",
- "doc": "<p>Applies the supplied values to the template and inserts the new node(s) before el.</p>\n",
- "params": [
- {
- "type": "Mixed",
- "name": "el",
- "doc": "<p>The context element</p>\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": true,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-initConfig",
+ "shortDoc": "Initialize configuration for this class. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object",
+ "optional": false,
+ "doc": "\n",
+ "name": "config"
+ }
+ ],
+ "name": "initConfig",
+ "owner": "Ext.Base",
+ "doc": "<p>Initialize configuration for this class. a typical example:</p>\n\n<pre><code>Ext.define('My.awesome.Class', {\n // The default config\n config: {\n name: 'Awesome',\n isAwesome: true\n },\n\n constructor: function(config) {\n this.initConfig(config);\n\n return this;\n }\n});\n\nvar awesome = new My.awesome.Class({\n name: 'Super Awesome'\n});\n\nalert(awesome.getName()); // 'Super Awesome'\n</code></pre>\n",
+ "linenr": 63,
+ "return": {
+ "type": "Object",
+ "doc": "<p>mixins The mixin prototypes as key - value pairs</p>\n"
},
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
+ "html_filename": "Base3.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-insertAfter",
+ "shortDoc": "Applies the supplied values to the template and inserts the new node(s) after el. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Mixed",
+ "optional": false,
+ "doc": "<p>The context element</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "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",
+ "name": "returnElement"
+ }
+ ],
+ "name": "insertAfter",
+ "owner": "Ext.Template",
+ "doc": "<p>Applies the supplied values to the template and inserts the new node(s) after el.</p>\n",
+ "linenr": 224,
+ "return": {
+ "type": "HTMLElement/Ext.core.Element",
+ "doc": "<p>The new node or Element</p>\n"
},
- {
- "type": "Boolean",
- "name": "returnElement",
- "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",
- "optional": true
- }
- ],
- "return": {
- "type": "HTMLElement/Ext.core.Element",
- "doc": "<p>The new node or Element</p>\n"
+ "html_filename": "Template2.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 215,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-insertBefore",
- "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) before el.</p>\n"
- },
- {
- "tagname": "method",
- "name": "insertFirst",
- "member": "Ext.Template",
- "doc": "<p>Applies the supplied values to the template and inserts the new node(s) as the first child of el.</p>\n",
- "params": [
- {
- "type": "Mixed",
- "name": "el",
- "doc": "<p>The context element</p>\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-insertBefore",
+ "shortDoc": "Applies the supplied values to the template and inserts the new node(s) before el. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Mixed",
+ "optional": false,
+ "doc": "<p>The context element</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "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",
+ "name": "returnElement"
+ }
+ ],
+ "name": "insertBefore",
+ "owner": "Ext.Template",
+ "doc": "<p>Applies the supplied values to the template and inserts the new node(s) before el.</p>\n",
+ "linenr": 213,
+ "return": {
+ "type": "HTMLElement/Ext.core.Element",
+ "doc": "<p>The new node or Element</p>\n"
},
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
+ "html_filename": "Template2.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-insertFirst",
+ "shortDoc": "Applies the supplied values to the template and inserts the new node(s) as the first child of el. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Mixed",
+ "optional": false,
+ "doc": "<p>The context element</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "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",
+ "name": "returnElement"
+ }
+ ],
+ "name": "insertFirst",
+ "owner": "Ext.Template",
+ "doc": "<p>Applies the supplied values to the template and inserts the new node(s) as the first child of el.</p>\n",
+ "linenr": 202,
+ "return": {
+ "type": "HTMLElement/Ext.core.Element",
+ "doc": "<p>The new node or Element</p>\n"
},
- {
- "type": "Boolean",
- "name": "returnElement",
- "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",
- "optional": true
- }
- ],
- "return": {
- "type": "HTMLElement/Ext.core.Element",
- "doc": "<p>The new node or Element</p>\n"
+ "html_filename": "Template2.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 204,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-insertFirst",
- "shortDoc": "<p>Applies the supplied values to the template and inserts the new node(s) as the first child of el.</p>\n"
- },
- {
- "tagname": "method",
- "name": "overwrite",
- "member": "Ext.Template",
- "doc": "<p>Applies the supplied values to the template and overwrites the content of el with the new node(s).</p>\n",
- "params": [
- {
- "type": "Mixed",
- "name": "el",
- "doc": "<p>The context element</p>\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-override",
+ "shortDoc": "Override prototype members of this class. ...",
+ "static": true,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Object",
+ "optional": false,
+ "doc": "\n",
+ "name": "members"
+ }
+ ],
+ "name": "override",
+ "owner": "Ext.Base",
+ "doc": "<p>Override prototype members of this class. Overridden methods can be invoked via\n<a href=\"#/api/Ext.Base-method-callOverridden\" rel=\"Ext.Base-method-callOverridden\" class=\"docClass\">Ext.Base.callOverridden</a></p>\n\n<pre><code>Ext.define('My.Cat', {\n constructor: function() {\n alert(\"I'm a cat!\");\n\n return this;\n }\n});\n\nMy.Cat.override({\n constructor: function() {\n alert(\"I'm going to be a cat!\");\n\n var instance = this.callOverridden();\n\n alert(\"Meeeeoooowwww\");\n\n return instance;\n }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n // alerts \"I'm a cat!\"\n // alerts \"Meeeeoooowwww\"\n</code></pre>\n",
+ "linenr": 518,
+ "return": {
+ "type": "Ext.Base",
+ "doc": "<p>this</p>\n"
},
- {
- "type": "Object/Array",
- "name": "values",
- "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",
- "optional": false
+ "html_filename": "Base3.html"
+ },
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-overwrite",
+ "shortDoc": "Applies the supplied values to the template and overwrites the content of el with the new node(s). ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "Mixed",
+ "optional": false,
+ "doc": "<p>The context element</p>\n",
+ "name": "el"
+ },
+ {
+ "type": "Object/Array",
+ "optional": false,
+ "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",
+ "name": "values"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "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",
+ "name": "returnElement"
+ }
+ ],
+ "name": "overwrite",
+ "owner": "Ext.Template",
+ "doc": "<p>Applies the supplied values to the template and overwrites the content of el with the new node(s).</p>\n",
+ "linenr": 256,
+ "return": {
+ "type": "HTMLElement/Ext.core.Element",
+ "doc": "<p>The new node or Element</p>\n"
},
- {
- "type": "Boolean",
- "name": "returnElement",
- "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",
- "optional": true
- }
- ],
- "return": {
- "type": "HTMLElement/Ext.core.Element",
- "doc": "<p>The new node or Element</p>\n"
+ "html_filename": "Template2.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 258,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-overwrite",
- "shortDoc": "<p>Applies the supplied values to the template and overwrites the content of el with the new node(s).</p>\n"
- },
- {
- "tagname": "method",
- "name": "set",
- "member": "Ext.Template",
- "doc": "<p>Sets the HTML used as the template and optionally compiles it.</p>\n",
- "params": [
- {
- "type": "String",
- "name": "html",
- "doc": "\n",
- "optional": false
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": false,
+ "tagname": "method",
+ "href": "Template2.html#Ext-Template-method-set",
+ "shortDoc": "Sets the HTML used as the template and optionally compiles it. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/Template.js",
+ "private": false,
+ "params": [
+ {
+ "type": "String",
+ "optional": false,
+ "doc": "\n",
+ "name": "html"
+ },
+ {
+ "type": "Boolean",
+ "optional": true,
+ "doc": "<p>(optional) True to compile the template (defaults to undefined)</p>\n",
+ "name": "compile"
+ }
+ ],
+ "name": "set",
+ "owner": "Ext.Template",
+ "doc": "<p>Sets the HTML used as the template and optionally compiles it.</p>\n",
+ "linenr": 153,
+ "return": {
+ "type": "Ext.Template",
+ "doc": "<p>this</p>\n"
},
- {
- "type": "Boolean",
- "name": "compile",
- "doc": "<p>(optional) True to compile the template (defaults to undefined)</p>\n",
- "optional": true
- }
- ],
- "return": {
- "type": "Ext.Template",
- "doc": "<p>this</p>\n"
+ "html_filename": "Template2.html"
},
- "private": false,
- "static": false,
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/Template.js",
- "linenr": 154,
- "html_filename": "Template2.html",
- "href": "Template2.html#Ext-Template-method-set",
- "shortDoc": "<p>Sets the HTML used as the template and optionally compiles it.</p>\n"
- }
- ],
- "property": [
+ {
+ "deprecated": null,
+ "alias": null,
+ "protected": true,
+ "tagname": "method",
+ "href": "Base3.html#Ext-Base-method-statics",
+ "shortDoc": "Get the reference to the class from which this object was instantiated. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "params": [
- ],
- "event": [
+ ],
+ "name": "statics",
+ "owner": "Ext.Base",
+ "doc": "<p>Get the reference to the class from which this object was instantiated. Note that unlike <a href=\"#/api/Ext.Base-property-self\" rel=\"Ext.Base-property-self\" class=\"docClass\">Ext.Base.self</a>,\n<code>this.statics()</code> is scope-independent and it always returns the class from which it was called, regardless of what\n<code>this</code> points to during run-time</p>\n\n<pre><code>Ext.define('My.Cat', {\n statics: {\n totalCreated: 0,\n speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n },\n\n constructor: function() {\n var statics = this.statics();\n\n alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to\n // equivalent to: My.Cat.speciesName\n\n alert(this.self.speciesName); // dependent on 'this'\n\n statics.totalCreated++;\n\n return this;\n },\n\n clone: function() {\n var cloned = new this.self; // dependent on 'this'\n\n cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName\n\n return cloned;\n }\n});\n\n\nExt.define('My.SnowLeopard', {\n extend: 'My.Cat',\n\n statics: {\n speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'\n },\n\n constructor: function() {\n this.callParent();\n }\n});\n\nvar cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'\n\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'\nalert(clone.groupName); // alerts 'Cat'\n\nalert(My.Cat.totalCreated); // alerts 3\n</code></pre>\n",
+ "linenr": 199,
+ "return": {
+ "type": "Class",
+ "doc": "\n"
+ },
+ "html_filename": "Base3.html"
+ }
+ ],
+ "property": [
+ {
+ "type": "Class",
+ "deprecated": null,
+ "alias": null,
+ "protected": true,
+ "tagname": "property",
+ "href": "Base3.html#Ext-Base-property-self",
+ "shortDoc": "Get the reference to the current class from which this object was instantiated. ...",
+ "static": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
+ "private": false,
+ "name": "self",
+ "owner": "Ext.Base",
+ "doc": "<p>Get the reference to the current class from which this object was instantiated. Unlike <a href=\"#/api/Ext.Base-method-statics\" rel=\"Ext.Base-method-statics\" class=\"docClass\">Ext.Base.statics</a>,\n<code>this.self</code> is scope-dependent and it's meant to be used for dynamic inheritance. See <a href=\"#/api/Ext.Base-method-statics\" rel=\"Ext.Base-method-statics\" class=\"docClass\">Ext.Base.statics</a>\nfor a detailed comparison</p>\n\n<pre><code>Ext.define('My.Cat', {\n statics: {\n speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n },\n\n constructor: function() {\n alert(this.self.speciesName); / dependent on 'this'\n\n return this;\n },\n\n clone: function() {\n return new this.self();\n }\n});\n\n\nExt.define('My.SnowLeopard', {\n extend: 'My.Cat',\n statics: {\n speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'\n }\n});\n\nvar cat = new My.Cat(); // alerts 'Cat'\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'\n</code></pre>\n",
+ "linenr": 18,
+ "html_filename": "Base3.html"
+ }
+ ],
+ "cssVar": [
- ],
- "filename": "/Users/nick/Projects/sencha/SDK/platform/src/XTemplate.js",
- "linenr": 1,
- "html_filename": "XTemplate.html",
- "href": "XTemplate.html#Ext-XTemplate",
- "cssVar": [
+ ],
+ "cssMixin": [
- ],
- "cssMixin": [
+ ],
+ "event": [
- ],
- "component": false,
+ ]
+ },
+ "singleton": false,
+ "alias": null,
"superclasses": [
+ "Ext.Base",
"Ext.Template"
],
+ "protected": false,
+ "tagname": "class",
+ "mixins": [
+
+ ],
+ "href": "XTemplate.html#Ext-XTemplate",
"subclasses": [
],
+ "static": false,
+ "author": null,
+ "component": false,
+ "filename": "/mnt/ebs/nightly/git/SDK/platform/src/XTemplate.js",
+ "private": false,
+ "alternateClassNames": [
+
+ ],
+ "name": "Ext.XTemplate",
+ "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><tpl <b>for</b>=\".\">...</tpl> // loop through array at root node\n<tpl <b>for</b>=\"foo\">...</tpl> // loop through array at foo node\n<tpl <b>for</b>=\"foo.bar\">...</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 '<p>Kids: ',\n '<tpl <b>for</b>=\".\">', // process the data.kids node\n '<p>{#}. {name}</p>', // use current array index to autonumber\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Title: {title}</p>',\n '<p>Company: {company}</p>',\n '<p>Kids: ',\n '<tpl <b>for=\"kids\"</b>>', // interrogate the kids property within the data\n '<p>{name}</p>',\n '</tpl></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 '<p>{name}\\'s favorite beverages:</p>',\n '<tpl for=\"drinks\">',\n '<div> - {.}</div>',\n '</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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">',\n '<p>{name}</p>',\n '<p>Dad: {<b>parent</b>.name}</p>',\n '</tpl>',\n '</tpl></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 — if needed, two opposite\n<tt>if</tt> statements should be used.</li>\n</ul></div>\n<pre><code><tpl if=\"age > 1 && age < 10\">Child</tpl>\n<tpl if=\"age >= 10 && age < 18\">Teenager</tpl>\n<tpl <b>if</b>=\"this.isGirl(name)\">...</tpl>\n<tpl <b>if</b>=\"id==\\'download\\'\">...</tpl>\n<tpl <b>if</b>=\"needsIcon\"><img src=\"{icon}\" class=\"{iconCls}\"/></tpl>\n// no good:\n<tpl if=\"name == \"Tommy\"\">Hello</tpl>\n// encode " if it is part of the condition, e.g.\n<tpl if=\"name == &quot;Tommy&quot;\">Hello</tpl>\n</code></pre>\nUsing the sample data above:\n<pre><code>var tpl = new Ext.XTemplate(\n '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">',\n '<p>{name}</p>',\n '</tpl>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"age &gt; 1\">', // <-- Note that the > is encoded\n '<p>{#}: {name}</p>', // <-- Auto-number each item\n '<p>In 5 Years: {age+5}</p>', // <-- Basic math\n '<p>Dad: {parent.name}</p>',\n '</tpl>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Company: {[values.company.toUpperCase() + \", \" + values.title]}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<div class=\"{[xindex % 2 === 0 ? \"even\" : \"odd\"]}\">',\n '{name}',\n '</div>',\n '</tpl></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 '<p>Name: {name}</p>',\n '<p>Kids: ',\n '<tpl for=\"kids\">',\n '<tpl if=\"this.isGirl(name)\">',\n '<p>Girl: {name} - {age}</p>',\n '</tpl>',\n // use opposite if statement to simulate 'else' processing:\n '<tpl if=\"this.isGirl(name) == false\">',\n '<p>Boy: {name} - {age}</p>',\n '</tpl>',\n '<tpl if=\"this.isBaby(age)\">',\n '<p>{name} is a baby!</p>',\n '</tpl>',\n '</tpl></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",
"mixedInto": [
],
- "allMixins": [
+ "linenr": 1,
+ "xtypes": [
- ]
+ ],
+ "html_filename": "XTemplate.html",
+ "extends": "Ext.Template"
});
\ No newline at end of file