Upgrade to ExtJS 4.0.2 - Released 06/09/2011
[extjs.git] / docs / output / Ext.app.Controller.js
1 Ext.data.JsonP.Ext_app_Controller({
2   "allMixins": [
3     "Ext.util.Observable"
4   ],
5   "deprecated": null,
6   "docauthor": "Ed Spencer",
7   "members": {
8     "cfg": [
9       {
10         "type": "String",
11         "deprecated": null,
12         "alias": null,
13         "protected": false,
14         "tagname": "cfg",
15         "href": "Controller.html#Ext-app-Controller-cfg-id",
16         "shortDoc": "The id of this controller. ...",
17         "static": false,
18         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
19         "private": false,
20         "name": "id",
21         "owner": "Ext.app.Controller",
22         "doc": "<p>The id of this controller. You can use this id when dispatching.</p>\n",
23         "linenr": 140,
24         "html_filename": "Controller.html"
25       },
26       {
27         "type": "Object",
28         "deprecated": null,
29         "alias": null,
30         "protected": false,
31         "tagname": "cfg",
32         "href": "Observable.html#Ext-util-Observable-cfg-listeners",
33         "shortDoc": "A config object containing one or more event handlers to be added to this object during initialization. ...",
34         "static": false,
35         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
36         "private": false,
37         "name": "listeners",
38         "owner": "Ext.util.Observable",
39         "doc": "<p>A config object containing one or more event handlers to be added to this object during initialization. This\nshould be a valid listeners config object as specified in the <a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a> example for attaching multiple\nhandlers at once.</p>\n\n<p><strong>DOM events from ExtJS <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a></strong></p>\n\n<p>While <em>some</em> ExtJs Component classes export selected DOM events (e.g. \"click\", \"mouseover\" etc), this is usually\nonly done when extra value can be added. For example the <a href=\"#/api/Ext.view.View\" rel=\"Ext.view.View\" class=\"docClass\">DataView</a>'s <strong><code><a href=\"#/api/Ext.view.View-event-itemclick\" rel=\"Ext.view.View-event-itemclick\" class=\"docClass\">itemclick</a></code></strong> event passing the node clicked on. To access DOM events directly from a\nchild element of a Component, we need to specify the <code>element</code> option to identify the Component property to add a\nDOM listener to:</p>\n\n<pre><code>new Ext.panel.Panel({\n    width: 400,\n    height: 200,\n    dockedItems: [{\n        xtype: 'toolbar'\n    }],\n    listeners: {\n        click: {\n            element: 'el', //bind to the underlying el property on the panel\n            fn: function(){ console.log('click el'); }\n        },\n        dblclick: {\n            element: 'body', //bind to the underlying body property on the panel\n            fn: function(){ console.log('dblclick body'); }\n        }\n    }\n});\n</code></pre>\n",
40         "linenr": 102,
41         "html_filename": "Observable.html"
42       }
43     ],
44     "method": [
45       {
46         "deprecated": null,
47         "alias": null,
48         "href": "Controller.html#Ext-app-Controller-method-constructor",
49         "tagname": "method",
50         "protected": false,
51         "shortDoc": "Creates new Controller. ...",
52         "static": false,
53         "params": [
54           {
55             "type": "Object",
56             "optional": true,
57             "doc": "<p>(optional) Config object.</p>\n",
58             "name": "config"
59           }
60         ],
61         "private": false,
62         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
63         "doc": "<p>Creates new Controller.</p>\n",
64         "owner": "Ext.app.Controller",
65         "name": "Controller",
66         "html_filename": "Controller.html",
67         "return": {
68           "type": "Object",
69           "doc": "\n"
70         },
71         "linenr": 183
72       },
73       {
74         "deprecated": null,
75         "alias": null,
76         "protected": false,
77         "tagname": "method",
78         "href": "Observable.html#Ext-util-Observable-method-addEvents",
79         "shortDoc": "Adds the specified events to the list of events which this Observable may fire. ...",
80         "static": false,
81         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
82         "private": false,
83         "params": [
84           {
85             "type": "Object/String",
86             "optional": false,
87             "doc": "<p>Either an object with event names as properties with a value of <code>true</code> or the first\nevent name string if multiple event names are being passed as separate parameters. Usage:</p>\n\n<pre><code>this.addEvents({\n    storeloaded: true,\n    storecleared: true\n});\n</code></pre>\n",
88             "name": "o"
89           },
90           {
91             "type": "String...",
92             "optional": false,
93             "doc": "<p>Optional additional event names if multiple event names are being passed as separate\nparameters. Usage:</p>\n\n<pre><code>this.addEvents('storeloaded', 'storecleared');\n</code></pre>\n",
94             "name": "more"
95           }
96         ],
97         "name": "addEvents",
98         "owner": "Ext.util.Observable",
99         "doc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n",
100         "linenr": 494,
101         "return": {
102           "type": "void",
103           "doc": "\n"
104         },
105         "html_filename": "Observable.html"
106       },
107       {
108         "deprecated": null,
109         "alias": null,
110         "protected": false,
111         "tagname": "method",
112         "href": "Observable.html#Ext-util-Observable-method-addListener",
113         "shortDoc": "Appends an event handler to this object. ...",
114         "static": false,
115         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
116         "private": false,
117         "params": [
118           {
119             "type": "String",
120             "optional": false,
121             "doc": "<p>The name of the event to listen for. May also be an object who's property names are\nevent names.</p>\n",
122             "name": "eventName"
123           },
124           {
125             "type": "Function",
126             "optional": false,
127             "doc": "<p>The method the event invokes.  Will be called with arguments given to\n<a href=\"#/api/Ext.app.Controller-method-fireEvent\" rel=\"Ext.app.Controller-method-fireEvent\" class=\"docClass\">fireEvent</a> plus the <code>options</code> parameter described below.</p>\n",
128             "name": "handler"
129           },
130           {
131             "type": "Object",
132             "optional": true,
133             "doc": "<p>(optional) The scope (<code>this</code> reference) in which the handler function is executed. <strong>If\nomitted, defaults to the object which fired the event.</strong></p>\n",
134             "name": "scope"
135           },
136           {
137             "type": "Object",
138             "optional": true,
139             "doc": "<p>(optional) An object containing handler configuration.</p>\n\n<p><strong>Note:</strong> Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.</p>\n\n<p>This object may contain any of the following properties:</p>\n\n<ul>\n<li><p><strong>scope</strong> : Object</p>\n\n<p>The scope (<code>this</code> reference) in which the handler function is executed. <strong>If omitted, defaults to the object\nwhich fired the event.</strong></p></li>\n<li><p><strong>delay</strong> : Number</p>\n\n<p>The number of milliseconds to delay the invocation of the handler after the event fires.</p></li>\n<li><p><strong>single</strong> : Boolean</p>\n\n<p>True to add a handler to handle just the next firing of the event, and then remove itself.</p></li>\n<li><p><strong>buffer</strong> : Number</p>\n\n<p>Causes the handler to be scheduled to run in an <a href=\"#/api/Ext.util.DelayedTask\" rel=\"Ext.util.DelayedTask\" class=\"docClass\">Ext.util.DelayedTask</a> delayed by the specified number of\nmilliseconds. If the event fires again within that time, the original handler is <em>not</em> invoked, but the new\nhandler is scheduled in its place.</p></li>\n<li><p><strong>target</strong> : Observable</p>\n\n<p>Only call the handler if the event was fired on the target Observable, <em>not</em> if the event was bubbled up from a\nchild Observable.</p></li>\n<li><p><strong>element</strong> : String</p>\n\n<p><strong>This option is only valid for listeners bound to <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a>.</strong> The name of a Component\nproperty which references an element to add a listener to.</p>\n\n<p>This option is useful during Component construction to add DOM event listeners to elements of\n<a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a> which will exist only after the Component is rendered.\nFor example, to add a click listener to a Panel's body:</p>\n\n<pre><code>new Ext.panel.Panel({\n    title: 'The title',\n    listeners: {\n        click: this.handlePanelClick,\n        element: 'body'\n    }\n});\n</code></pre></li>\n</ul>\n\n\n<p><strong>Combining Options</strong></p>\n\n<p>Using the options argument, it is possible to combine different types of listeners:</p>\n\n<p>A delayed, one-time listener.</p>\n\n<pre><code>myPanel.on('hide', this.handleClick, this, {\n    single: true,\n    delay: 100\n});\n</code></pre>\n\n<p><strong>Attaching multiple handlers in 1 call</strong></p>\n\n<p>The method also allows for a single argument to be passed which is a config object containing properties which\nspecify multiple events. For example:</p>\n\n<pre><code>myGridPanel.on({\n    cellClick: this.onCellClick,\n    mouseover: this.onMouseOver,\n    mouseout: this.onMouseOut,\n    scope: this // Important. Ensure \"this\" is correct during handler execution\n});\n</code></pre>\n\n<p>One can also specify options for each event handler separately:</p>\n\n<pre><code>myGridPanel.on({\n    cellClick: {fn: this.onCellClick, scope: this, single: true},\n    mouseover: {fn: panel.onMouseOver, scope: panel}\n});\n</code></pre>\n",
140             "name": "options"
141           }
142         ],
143         "name": "addListener",
144         "owner": "Ext.util.Observable",
145         "doc": "<p>Appends an event handler to this object.</p>\n",
146         "linenr": 278,
147         "return": {
148           "type": "void",
149           "doc": "\n"
150         },
151         "html_filename": "Observable.html"
152       },
153       {
154         "deprecated": null,
155         "alias": null,
156         "protected": false,
157         "tagname": "method",
158         "href": "Observable.html#Ext-util-Observable-method-addManagedListener",
159         "shortDoc": "Adds listeners to any Observable object (or Element) which are automatically removed when this Component is\ndestroyed. ...",
160         "static": false,
161         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
162         "private": false,
163         "params": [
164           {
165             "type": "Observable/Element",
166             "optional": false,
167             "doc": "<p>The item to which to add a listener/listeners.</p>\n",
168             "name": "item"
169           },
170           {
171             "type": "Object/String",
172             "optional": false,
173             "doc": "<p>The event name, or an object containing event name properties.</p>\n",
174             "name": "ename"
175           },
176           {
177             "type": "Function",
178             "optional": true,
179             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the handler function.</p>\n",
180             "name": "fn"
181           },
182           {
183             "type": "Object",
184             "optional": true,
185             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the scope (<code>this</code> reference)\nin which the handler function is executed.</p>\n",
186             "name": "scope"
187           },
188           {
189             "type": "Object",
190             "optional": true,
191             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the\n<a href=\"#/api/Ext.util.Observable-method-addListener\" rel=\"Ext.util.Observable-method-addListener\" class=\"docClass\">addListener</a> options.</p>\n",
192             "name": "opt"
193           }
194         ],
195         "name": "addManagedListener",
196         "owner": "Ext.util.Observable",
197         "doc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component is\ndestroyed.</p>\n",
198         "linenr": 156,
199         "return": {
200           "type": "void",
201           "doc": "\n"
202         },
203         "html_filename": "Observable.html"
204       },
205       {
206         "deprecated": null,
207         "alias": null,
208         "protected": false,
209         "tagname": "method",
210         "href": "Base3.html#Ext-Base-method-addStatics",
211         "shortDoc": "Add / override static properties of this class. ...",
212         "static": true,
213         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
214         "private": false,
215         "params": [
216           {
217             "type": "Object",
218             "optional": false,
219             "doc": "\n",
220             "name": "members"
221           }
222         ],
223         "name": "addStatics",
224         "owner": "Ext.Base",
225         "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",
226         "linenr": 388,
227         "return": {
228           "type": "Ext.Base",
229           "doc": "<p>this</p>\n"
230         },
231         "html_filename": "Base3.html"
232       },
233       {
234         "deprecated": null,
235         "alias": null,
236         "protected": false,
237         "tagname": "method",
238         "href": "Base3.html#Ext-Base-method-callOverridden",
239         "shortDoc": "Call the original method that was previously overridden with Ext.Base.override\n\nExt.define('My.Cat', {\n    constructo...",
240         "static": false,
241         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
242         "private": false,
243         "params": [
244           {
245             "type": "Array/Arguments",
246             "optional": false,
247             "doc": "<p>The arguments, either an array or the <code>arguments</code> object</p>\n",
248             "name": "args"
249           }
250         ],
251         "name": "callOverridden",
252         "owner": "Ext.Base",
253         "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",
254         "linenr": 269,
255         "return": {
256           "type": "Mixed",
257           "doc": "<p>Returns the result after calling the overridden method</p>\n"
258         },
259         "html_filename": "Base3.html"
260       },
261       {
262         "deprecated": null,
263         "alias": null,
264         "protected": true,
265         "tagname": "method",
266         "href": "Base3.html#Ext-Base-method-callParent",
267         "shortDoc": "Call the parent's overridden method. ...",
268         "static": false,
269         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
270         "private": false,
271         "params": [
272           {
273             "type": "Array/Arguments",
274             "optional": false,
275             "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",
276             "name": "args"
277           }
278         ],
279         "name": "callParent",
280         "owner": "Ext.Base",
281         "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",
282         "linenr": 124,
283         "return": {
284           "type": "Mixed",
285           "doc": "<p>Returns the result from the superclass' method</p>\n"
286         },
287         "html_filename": "Base3.html"
288       },
289       {
290         "deprecated": null,
291         "alias": null,
292         "protected": false,
293         "tagname": "method",
294         "href": "Observable.html#Ext-util-Observable-method-capture",
295         "shortDoc": "Starts capture on the specified Observable. ...",
296         "static": true,
297         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
298         "private": false,
299         "params": [
300           {
301             "type": "Observable",
302             "optional": false,
303             "doc": "<p>The Observable to capture events from.</p>\n",
304             "name": "o"
305           },
306           {
307             "type": "Function",
308             "optional": false,
309             "doc": "<p>The function to call when an event is fired.</p>\n",
310             "name": "fn"
311           },
312           {
313             "type": "Object",
314             "optional": true,
315             "doc": "<p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to\nthe Observable firing the event.</p>\n",
316             "name": "scope"
317           }
318         ],
319         "name": "capture",
320         "owner": "Ext.util.Observable",
321         "doc": "<p>Starts capture on the specified Observable. All events will be passed to the supplied function with the event\nname + standard signature of the event <strong>before</strong> the event is fired. If the supplied function returns false,\nthe event will not fire.</p>\n",
322         "linenr": 54,
323         "return": {
324           "type": "void",
325           "doc": "\n"
326         },
327         "html_filename": "Observable.html"
328       },
329       {
330         "deprecated": null,
331         "alias": null,
332         "protected": false,
333         "tagname": "method",
334         "href": "Observable.html#Ext-util-Observable-method-clearListeners",
335         "shortDoc": "Removes all listeners for this object including the managed listeners ...",
336         "static": false,
337         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
338         "private": false,
339         "params": [
340
341         ],
342         "name": "clearListeners",
343         "owner": "Ext.util.Observable",
344         "doc": "<p>Removes all listeners for this object including the managed listeners</p>\n",
345         "linenr": 425,
346         "return": {
347           "type": "void",
348           "doc": "\n"
349         },
350         "html_filename": "Observable.html"
351       },
352       {
353         "deprecated": null,
354         "alias": null,
355         "protected": false,
356         "tagname": "method",
357         "href": "Observable.html#Ext-util-Observable-method-clearManagedListeners",
358         "shortDoc": "Removes all managed listeners for this object. ...",
359         "static": false,
360         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
361         "private": false,
362         "params": [
363
364         ],
365         "name": "clearManagedListeners",
366         "owner": "Ext.util.Observable",
367         "doc": "<p>Removes all managed listeners for this object.</p>\n",
368         "linenr": 454,
369         "return": {
370           "type": "void",
371           "doc": "\n"
372         },
373         "html_filename": "Observable.html"
374       },
375       {
376         "deprecated": null,
377         "alias": null,
378         "protected": false,
379         "tagname": "method",
380         "href": "Controller.html#Ext-app-Controller-method-control",
381         "shortDoc": "Adds listeners to components selected via Ext.ComponentQuery. ...",
382         "static": false,
383         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
384         "private": false,
385         "params": [
386           {
387             "type": "String|Object",
388             "optional": false,
389             "doc": "<p>If a String, the second argument is used as the\nlisteners, otherwise an object of selectors -> listeners is assumed</p>\n",
390             "name": "selectors"
391           },
392           {
393             "type": "Object",
394             "optional": false,
395             "doc": "\n",
396             "name": "listeners"
397           }
398         ],
399         "name": "control",
400         "owner": "Ext.app.Controller",
401         "doc": "<p>Adds listeners to components selected via <a href=\"#/api/Ext.ComponentQuery\" rel=\"Ext.ComponentQuery\" class=\"docClass\">Ext.ComponentQuery</a>. Accepts an\nobject containing component paths mapped to a hash of listener functions.</p>\n\n<p>In the following example the <code>updateUser</code> function is mapped to to the <code>click</code>\nevent on a button component, which is a child of the <code>useredit</code> component.</p>\n\n<pre><code>Ext.define('AM.controller.Users', {\n    init: function() {\n        this.control({\n            'useredit button[action=save]': {\n                click: this.updateUser\n            }\n        });\n    },\n\n    updateUser: function(button) {\n        console.log('clicked the Save button');\n    }\n});\n</code></pre>\n\n<p>See <a href=\"#/api/Ext.ComponentQuery\" rel=\"Ext.ComponentQuery\" class=\"docClass\">Ext.ComponentQuery</a> for more information on component selectors.</p>\n",
402         "linenr": 269,
403         "return": {
404           "type": "void",
405           "doc": "\n"
406         },
407         "html_filename": "Controller.html"
408       },
409       {
410         "deprecated": null,
411         "alias": null,
412         "protected": false,
413         "tagname": "method",
414         "href": "Base3.html#Ext-Base-method-create",
415         "shortDoc": "Create a new instance of this Class. ...",
416         "static": true,
417         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
418         "private": false,
419         "params": [
420
421         ],
422         "name": "create",
423         "owner": "Ext.Base",
424         "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",
425         "linenr": 329,
426         "return": {
427           "type": "Object",
428           "doc": "<p>the created instance.</p>\n"
429         },
430         "html_filename": "Base3.html"
431       },
432       {
433         "deprecated": null,
434         "alias": null,
435         "protected": false,
436         "tagname": "method",
437         "href": "Base3.html#Ext-Base-method-createAlias",
438         "shortDoc": "Create aliases for existing prototype methods. ...",
439         "static": true,
440         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
441         "private": false,
442         "params": [
443           {
444             "type": "String/Object",
445             "optional": false,
446             "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",
447             "name": "alias"
448           },
449           {
450             "type": "String/Object",
451             "optional": false,
452             "doc": "<p>The original method name</p>\n",
453             "name": "origin"
454           }
455         ],
456         "name": "createAlias",
457         "owner": "Ext.Base",
458         "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() -&gt; test.method1()\n</code></pre>\n",
459         "linenr": 648,
460         "return": {
461           "type": "void",
462           "doc": "\n"
463         },
464         "html_filename": "Base3.html"
465       },
466       {
467         "deprecated": null,
468         "alias": null,
469         "protected": false,
470         "tagname": "method",
471         "href": "Observable.html#Ext-util-Observable-method-enableBubble",
472         "shortDoc": "Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if\npresent. ...",
473         "static": false,
474         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
475         "private": false,
476         "params": [
477           {
478             "type": "String/[String]",
479             "optional": false,
480             "doc": "<p>The event name to bubble, or an Array of event names.</p>\n",
481             "name": "events"
482           }
483         ],
484         "name": "enableBubble",
485         "owner": "Ext.util.Observable",
486         "doc": "<p>Enables events fired by this Observable to bubble up an owner hierarchy by calling <code>this.getBubbleTarget()</code> if\npresent. There is no implementation in the Observable base class.</p>\n\n<p>This is commonly used by Ext.Components to bubble events to owner Containers.\nSee <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>. The default implementation in <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a> returns the\nComponent's immediate owner. But if a known target is required, this can be overridden to access the\nrequired target more quickly.</p>\n\n<p>Example:</p>\n\n<pre><code>Ext.override(Ext.form.field.Base, {\n    //  Add functionality to Field's initComponent to enable the change event to bubble\n    initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {\n        this.enableBubble('change');\n    }),\n\n    //  We know that we want Field's events to bubble directly to the FormPanel.\n    getBubbleTarget : function() {\n        if (!this.formPanel) {\n            this.formPanel = this.findParentByType('form');\n        }\n        return this.formPanel;\n    }\n});\n\nvar myForm = new Ext.formPanel({\n    title: 'User Details',\n    items: [{\n        ...\n    }],\n    listeners: {\n        change: function() {\n            // Title goes red if form has been modified.\n            myForm.header.setStyle('color', 'red');\n        }\n    }\n});\n</code></pre>\n",
487         "linenr": 609,
488         "return": {
489           "type": "void",
490           "doc": "\n"
491         },
492         "html_filename": "Observable.html"
493       },
494       {
495         "deprecated": null,
496         "alias": null,
497         "protected": false,
498         "tagname": "method",
499         "href": "Observable.html#Ext-util-Observable-method-fireEvent",
500         "shortDoc": "Fires the specified event with the passed parameters (minus the event name, plus the options object passed\nto addList...",
501         "static": false,
502         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
503         "private": false,
504         "params": [
505           {
506             "type": "String",
507             "optional": false,
508             "doc": "<p>The name of the event to fire.</p>\n",
509             "name": "eventName"
510           },
511           {
512             "type": "Object...",
513             "optional": false,
514             "doc": "<p>Variable number of parameters are passed to handlers.</p>\n",
515             "name": "args"
516           }
517         ],
518         "name": "fireEvent",
519         "owner": "Ext.util.Observable",
520         "doc": "<p>Fires the specified event with the passed parameters (minus the event name, plus the <code>options</code> object passed\nto <a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a>).</p>\n\n<p>An event may be set to bubble up an Observable parent hierarchy (See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>) by\ncalling <a href=\"#/api/Ext.app.Controller-method-enableBubble\" rel=\"Ext.app.Controller-method-enableBubble\" class=\"docClass\">enableBubble</a>.</p>\n",
521         "linenr": 233,
522         "return": {
523           "type": "Boolean",
524           "doc": "<p>returns false if any of the handlers return false otherwise it returns true.</p>\n"
525         },
526         "html_filename": "Observable.html"
527       },
528       {
529         "deprecated": null,
530         "alias": null,
531         "protected": false,
532         "tagname": "method",
533         "href": "Controller.html#Ext-app-Controller-method-getController",
534         "shortDoc": "Returns a reference to a controller with the given name ...",
535         "static": false,
536         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
537         "private": false,
538         "params": [
539           {
540             "type": "Object",
541             "optional": false,
542             "doc": "<p>{String}</p>\n",
543             "name": "name"
544           }
545         ],
546         "name": "getController",
547         "owner": "Ext.app.Controller",
548         "doc": "<p>Returns a reference to a <a href=\"#/api/Ext.app.Controller\" rel=\"Ext.app.Controller\" class=\"docClass\">controller</a> with the given name</p>\n",
549         "linenr": 300,
550         "return": {
551           "type": "void",
552           "doc": "\n"
553         },
554         "html_filename": "Controller.html"
555       },
556       {
557         "deprecated": null,
558         "alias": null,
559         "protected": false,
560         "tagname": "method",
561         "href": "Controller.html#Ext-app-Controller-method-getModel",
562         "shortDoc": "Returns a reference to a Model with the given name ...",
563         "static": false,
564         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
565         "private": false,
566         "params": [
567           {
568             "type": "Object",
569             "optional": false,
570             "doc": "<p>{String}</p>\n",
571             "name": "name"
572           }
573         ],
574         "name": "getModel",
575         "owner": "Ext.app.Controller",
576         "doc": "<p>Returns a reference to a <a href=\"#/api/Ext.data.Model\" rel=\"Ext.data.Model\" class=\"docClass\">Model</a> with the given name</p>\n",
577         "linenr": 316,
578         "return": {
579           "type": "void",
580           "doc": "\n"
581         },
582         "html_filename": "Controller.html"
583       },
584       {
585         "deprecated": null,
586         "alias": null,
587         "protected": false,
588         "tagname": "method",
589         "href": "Base3.html#Ext-Base-method-getName",
590         "shortDoc": "Get the current class' name in string format. ...",
591         "static": false,
592         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
593         "private": false,
594         "params": [
595
596         ],
597         "name": "getName",
598         "owner": "Ext.Base",
599         "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",
600         "linenr": 631,
601         "return": {
602           "type": "String",
603           "doc": "<p>className</p>\n"
604         },
605         "html_filename": "Base3.html"
606       },
607       {
608         "deprecated": null,
609         "alias": null,
610         "protected": false,
611         "tagname": "method",
612         "href": "Controller.html#Ext-app-Controller-method-getStore",
613         "shortDoc": "Returns a reference to a store with the given name ...",
614         "static": false,
615         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
616         "private": false,
617         "params": [
618           {
619             "type": "Object",
620             "optional": false,
621             "doc": "<p>{String}</p>\n",
622             "name": "name"
623           }
624         ],
625         "name": "getStore",
626         "owner": "Ext.app.Controller",
627         "doc": "<p>Returns a reference to a <a href=\"#/api/Ext.data.Store\" rel=\"Ext.data.Store\" class=\"docClass\">store</a> with the given name</p>\n",
628         "linenr": 308,
629         "return": {
630           "type": "void",
631           "doc": "\n"
632         },
633         "html_filename": "Controller.html"
634       },
635       {
636         "deprecated": null,
637         "alias": null,
638         "protected": false,
639         "tagname": "method",
640         "href": "Controller.html#Ext-app-Controller-method-getView",
641         "shortDoc": "Returns a reference to a view with the given name ...",
642         "static": false,
643         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
644         "private": false,
645         "params": [
646           {
647             "type": "Object",
648             "optional": false,
649             "doc": "<p>{String}</p>\n",
650             "name": "name"
651           }
652         ],
653         "name": "getView",
654         "owner": "Ext.app.Controller",
655         "doc": "<p>Returns a reference to a view with the given name</p>\n",
656         "linenr": 324,
657         "return": {
658           "type": "void",
659           "doc": "\n"
660         },
661         "html_filename": "Controller.html"
662       },
663       {
664         "deprecated": null,
665         "alias": null,
666         "protected": false,
667         "tagname": "method",
668         "href": "Observable.html#Ext-util-Observable-method-hasListener",
669         "shortDoc": "Checks to see if this object has any listeners for a specified event ...",
670         "static": false,
671         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
672         "private": false,
673         "params": [
674           {
675             "type": "String",
676             "optional": false,
677             "doc": "<p>The name of the event to check for</p>\n",
678             "name": "eventName"
679           }
680         ],
681         "name": "hasListener",
682         "owner": "Ext.util.Observable",
683         "doc": "<p>Checks to see if this object has any listeners for a specified event</p>\n",
684         "linenr": 530,
685         "return": {
686           "type": "Boolean",
687           "doc": "<p>True if the event is being listened for, else false</p>\n"
688         },
689         "html_filename": "Observable.html"
690       },
691       {
692         "deprecated": null,
693         "alias": null,
694         "protected": false,
695         "tagname": "method",
696         "href": "Base3.html#Ext-Base-method-implement",
697         "shortDoc": "Add methods / properties to the prototype of this class. ...",
698         "static": true,
699         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
700         "private": false,
701         "params": [
702           {
703             "type": "Object",
704             "optional": false,
705             "doc": "\n",
706             "name": "members"
707           }
708         ],
709         "name": "implement",
710         "owner": "Ext.Base",
711         "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",
712         "linenr": 415,
713         "return": {
714           "type": "void",
715           "doc": "\n"
716         },
717         "html_filename": "Base3.html"
718       },
719       {
720         "deprecated": null,
721         "alias": null,
722         "protected": true,
723         "tagname": "method",
724         "href": "Base3.html#Ext-Base-method-initConfig",
725         "shortDoc": "Initialize configuration for this class. ...",
726         "static": false,
727         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
728         "private": false,
729         "params": [
730           {
731             "type": "Object",
732             "optional": false,
733             "doc": "\n",
734             "name": "config"
735           }
736         ],
737         "name": "initConfig",
738         "owner": "Ext.Base",
739         "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",
740         "linenr": 63,
741         "return": {
742           "type": "Object",
743           "doc": "<p>mixins The mixin prototypes as key - value pairs</p>\n"
744         },
745         "html_filename": "Base3.html"
746       },
747       {
748         "deprecated": null,
749         "alias": {
750           "tagname": "alias",
751           "cls": "Ext.util.Observable",
752           "doc": null,
753           "owner": "addManagedListener"
754         },
755         "protected": false,
756         "tagname": "method",
757         "href": "Observable.html#Ext-util-Observable-method-mon",
758         "shortDoc": "Shorthand for addManagedListener. ...",
759         "static": false,
760         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
761         "private": false,
762         "params": [
763           {
764             "type": "Observable/Element",
765             "optional": false,
766             "doc": "<p>The item to which to add a listener/listeners.</p>\n",
767             "name": "item"
768           },
769           {
770             "type": "Object/String",
771             "optional": false,
772             "doc": "<p>The event name, or an object containing event name properties.</p>\n",
773             "name": "ename"
774           },
775           {
776             "type": "Function",
777             "optional": true,
778             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the handler function.</p>\n",
779             "name": "fn"
780           },
781           {
782             "type": "Object",
783             "optional": true,
784             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the scope (<code>this</code> reference)\nin which the handler function is executed.</p>\n",
785             "name": "scope"
786           },
787           {
788             "type": "Object",
789             "optional": true,
790             "doc": "<p>(optional) If the <code>ename</code> parameter was an event name, this is the\n<a href=\"#/api/Ext.util.Observable-method-addListener\" rel=\"Ext.util.Observable-method-addListener\" class=\"docClass\">addListener</a> options.</p>\n",
791             "name": "opt"
792           }
793         ],
794         "name": "mon",
795         "owner": "Ext.util.Observable",
796         "doc": "<p>Shorthand for <a href=\"#/api/Ext.app.Controller-method-addManagedListener\" rel=\"Ext.app.Controller-method-addManagedListener\" class=\"docClass\">addManagedListener</a>.</p>\n\n<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component is\ndestroyed.</p>\n",
797         "linenr": 681,
798         "return": {
799           "type": "void",
800           "doc": "\n"
801         },
802         "html_filename": "Observable.html"
803       },
804       {
805         "deprecated": null,
806         "alias": {
807           "tagname": "alias",
808           "cls": "Ext.util.Observable",
809           "doc": null,
810           "owner": "removeManagedListener"
811         },
812         "protected": false,
813         "tagname": "method",
814         "href": "Observable.html#Ext-util-Observable-method-mun",
815         "shortDoc": "Shorthand for removeManagedListener. ...",
816         "static": false,
817         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
818         "private": false,
819         "params": [
820           {
821             "type": "Observable|Element",
822             "optional": false,
823             "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
824             "name": "item"
825           },
826           {
827             "type": "Object|String",
828             "optional": false,
829             "doc": "<p>The event name, or an object containing event name properties.</p>\n",
830             "name": "ename"
831           },
832           {
833             "type": "Function",
834             "optional": false,
835             "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this is the handler function.</p>\n",
836             "name": "fn"
837           },
838           {
839             "type": "Object",
840             "optional": false,
841             "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this is the scope (<code>this</code> reference)\nin which the handler function is executed.</p>\n",
842             "name": "scope"
843           }
844         ],
845         "name": "mun",
846         "owner": "Ext.util.Observable",
847         "doc": "<p>Shorthand for <a href=\"#/api/Ext.app.Controller-method-removeManagedListener\" rel=\"Ext.app.Controller-method-removeManagedListener\" class=\"docClass\">removeManagedListener</a>.</p>\n\n<p>Removes listeners that were added by the <a href=\"#/api/Ext.app.Controller-method-mon\" rel=\"Ext.app.Controller-method-mon\" class=\"docClass\">mon</a> method.</p>\n",
848         "linenr": 687,
849         "return": {
850           "type": "void",
851           "doc": "\n"
852         },
853         "html_filename": "Observable.html"
854       },
855       {
856         "deprecated": null,
857         "alias": null,
858         "protected": false,
859         "tagname": "method",
860         "href": "Observable.html#Ext-util-Observable-method-observe",
861         "shortDoc": "Sets observability on the passed class constructor. ...",
862         "static": true,
863         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
864         "private": false,
865         "params": [
866           {
867             "type": "Function",
868             "optional": false,
869             "doc": "<p>The class constructor to make observable.</p>\n",
870             "name": "c"
871           },
872           {
873             "type": "Object",
874             "optional": false,
875             "doc": "<p>An object containing a series of listeners to add. See <a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a>.</p>\n",
876             "name": "listeners"
877           }
878         ],
879         "name": "observe",
880         "owner": "Ext.util.Observable",
881         "doc": "<p>Sets observability on the passed class constructor.</p>\n\n<p>This makes any event fired on any instance of the passed class also fire a single event through\nthe <strong>class</strong> allowing for central handling of events on many instances at once.</p>\n\n<p>Usage:</p>\n\n<pre><code>Ext.util.Observable.observe(Ext.data.Connection);\nExt.data.Connection.on('beforerequest', function(con, options) {\n    console.log('Ajax request made to ' + options.url);\n});\n</code></pre>\n",
882         "linenr": 69,
883         "return": {
884           "type": "void",
885           "doc": "\n"
886         },
887         "html_filename": "Observable.html"
888       },
889       {
890         "deprecated": null,
891         "alias": {
892           "tagname": "alias",
893           "cls": "Ext.util.Observable",
894           "doc": null,
895           "owner": "addListener"
896         },
897         "protected": false,
898         "tagname": "method",
899         "href": "Observable.html#Ext-util-Observable-method-on",
900         "shortDoc": "Shorthand for addListener. ...",
901         "static": false,
902         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
903         "private": false,
904         "params": [
905           {
906             "type": "String",
907             "optional": false,
908             "doc": "<p>The name of the event to listen for. May also be an object who's property names are\nevent names.</p>\n",
909             "name": "eventName"
910           },
911           {
912             "type": "Function",
913             "optional": false,
914             "doc": "<p>The method the event invokes.  Will be called with arguments given to\n<a href=\"#/api/Ext.app.Controller-method-fireEvent\" rel=\"Ext.app.Controller-method-fireEvent\" class=\"docClass\">fireEvent</a> plus the <code>options</code> parameter described below.</p>\n",
915             "name": "handler"
916           },
917           {
918             "type": "Object",
919             "optional": true,
920             "doc": "<p>(optional) The scope (<code>this</code> reference) in which the handler function is executed. <strong>If\nomitted, defaults to the object which fired the event.</strong></p>\n",
921             "name": "scope"
922           },
923           {
924             "type": "Object",
925             "optional": true,
926             "doc": "<p>(optional) An object containing handler configuration.</p>\n\n<p><strong>Note:</strong> Unlike in ExtJS 3.x, the options object will also be passed as the last argument to every event handler.</p>\n\n<p>This object may contain any of the following properties:</p>\n\n<ul>\n<li><p><strong>scope</strong> : Object</p>\n\n<p>The scope (<code>this</code> reference) in which the handler function is executed. <strong>If omitted, defaults to the object\nwhich fired the event.</strong></p></li>\n<li><p><strong>delay</strong> : Number</p>\n\n<p>The number of milliseconds to delay the invocation of the handler after the event fires.</p></li>\n<li><p><strong>single</strong> : Boolean</p>\n\n<p>True to add a handler to handle just the next firing of the event, and then remove itself.</p></li>\n<li><p><strong>buffer</strong> : Number</p>\n\n<p>Causes the handler to be scheduled to run in an <a href=\"#/api/Ext.util.DelayedTask\" rel=\"Ext.util.DelayedTask\" class=\"docClass\">Ext.util.DelayedTask</a> delayed by the specified number of\nmilliseconds. If the event fires again within that time, the original handler is <em>not</em> invoked, but the new\nhandler is scheduled in its place.</p></li>\n<li><p><strong>target</strong> : Observable</p>\n\n<p>Only call the handler if the event was fired on the target Observable, <em>not</em> if the event was bubbled up from a\nchild Observable.</p></li>\n<li><p><strong>element</strong> : String</p>\n\n<p><strong>This option is only valid for listeners bound to <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a>.</strong> The name of a Component\nproperty which references an element to add a listener to.</p>\n\n<p>This option is useful during Component construction to add DOM event listeners to elements of\n<a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a> which will exist only after the Component is rendered.\nFor example, to add a click listener to a Panel's body:</p>\n\n<pre><code>new Ext.panel.Panel({\n    title: 'The title',\n    listeners: {\n        click: this.handlePanelClick,\n        element: 'body'\n    }\n});\n</code></pre></li>\n</ul>\n\n\n<p><strong>Combining Options</strong></p>\n\n<p>Using the options argument, it is possible to combine different types of listeners:</p>\n\n<p>A delayed, one-time listener.</p>\n\n<pre><code>myPanel.on('hide', this.handleClick, this, {\n    single: true,\n    delay: 100\n});\n</code></pre>\n\n<p><strong>Attaching multiple handlers in 1 call</strong></p>\n\n<p>The method also allows for a single argument to be passed which is a config object containing properties which\nspecify multiple events. For example:</p>\n\n<pre><code>myGridPanel.on({\n    cellClick: this.onCellClick,\n    mouseover: this.onMouseOver,\n    mouseout: this.onMouseOut,\n    scope: this // Important. Ensure \"this\" is correct during handler execution\n});\n</code></pre>\n\n<p>One can also specify options for each event handler separately:</p>\n\n<pre><code>myGridPanel.on({\n    cellClick: {fn: this.onCellClick, scope: this, single: true},\n    mouseover: {fn: panel.onMouseOver, scope: panel}\n});\n</code></pre>\n",
927             "name": "options"
928           }
929         ],
930         "name": "on",
931         "owner": "Ext.util.Observable",
932         "doc": "<p>Shorthand for <a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a>.</p>\n\n<p>Appends an event handler to this object.</p>\n",
933         "linenr": 669,
934         "return": {
935           "type": "void",
936           "doc": "\n"
937         },
938         "html_filename": "Observable.html"
939       },
940       {
941         "deprecated": null,
942         "alias": null,
943         "protected": false,
944         "tagname": "method",
945         "href": "Base3.html#Ext-Base-method-override",
946         "shortDoc": "Override prototype members of this class. ...",
947         "static": true,
948         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
949         "private": false,
950         "params": [
951           {
952             "type": "Object",
953             "optional": false,
954             "doc": "\n",
955             "name": "members"
956           }
957         ],
958         "name": "override",
959         "owner": "Ext.Base",
960         "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",
961         "linenr": 518,
962         "return": {
963           "type": "Ext.Base",
964           "doc": "<p>this</p>\n"
965         },
966         "html_filename": "Base3.html"
967       },
968       {
969         "deprecated": null,
970         "alias": null,
971         "protected": false,
972         "tagname": "method",
973         "href": "Observable.html#Ext-util-Observable-method-relayEvents",
974         "shortDoc": "Relays selected events from the specified Observable as if the events were fired by this. ...",
975         "static": false,
976         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
977         "private": false,
978         "params": [
979           {
980             "type": "Object",
981             "optional": false,
982             "doc": "<p>The Observable whose events this object is to relay.</p>\n",
983             "name": "origin"
984           },
985           {
986             "type": "[String]",
987             "optional": false,
988             "doc": "<p>Array of event names to relay.</p>\n",
989             "name": "events"
990           },
991           {
992             "type": "Object",
993             "optional": false,
994             "doc": "\n",
995             "name": "prefix"
996           }
997         ],
998         "name": "relayEvents",
999         "owner": "Ext.util.Observable",
1000         "doc": "<p>Relays selected events from the specified Observable as if the events were fired by <code>this</code>.</p>\n",
1001         "linenr": 573,
1002         "return": {
1003           "type": "void",
1004           "doc": "\n"
1005         },
1006         "html_filename": "Observable.html"
1007       },
1008       {
1009         "deprecated": null,
1010         "alias": null,
1011         "protected": false,
1012         "tagname": "method",
1013         "href": "Observable.html#Ext-util-Observable-method-releaseCapture",
1014         "shortDoc": "Removes all added captures from the Observable. ...",
1015         "static": true,
1016         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1017         "private": false,
1018         "params": [
1019           {
1020             "type": "Observable",
1021             "optional": false,
1022             "doc": "<p>The Observable to release</p>\n",
1023             "name": "o"
1024           }
1025         ],
1026         "name": "releaseCapture",
1027         "owner": "Ext.util.Observable",
1028         "doc": "<p>Removes <strong>all</strong> added captures from the Observable.</p>\n",
1029         "linenr": 44,
1030         "return": {
1031           "type": "void",
1032           "doc": "\n"
1033         },
1034         "html_filename": "Observable.html"
1035       },
1036       {
1037         "deprecated": null,
1038         "alias": null,
1039         "protected": false,
1040         "tagname": "method",
1041         "href": "Observable.html#Ext-util-Observable-method-removeListener",
1042         "shortDoc": "Removes an event handler. ...",
1043         "static": false,
1044         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1045         "private": false,
1046         "params": [
1047           {
1048             "type": "String",
1049             "optional": false,
1050             "doc": "<p>The type of event the handler was associated with.</p>\n",
1051             "name": "eventName"
1052           },
1053           {
1054             "type": "Function",
1055             "optional": false,
1056             "doc": "<p>The handler to remove. <strong>This must be a reference to the function passed into the\n<a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a> call.</strong></p>\n",
1057             "name": "handler"
1058           },
1059           {
1060             "type": "Object",
1061             "optional": true,
1062             "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
1063             "name": "scope"
1064           }
1065         ],
1066         "name": "removeListener",
1067         "owner": "Ext.util.Observable",
1068         "doc": "<p>Removes an event handler.</p>\n",
1069         "linenr": 392,
1070         "return": {
1071           "type": "void",
1072           "doc": "\n"
1073         },
1074         "html_filename": "Observable.html"
1075       },
1076       {
1077         "deprecated": null,
1078         "alias": null,
1079         "protected": false,
1080         "tagname": "method",
1081         "href": "Observable.html#Ext-util-Observable-method-removeManagedListener",
1082         "shortDoc": "Removes listeners that were added by the mon method. ...",
1083         "static": false,
1084         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1085         "private": false,
1086         "params": [
1087           {
1088             "type": "Observable|Element",
1089             "optional": false,
1090             "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
1091             "name": "item"
1092           },
1093           {
1094             "type": "Object|String",
1095             "optional": false,
1096             "doc": "<p>The event name, or an object containing event name properties.</p>\n",
1097             "name": "ename"
1098           },
1099           {
1100             "type": "Function",
1101             "optional": false,
1102             "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this is the handler function.</p>\n",
1103             "name": "fn"
1104           },
1105           {
1106             "type": "Object",
1107             "optional": false,
1108             "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this is the scope (<code>this</code> reference)\nin which the handler function is executed.</p>\n",
1109             "name": "scope"
1110           }
1111         ],
1112         "name": "removeManagedListener",
1113         "owner": "Ext.util.Observable",
1114         "doc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.app.Controller-method-mon\" rel=\"Ext.app.Controller-method-mon\" class=\"docClass\">mon</a> method.</p>\n",
1115         "linenr": 197,
1116         "return": {
1117           "type": "void",
1118           "doc": "\n"
1119         },
1120         "html_filename": "Observable.html"
1121       },
1122       {
1123         "deprecated": null,
1124         "alias": null,
1125         "protected": false,
1126         "tagname": "method",
1127         "href": "Observable.html#Ext-util-Observable-method-resumeEvents",
1128         "shortDoc": "Resumes firing events (see suspendEvents). ...",
1129         "static": false,
1130         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1131         "private": false,
1132         "params": [
1133
1134         ],
1135         "name": "resumeEvents",
1136         "owner": "Ext.util.Observable",
1137         "doc": "<p>Resumes firing events (see <a href=\"#/api/Ext.app.Controller-method-suspendEvents\" rel=\"Ext.app.Controller-method-suspendEvents\" class=\"docClass\">suspendEvents</a>).</p>\n\n<p>If events were suspended using the <code>**queueSuspended**</code> parameter, then all events fired\nduring event suspension will be sent to any listeners now.</p>\n",
1138         "linenr": 554,
1139         "return": {
1140           "type": "void",
1141           "doc": "\n"
1142         },
1143         "html_filename": "Observable.html"
1144       },
1145       {
1146         "deprecated": null,
1147         "alias": null,
1148         "protected": true,
1149         "tagname": "method",
1150         "href": "Base3.html#Ext-Base-method-statics",
1151         "shortDoc": "Get the reference to the class from which this object was instantiated. ...",
1152         "static": false,
1153         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
1154         "private": false,
1155         "params": [
1156
1157         ],
1158         "name": "statics",
1159         "owner": "Ext.Base",
1160         "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",
1161         "linenr": 199,
1162         "return": {
1163           "type": "Class",
1164           "doc": "\n"
1165         },
1166         "html_filename": "Base3.html"
1167       },
1168       {
1169         "deprecated": null,
1170         "alias": null,
1171         "protected": false,
1172         "tagname": "method",
1173         "href": "Observable.html#Ext-util-Observable-method-suspendEvents",
1174         "shortDoc": "Suspends the firing of all events. ...",
1175         "static": false,
1176         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1177         "private": false,
1178         "params": [
1179           {
1180             "type": "Boolean",
1181             "optional": false,
1182             "doc": "<p>Pass as true to queue up suspended events to be fired\nafter the <a href=\"#/api/Ext.app.Controller-method-resumeEvents\" rel=\"Ext.app.Controller-method-resumeEvents\" class=\"docClass\">resumeEvents</a> call instead of discarding all suspended events.</p>\n",
1183             "name": "queueSuspended"
1184           }
1185         ],
1186         "name": "suspendEvents",
1187         "owner": "Ext.util.Observable",
1188         "doc": "<p>Suspends the firing of all events. (see <a href=\"#/api/Ext.app.Controller-method-resumeEvents\" rel=\"Ext.app.Controller-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n",
1189         "linenr": 541,
1190         "return": {
1191           "type": "void",
1192           "doc": "\n"
1193         },
1194         "html_filename": "Observable.html"
1195       },
1196       {
1197         "deprecated": null,
1198         "alias": {
1199           "tagname": "alias",
1200           "cls": "Ext.util.Observable",
1201           "doc": null,
1202           "owner": "removeListener"
1203         },
1204         "protected": false,
1205         "tagname": "method",
1206         "href": "Observable.html#Ext-util-Observable-method-un",
1207         "shortDoc": "Shorthand for removeListener. ...",
1208         "static": false,
1209         "filename": "/mnt/ebs/nightly/git/SDK/platform/src/util/Observable.js",
1210         "private": false,
1211         "params": [
1212           {
1213             "type": "String",
1214             "optional": false,
1215             "doc": "<p>The type of event the handler was associated with.</p>\n",
1216             "name": "eventName"
1217           },
1218           {
1219             "type": "Function",
1220             "optional": false,
1221             "doc": "<p>The handler to remove. <strong>This must be a reference to the function passed into the\n<a href=\"#/api/Ext.app.Controller-method-addListener\" rel=\"Ext.app.Controller-method-addListener\" class=\"docClass\">addListener</a> call.</strong></p>\n",
1222             "name": "handler"
1223           },
1224           {
1225             "type": "Object",
1226             "optional": true,
1227             "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
1228             "name": "scope"
1229           }
1230         ],
1231         "name": "un",
1232         "owner": "Ext.util.Observable",
1233         "doc": "<p>Shorthand for <a href=\"#/api/Ext.app.Controller-method-removeListener\" rel=\"Ext.app.Controller-method-removeListener\" class=\"docClass\">removeListener</a>.</p>\n\n<p>Removes an event handler.</p>\n",
1234         "linenr": 675,
1235         "return": {
1236           "type": "void",
1237           "doc": "\n"
1238         },
1239         "html_filename": "Observable.html"
1240       }
1241     ],
1242     "property": [
1243       {
1244         "type": "Class",
1245         "deprecated": null,
1246         "alias": null,
1247         "protected": true,
1248         "tagname": "property",
1249         "href": "Base3.html#Ext-Base-property-self",
1250         "shortDoc": "Get the reference to the current class from which this object was instantiated. ...",
1251         "static": false,
1252         "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js",
1253         "private": false,
1254         "name": "self",
1255         "owner": "Ext.Base",
1256         "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",
1257         "linenr": 18,
1258         "html_filename": "Base3.html"
1259       }
1260     ],
1261     "cssVar": [
1262
1263     ],
1264     "cssMixin": [
1265
1266     ],
1267     "event": [
1268
1269     ]
1270   },
1271   "singleton": false,
1272   "alias": null,
1273   "superclasses": [
1274     "Ext.Base"
1275   ],
1276   "protected": false,
1277   "tagname": "class",
1278   "mixins": [
1279     "Ext.util.Observable"
1280   ],
1281   "href": "Controller.html#Ext-app-Controller",
1282   "subclasses": [
1283     "Ext.app.Application"
1284   ],
1285   "static": false,
1286   "author": null,
1287   "component": false,
1288   "filename": "/mnt/ebs/nightly/git/SDK/platform/src/app/Controller.js",
1289   "private": false,
1290   "alternateClassNames": [
1291
1292   ],
1293   "name": "Ext.app.Controller",
1294   "doc": "<p>Controllers are the glue that binds an application together. All they really do is listen for events (usually from\nviews) and take some action. Here's how we might create a Controller to manage Users:</p>\n\n<pre><code>Ext.define('MyApp.controller.Users', {\n    extend: 'Ext.app.Controller',\n\n    init: function() {\n        console.log('Initialized Users! This happens before the Application launch function is called');\n    }\n});\n</code></pre>\n\n<p>The init function is a special method that is called when your application boots. It is called before the\n<a href=\"#/api/Ext.app.Application\" rel=\"Ext.app.Application\" class=\"docClass\">Application</a>'s launch function is executed so gives a hook point to run any code before\nyour Viewport is created.</p>\n\n<p>The init function is a great place to set up how your controller interacts with the view, and is usually used in\nconjunction with another Controller function - <a href=\"#/api/Ext.app.Controller-method-control\" rel=\"Ext.app.Controller-method-control\" class=\"docClass\">control</a>. The control function\nmakes it easy to listen to events on your view classes and take some action with a handler function. Let's update\nour Users controller to tell us when the panel is rendered:</p>\n\n<pre><code>Ext.define('MyApp.controller.Users', {\n    extend: 'Ext.app.Controller',\n\n    init: function() {\n        this.control({\n            'viewport &gt; panel': {\n                render: this.onPanelRendered\n            }\n        });\n    },\n\n    onPanelRendered: function() {\n        console.log('The panel was rendered');\n    }\n});\n</code></pre>\n\n<p>We've updated the init function to use this.control to set up listeners on views in our application. The control\nfunction uses the new ComponentQuery engine to quickly and easily get references to components on the page. If you\nare not familiar with ComponentQuery yet, be sure to check out THIS GUIDE for a full explanation. In brief though,\nit allows us to pass a CSS-like selector that will find every matching component on the page.</p>\n\n<p>In our init function above we supplied 'viewport > panel', which translates to \"find me every Panel that is a direct\nchild of a Viewport\". We then supplied an object that maps event names (just 'render' in this case) to handler\nfunctions. The overall effect is that whenever any component that matches our selector fires a 'render' event, our\nonPanelRendered function is called.</p>\n\n<p><u>Using refs</u></p>\n\n<p>One of the most useful parts of Controllers is the new ref system. These use the new <a href=\"#/api/Ext.ComponentQuery\" rel=\"Ext.ComponentQuery\" class=\"docClass\">Ext.ComponentQuery</a> to\nmake it really easy to get references to Views on your page. Let's look at an example of this now:</p>\n\n<pre><code>Ext.define('MyApp.controller.Users', {\n    extend: 'Ext.app.Controller',\n\n    refs: [\n        {\n            ref: 'list',\n            selector: 'grid'\n        }\n    ],\n\n    init: function() {\n        this.control({\n            'button': {\n                click: this.refreshGrid\n            }\n        });\n    },\n\n    refreshGrid: function() {\n        this.getList().store.load();\n    }\n});\n</code></pre>\n\n<p>This example assumes the existence of a <a href=\"#/api/Ext.grid.Panel\" rel=\"Ext.grid.Panel\" class=\"docClass\">Grid</a> on the page, which contains a single button to\nrefresh the Grid when clicked. In our refs array, we set up a reference to the grid. There are two parts to this -\nthe 'selector', which is a <a href=\"#/api/Ext.ComponentQuery\" rel=\"Ext.ComponentQuery\" class=\"docClass\">ComponentQuery</a> selector which finds any grid on the page and\nassigns it to the reference 'list'.</p>\n\n<p>By giving the reference a name, we get a number of things for free. The first is the getList function that we use in\nthe refreshGrid method above. This is generated automatically by the Controller based on the name of our ref, which\nwas capitalized and prepended with get to go from 'list' to 'getList'.</p>\n\n<p>The way this works is that the first time getList is called by your code, the ComponentQuery selector is run and the\nfirst component that matches the selector ('grid' in this case) will be returned. All future calls to getList will\nuse a cached reference to that grid. Usually it is advised to use a specific ComponentQuery selector that will only\nmatch a single View in your application (in the case above our selector will match any grid on the page).</p>\n\n<p>Bringing it all together, our init function is called when the application boots, at which time we call this.control\nto listen to any click on a <a href=\"#/api/Ext.button.Button\" rel=\"Ext.button.Button\" class=\"docClass\">button</a> and call our refreshGrid function (again, this will\nmatch any button on the page so we advise a more specific selector than just 'button', but have left it this way for\nsimplicity). When the button is clicked we use out getList function to refresh the grid.</p>\n\n<p>You can create any number of refs and control any number of components this way, simply adding more functions to\nyour Controller as you go. For an example of real-world usage of Controllers see the Feed Viewer example in the\nexamples/app/feed-viewer folder in the SDK download.</p>\n\n<p><u>Generated getter methods</u></p>\n\n<p>Refs aren't the only thing that generate convenient getter methods. Controllers often have to deal with Models and\nStores so the framework offers a couple of easy ways to get access to those too. Let's look at another example:</p>\n\n<pre><code>Ext.define('MyApp.controller.Users', {\n    extend: 'Ext.app.Controller',\n\n    models: ['User'],\n    stores: ['AllUsers', 'AdminUsers'],\n\n    init: function() {\n        var User = this.getUserModel(),\n            allUsers = this.getAllUsersStore();\n\n        var ed = new User({name: 'Ed'});\n        allUsers.add(ed);\n    }\n});\n</code></pre>\n\n<p>By specifying Models and Stores that the Controller cares about, it again dynamically loads them from the appropriate\nlocations (app/model/User.js, app/store/AllUsers.js and app/store/AdminUsers.js in this case) and creates getter\nfunctions for them all. The example above will create a new User model instance and add it to the AllUsers Store.\nOf course, you could do anything in this function but in this case we just did something simple to demonstrate the\nfunctionality.</p>\n\n<p><u>Further Reading</u></p>\n\n<p>For more information about writing <a href=\"#/api/Ext\" rel=\"Ext\" class=\"docClass\">Ext</a> JS 4 applications, please see the\n<a href=\"#/guide/application_architecture\">application architecture guide</a>. Also see the <a href=\"#/api/Ext.app.Application\" rel=\"Ext.app.Application\" class=\"docClass\">Ext.app.Application</a> documentation.</p>\n",
1295   "mixedInto": [
1296
1297   ],
1298   "linenr": 1,
1299   "xtypes": [
1300
1301   ],
1302   "html_filename": "Controller.html",
1303   "extends": "Ext.Base"
1304 });