Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / output / Ext.direct.RemotingProvider.js
1 Ext.data.JsonP.Ext_direct_RemotingProvider({
2   "tagname": "class",
3   "name": "Ext.direct.RemotingProvider",
4   "doc": "<p>The <a href=\"#/api/Ext.direct.RemotingProvider\" rel=\"Ext.direct.RemotingProvider\" class=\"docClass\">RemotingProvider</a> exposes access to\nserver side methods on the client (a remote procedure call (RPC) type of\nconnection where the client can initiate a procedure on the server).</p>\n\n\n\n\n<p>This allows for code to be organized in a fashion that is maintainable,\nwhile providing a clear path between client and server, something that is\nnot always apparent when using URLs.</p>\n\n\n\n\n<p>To accomplish this the server-side needs to describe what classes and methods\nare available on the client-side. This configuration will typically be\noutputted by the server-side Ext.Direct stack when the API description is built.</p>\n\n",
5   "extends": "Ext.direct.JsonProvider",
6   "mixins": [
7
8   ],
9   "alternateClassNames": [
10
11   ],
12   "xtype": null,
13   "author": null,
14   "docauthor": null,
15   "singleton": false,
16   "private": false,
17   "cfg": [
18     {
19       "tagname": "cfg",
20       "name": "actions",
21       "member": "Ext.direct.RemotingProvider",
22       "type": "Object",
23       "doc": "<p>Object literal defining the server side actions and methods. For example, if\nthe Provider is configured with:</p>\n\n<pre><code>\"actions\":{ // each property within the 'actions' object represents a server side Class \n    \"TestAction\":[ // array of methods within each server side Class to be   \n    {              // stubbed out on client\n        \"name\":\"doEcho\", \n        \"len\":1            \n    },{\n        \"name\":\"multiply\",// name of method\n        \"len\":2           // The number of parameters that will be used to create an\n                          // array of data to send to the server side function.\n                          // Ensure the server sends back a Number, not a String. \n    },{\n        \"name\":\"doForm\",\n        \"formHandler\":true, // direct the client to use specialized form handling method \n        \"len\":1\n    }]\n}\n</code></pre>\n\n\n<p>Note that a Store is not required, a server method can be called at any time.\nIn the following example a <b>client side</b> handler is used to call the\nserver side method \"multiply\" in the server-side \"TestAction\" Class:</p>\n\n\n<pre><code>TestAction.multiply(\n    2, 4, // pass two arguments to server, so specify len=2\n    // callback function after the server is called\n    // result: the result returned by the server\n    //      e: <a href=\"#/api/Ext.direct.RemotingEvent\" rel=\"Ext.direct.RemotingEvent\" class=\"docClass\">Ext.direct.RemotingEvent</a> object\n    function(result, e){\n        var t = e.getTransaction();\n        var action = t.action; // server side Class called\n        var method = t.method; // server side method called\n        if(e.status){\n            var answer = Ext.encode(result); // 8\n    \n        }else{\n            var msg = e.message; // failure message\n        }\n    }\n);\n</code></pre>\n\n\n<p>In the example above, the server side \"multiply\" function will be passed two\narguments (2 and 4).  The \"multiply\" method should return the value 8 which will be\navailable as the <tt>result</tt> in the example above.</p>\n",
24       "private": false,
25       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
26       "linenr": 34,
27       "html_filename": "RemotingProvider.html",
28       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-actions",
29       "shortDoc": "Object literal defining the server side actions and methods. For example, if\nthe Provider is configured with:\n\n\"actio..."
30     },
31     {
32       "tagname": "cfg",
33       "name": "enableBuffer",
34       "member": "Ext.direct.RemotingProvider",
35       "type": "Number/Boolean",
36       "doc": "<p><tt>true</tt> or <tt>false</tt> to enable or disable combining of method\ncalls. If a number is specified this is the amount of time in milliseconds\nto wait before sending a batched request (defaults to <tt>10</tt>).</p>\n\n\n<br><p>Calls which are received within the specified timeframe will be\n\n\n<p>concatenated together and sent in a single request, optimizing the\napplication by reducing the amount of round trips that have to be made\nto the server.</p></p>\n",
37       "private": false,
38       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
39       "linenr": 101,
40       "html_filename": "RemotingProvider.html",
41       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-enableBuffer",
42       "shortDoc": "true or false to enable or disable combining of method\ncalls. If a number is specified this is the amount of time in ..."
43     },
44     {
45       "tagname": "cfg",
46       "name": "enableUrlEncode",
47       "member": "Ext.direct.RemotingProvider",
48       "type": "String",
49       "doc": "<p>Specify which param will hold the arguments for the method.\nDefaults to <tt>'data'</tt>.</p>\n",
50       "private": false,
51       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
52       "linenr": 95,
53       "html_filename": "RemotingProvider.html",
54       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-enableUrlEncode"
55     },
56     {
57       "tagname": "cfg",
58       "name": "id",
59       "member": "Ext.direct.Provider",
60       "type": "String",
61       "doc": "<p>The unique id of the provider (defaults to an <a href=\"#/api/Ext-method-id\" rel=\"Ext-method-id\" class=\"docClass\">auto-assigned id</a>).\nYou should assign an id if you need to be able to access the provider later and you do\nnot have an object reference available, for example:</p>\n\n<pre><code>Ext.direct.Manager.addProvider({\n    type: 'polling',\n    url:  'php/poll.php',\n    id:   'poll-provider'\n});     \nvar p = <a href=\"#/api/Ext.direct.Manager\" rel=\"Ext.direct.Manager\" class=\"docClass\">Ext.direct.Manager</a>.<a href=\"#/api/Ext.direct.Manager-method-getProvider\" rel=\"Ext.direct.Manager-method-getProvider\" class=\"docClass\">getProvider</a>('poll-provider');\np.disconnect();\n</code></pre>\n\n",
62       "private": false,
63       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
64       "linenr": 29,
65       "html_filename": "Provider.html",
66       "href": "Provider.html#Ext-direct-Provider-cfg-id",
67       "shortDoc": "The unique id of the provider (defaults to an auto-assigned id).\nYou should assign an id if you need to be able to ac..."
68     },
69     {
70       "tagname": "cfg",
71       "name": "listeners",
72       "member": "Ext.util.Observable",
73       "type": "Object",
74       "doc": "<p>(optional) <p>A config object containing one or more event handlers to be added to this\nobject during initialization.  This should be a valid listeners config object as specified in the\n<a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a> example for attaching multiple handlers at once.</p></p>\n\n<br><p><b><u>DOM events from ExtJs <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a></u></b></p>\n\n\n<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. \"click\", \"mouseover\" etc), this\n\n\n<p>is usually only 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\n<b><code><a href=\"#/api/Ext.view.View--click\" rel=\"Ext.view.View--click\" class=\"docClass\">click</a></code></b> event passing the node clicked on. To access DOM\nevents directly from a child element of a Component, we need to specify the <code>element</code> option to\nidentify the Component property to add a DOM 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\n\n<p></p></p>\n",
75       "private": false,
76       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
77       "linenr": 103,
78       "html_filename": "Observable.html",
79       "href": "Observable.html#Ext-util-Observable-cfg-listeners",
80       "shortDoc": "(optional) A config object containing one or more event handlers to be added to this\nobject during initialization.  T..."
81     },
82     {
83       "tagname": "cfg",
84       "name": "maxRetries",
85       "member": "Ext.direct.RemotingProvider",
86       "type": "Number",
87       "doc": "<p>Number of times to re-attempt delivery on failure of a call. Defaults to <tt>1</tt>.</p>\n",
88       "private": false,
89       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
90       "linenr": 113,
91       "html_filename": "RemotingProvider.html",
92       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-maxRetries"
93     },
94     {
95       "tagname": "cfg",
96       "name": "namespace",
97       "member": "Ext.direct.RemotingProvider",
98       "type": "String/Object",
99       "doc": "<p>Namespace for the Remoting Provider (defaults to the browser global scope of <i>window</i>).\nExplicitly specify the namespace Object, or specify a String to have a\n<a href=\"#/api/Ext-method-namespace\" rel=\"Ext-method-namespace\" class=\"docClass\">namespace created</a> implicitly.</p>\n",
100       "private": false,
101       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
102       "linenr": 83,
103       "html_filename": "RemotingProvider.html",
104       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-namespace",
105       "shortDoc": "Namespace for the Remoting Provider (defaults to the browser global scope of window).\nExplicitly specify the namespac..."
106     },
107     {
108       "tagname": "cfg",
109       "name": "timeout",
110       "member": "Ext.direct.RemotingProvider",
111       "type": "Number",
112       "doc": "<p>The timeout to use for each request. Defaults to <tt>undefined</tt>.</p>\n",
113       "private": false,
114       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
115       "linenr": 119,
116       "html_filename": "RemotingProvider.html",
117       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-timeout"
118     },
119     {
120       "tagname": "cfg",
121       "name": "url",
122       "member": "Ext.direct.RemotingProvider",
123       "type": "String",
124       "doc": "<p><b>Required</b>. The url to connect to the <a href=\"#/api/Ext.direct.Manager\" rel=\"Ext.direct.Manager\" class=\"docClass\">Ext.direct.Manager</a> server-side router.</p>\n",
125       "private": false,
126       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
127       "linenr": 90,
128       "html_filename": "RemotingProvider.html",
129       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-cfg-url"
130     }
131   ],
132   "method": [
133     {
134       "tagname": "method",
135       "name": "addEvents",
136       "member": "Ext.util.Observable",
137       "doc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n",
138       "params": [
139         {
140           "type": "Object/String",
141           "name": "o",
142           "doc": "<p>Either an object with event names as properties with a value of <code>true</code>\nor the first event name string if multiple event names are being passed as separate parameters.</p>\n",
143           "optional": false
144         },
145         {
146           "type": "String",
147           "name": "",
148           "doc": "<p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.\nUsage:</p>\n\n<pre><code>this.addEvents('storeloaded', 'storecleared');\n</code></pre>\n\n",
149           "optional": false
150         }
151       ],
152       "return": {
153         "type": "void",
154         "doc": "\n"
155       },
156       "private": false,
157       "static": false,
158       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
159       "linenr": 452,
160       "html_filename": "Observable.html",
161       "href": "Observable.html#Ext-util-Observable-method-addEvents",
162       "shortDoc": "<p>Adds the specified events to the list of events which this Observable may fire.</p>\n"
163     },
164     {
165       "tagname": "method",
166       "name": "addListener",
167       "member": "Ext.util.Observable",
168       "doc": "<p>Appends an event handler to this object.</p>\n",
169       "params": [
170         {
171           "type": "String",
172           "name": "eventName",
173           "doc": "<p>The name of the event to listen for. May also be an object who's property names are event names. See</p>\n",
174           "optional": false
175         },
176         {
177           "type": "Function",
178           "name": "handler",
179           "doc": "<p>The method the event invokes.</p>\n",
180           "optional": false
181         },
182         {
183           "type": "Object",
184           "name": "scope",
185           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
186           "optional": true
187         },
188         {
189           "type": "Object",
190           "name": "options",
191           "doc": "<p>(optional) An object containing handler configuration.\nproperties. This may contain any of the following properties:<ul>\n<li><b>scope</b> : Object<div class=\"sub-desc\">The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></div></li>\n<li><b>delay</b> : Number<div class=\"sub-desc\">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>\n<li><b>single</b> : Boolean<div class=\"sub-desc\">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>\n<li><b>buffer</b> : Number<div class=\"sub-desc\">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\nby the specified number of milliseconds. If the event fires again within that time, the original\nhandler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>\n<li><b>target</b> : Observable<div class=\"sub-desc\">Only call the handler if the event was fired on the target Observable, <i>not</i>\nif the event was bubbled up from a child Observable.</div></li>\n<li><b>element</b> : String<div class=\"sub-desc\"><b>This option is only valid for listeners bound to <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a>.</b>\nThe name of a Component property 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 <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Components</a> which\nwill exist only after the Component is rendered. For example, to add a click listener to a Panel's body:\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></p>\n\n\n<p>When added in this way, the options available are the options applicable to <a href=\"#/api/Ext.core.Element-method-addListener\" rel=\"Ext.core.Element-method-addListener\" class=\"docClass\">Ext.core.Element.addListener</a></p>\n\n\n<p></div></li>\n</ul><br></p>\n\n<p>\n<b>Combining Options</b><br>\nUsing the options argument, it is possible to combine different types of listeners:<br>\n<br>\nA delayed, one-time listener.\n<pre><code>myPanel.on('hide', this.handleClick, this, {\nsingle: true,\ndelay: 100\n});</code></pre>\n<p>\n<b>Attaching multiple handlers in 1 call</b><br>\nThe method also allows for a single argument to be passed which is a config object containing properties\nwhich specify multiple events. For example:\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<p>\n\n",
192           "optional": true
193         }
194       ],
195       "return": {
196         "type": "void",
197         "doc": "\n"
198       },
199       "private": false,
200       "static": false,
201       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
202       "linenr": 271,
203       "html_filename": "Observable.html",
204       "href": "Observable.html#Ext-util-Observable-method-addListener",
205       "shortDoc": "<p>Appends an event handler to this object.</p>\n"
206     },
207     {
208       "tagname": "method",
209       "name": "addManagedListener",
210       "member": "Ext.util.Observable",
211       "doc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n",
212       "params": [
213         {
214           "type": "Observable/Element",
215           "name": "item",
216           "doc": "<p>The item to which to add a listener/listeners.</p>\n",
217           "optional": false
218         },
219         {
220           "type": "Object/String",
221           "name": "ename",
222           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
223           "optional": false
224         },
225         {
226           "type": "Function",
227           "name": "fn",
228           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
229           "optional": false
230         },
231         {
232           "type": "Object",
233           "name": "scope",
234           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
235           "optional": false
236         },
237         {
238           "type": "Object",
239           "name": "opt",
240           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the <a href=\"#/api/Ext.util.Observable-method-addListener\" rel=\"Ext.util.Observable-method-addListener\" class=\"docClass\">addListener</a> options.</p>\n",
241           "optional": false
242         }
243       ],
244       "return": {
245         "type": "void",
246         "doc": "\n"
247       },
248       "private": false,
249       "static": false,
250       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
251       "linenr": 155,
252       "html_filename": "Observable.html",
253       "href": "Observable.html#Ext-util-Observable-method-addManagedListener",
254       "shortDoc": "<p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component\nis destroyed.\n\n"
255     },
256     {
257       "tagname": "method",
258       "name": "capture",
259       "member": "Ext.util.Observable",
260       "doc": "<p>Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + standard signature of the event\n<b>before</b> the event is fired. If the supplied function returns false,\nthe event will not fire.</p>\n",
261       "params": [
262         {
263           "type": "Observable",
264           "name": "o",
265           "doc": "<p>The Observable to capture events from.</p>\n",
266           "optional": false
267         },
268         {
269           "type": "Function",
270           "name": "fn",
271           "doc": "<p>The function to call when an event is fired.</p>\n",
272           "optional": false
273         },
274         {
275           "type": "Object",
276           "name": "scope",
277           "doc": "<p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>\n",
278           "optional": true
279         }
280       ],
281       "return": {
282         "type": "void",
283         "doc": "\n"
284       },
285       "private": false,
286       "static": true,
287       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
288       "linenr": 55,
289       "html_filename": "Observable.html",
290       "href": "Observable.html#Ext-util-Observable-method-capture",
291       "shortDoc": "Starts capture on the specified Observable. All events will be passed\nto the supplied function with the event name + ..."
292     },
293     {
294       "tagname": "method",
295       "name": "clearListeners",
296       "member": "Ext.util.Observable",
297       "doc": "<p>Removes all listeners for this object including the managed listeners</p>\n",
298       "params": [
299
300       ],
301       "return": {
302         "type": "void",
303         "doc": "\n"
304       },
305       "private": false,
306       "static": false,
307       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
308       "linenr": 383,
309       "html_filename": "Observable.html",
310       "href": "Observable.html#Ext-util-Observable-method-clearListeners",
311       "shortDoc": "<p>Removes all listeners for this object including the managed listeners</p>\n"
312     },
313     {
314       "tagname": "method",
315       "name": "clearManagedListeners",
316       "member": "Ext.util.Observable",
317       "doc": "<p>Removes all managed listeners for this object.</p>\n",
318       "params": [
319
320       ],
321       "return": {
322         "type": "void",
323         "doc": "\n"
324       },
325       "private": false,
326       "static": false,
327       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
328       "linenr": 412,
329       "html_filename": "Observable.html",
330       "href": "Observable.html#Ext-util-Observable-method-clearManagedListeners",
331       "shortDoc": "<p>Removes all managed listeners for this object.</p>\n"
332     },
333     {
334       "tagname": "method",
335       "name": "connect",
336       "member": "Ext.direct.Provider",
337       "doc": "<p>Abstract methods for subclasses to implement.</p>\n",
338       "params": [
339
340       ],
341       "return": {
342         "type": "void",
343         "doc": "\n"
344       },
345       "private": false,
346       "static": false,
347       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
348       "linenr": 86,
349       "html_filename": "Provider.html",
350       "href": "Provider.html#Ext-direct-Provider-method-connect",
351       "shortDoc": "<p>Abstract methods for subclasses to implement.</p>\n"
352     },
353     {
354       "tagname": "method",
355       "name": "createEvent",
356       "member": "Ext.direct.JsonProvider",
357       "doc": "<p>Create an event from a response object</p>\n",
358       "params": [
359         {
360           "type": "Object",
361           "name": "response",
362           "doc": "<p>The XHR response object</p>\n",
363           "optional": false
364         }
365       ],
366       "return": {
367         "type": "Ext.direct.Event",
368         "doc": "<p>The event</p>\n"
369       },
370       "private": false,
371       "static": false,
372       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/JsonProvider.js",
373       "linenr": 75,
374       "html_filename": "JsonProvider.html",
375       "href": "JsonProvider.html#Ext-direct-JsonProvider-method-createEvent",
376       "shortDoc": "<p>Create an event from a response object</p>\n"
377     },
378     {
379       "tagname": "method",
380       "name": "disconnect",
381       "member": "Ext.direct.Provider",
382       "doc": "<p>Abstract methods for subclasses to implement.</p>\n",
383       "params": [
384
385       ],
386       "return": {
387         "type": "void",
388         "doc": "\n"
389       },
390       "private": false,
391       "static": false,
392       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
393       "linenr": 92,
394       "html_filename": "Provider.html",
395       "href": "Provider.html#Ext-direct-Provider-method-disconnect",
396       "shortDoc": "<p>Abstract methods for subclasses to implement.</p>\n"
397     },
398     {
399       "tagname": "method",
400       "name": "enableBubble",
401       "member": "Ext.util.Observable",
402       "doc": "<p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\n<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\n\n\n<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href=\"#/api/Ext.Component-method-getBubbleTarget\" rel=\"Ext.Component-method-getBubbleTarget\" class=\"docClass\">Ext.Component.getBubbleTarget</a>. The default\nimplementation in <a href=\"#/api/Ext.Component\" rel=\"Ext.Component\" class=\"docClass\">Ext.Component</a> returns the Component's immediate owner. But if a known target is required, this can be overridden to\naccess the required target more quickly.</p>\n\n\n<p>Example:</p>\n\n\n<pre><code>Ext.override(Ext.form.field.Base, {\n//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\ninitComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {\n    this.enableBubble('change');\n}),\n\n//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\ngetBubbleTarget : function() {\n    if (!this.formPanel) {\n        this.formPanel = this.findParentByType('form');\n    }\n    return this.formPanel;\n}\n});\n\nvar myForm = new Ext.formPanel({\ntitle: 'User Details',\nitems: [{\n    ...\n}],\nlisteners: {\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\n",
403       "params": [
404         {
405           "type": "String/Array",
406           "name": "events",
407           "doc": "<p>The event name to bubble, or an Array of event names.</p>\n",
408           "optional": false
409         }
410       ],
411       "return": {
412         "type": "void",
413         "doc": "\n"
414       },
415       "private": false,
416       "static": false,
417       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
418       "linenr": 554,
419       "html_filename": "Observable.html",
420       "href": "Observable.html#Ext-util-Observable-method-enableBubble",
421       "shortDoc": "Enables events fired by this Observable to bubble up an owner hierarchy by calling\nthis.getBubbleTarget() if present...."
422     },
423     {
424       "tagname": "method",
425       "name": "fireEvent",
426       "member": "Ext.util.Observable",
427       "doc": "<p>Fires the specified event with the passed parameters (minus the event name).</p>\n\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>)\nby calling <a href=\"#/api/Ext.direct.RemotingProvider-method-enableBubble\" rel=\"Ext.direct.RemotingProvider-method-enableBubble\" class=\"docClass\">enableBubble</a>.</p>\n\n",
428       "params": [
429         {
430           "type": "String",
431           "name": "eventName",
432           "doc": "<p>The name of the event to fire.</p>\n",
433           "optional": false
434         },
435         {
436           "type": "Object...",
437           "name": "args",
438           "doc": "<p>Variable number of parameters are passed to handlers.</p>\n",
439           "optional": false
440         }
441       ],
442       "return": {
443         "type": "Boolean",
444         "doc": "<p>returns false if any of the handlers return false otherwise it returns true.</p>\n"
445       },
446       "private": false,
447       "static": false,
448       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
449       "linenr": 232,
450       "html_filename": "Observable.html",
451       "href": "Observable.html#Ext-util-Observable-method-fireEvent",
452       "shortDoc": "Fires the specified event with the passed parameters (minus the event name).\n\n\nAn event may be set to bubble up an Ob..."
453     },
454     {
455       "tagname": "method",
456       "name": "hasListener",
457       "member": "Ext.util.Observable",
458       "doc": "<p>Checks to see if this object has any listeners for a specified event</p>\n",
459       "params": [
460         {
461           "type": "String",
462           "name": "eventName",
463           "doc": "<p>The name of the event to check for</p>\n",
464           "optional": false
465         }
466       ],
467       "return": {
468         "type": "Boolean",
469         "doc": "<p>True if the event is being listened for, else false</p>\n"
470       },
471       "private": false,
472       "static": false,
473       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
474       "linenr": 480,
475       "html_filename": "Observable.html",
476       "href": "Observable.html#Ext-util-Observable-method-hasListener",
477       "shortDoc": "<p>Checks to see if this object has any listeners for a specified event</p>\n"
478     },
479     {
480       "tagname": "method",
481       "name": "isConnected",
482       "member": "Ext.direct.Provider",
483       "doc": "<p>Returns whether or not the server-side is currently connected.\nAbstract method for subclasses to implement.</p>\n",
484       "params": [
485
486       ],
487       "return": {
488         "type": "void",
489         "doc": "\n"
490       },
491       "private": false,
492       "static": false,
493       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
494       "linenr": 78,
495       "html_filename": "Provider.html",
496       "href": "Provider.html#Ext-direct-Provider-method-isConnected",
497       "shortDoc": "<p>Returns whether or not the server-side is currently connected.\nAbstract method for subclasses to implement.</p>\n"
498     },
499     {
500       "tagname": "method",
501       "name": "observe",
502       "member": "Ext.util.Observable",
503       "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",
504       "params": [
505         {
506           "type": "Function",
507           "name": "c",
508           "doc": "<p>The class constructor to make observable.</p>\n",
509           "optional": false
510         },
511         {
512           "type": "Object",
513           "name": "listeners",
514           "doc": "<p>An object containing a series of listeners to add. See <a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a>.</p>\n",
515           "optional": false
516         }
517       ],
518       "return": {
519         "type": "void",
520         "doc": "\n"
521       },
522       "private": false,
523       "static": true,
524       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
525       "linenr": 69,
526       "html_filename": "Observable.html",
527       "href": "Observable.html#Ext-util-Observable-method-observe",
528       "shortDoc": "Sets observability on the passed class constructor.\n\nThis makes any event fired on any instance of the passed class a..."
529     },
530     {
531       "tagname": "method",
532       "name": "on",
533       "member": "Ext.util.Observable",
534       "doc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n",
535       "params": [
536         {
537           "type": "String",
538           "name": "eventName",
539           "doc": "<p>The type of event to listen for</p>\n",
540           "optional": false
541         },
542         {
543           "type": "Function",
544           "name": "handler",
545           "doc": "<p>The method the event invokes</p>\n",
546           "optional": false
547         },
548         {
549           "type": "Object",
550           "name": "scope",
551           "doc": "<p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.\n<b>If omitted, defaults to the object which fired the event.</b></p>\n",
552           "optional": true
553         },
554         {
555           "type": "Object",
556           "name": "options",
557           "doc": "<p>(optional) An object containing handler configuration.</p>\n",
558           "optional": true
559         }
560       ],
561       "return": {
562         "type": "void",
563         "doc": "\n"
564       },
565       "private": false,
566       "static": false,
567       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
568       "linenr": 616,
569       "html_filename": "Observable.html",
570       "href": "Observable.html#Ext-util-Observable-method-on",
571       "shortDoc": "<p>Appends an event handler to this object (shorthand for <a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a>.)</p>\n"
572     },
573     {
574       "tagname": "method",
575       "name": "relayEvents",
576       "member": "Ext.util.Observable",
577       "doc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n",
578       "params": [
579         {
580           "type": "Object",
581           "name": "origin",
582           "doc": "<p>The Observable whose events this object is to relay.</p>\n",
583           "optional": false
584         },
585         {
586           "type": "Array",
587           "name": "events",
588           "doc": "<p>Array of event names to relay.</p>\n",
589           "optional": false
590         },
591         {
592           "type": "Object",
593           "name": "prefix",
594           "doc": "\n",
595           "optional": false
596         }
597       ],
598       "return": {
599         "type": "void",
600         "doc": "\n"
601       },
602       "private": false,
603       "static": false,
604       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
605       "linenr": 520,
606       "html_filename": "Observable.html",
607       "href": "Observable.html#Ext-util-Observable-method-relayEvents",
608       "shortDoc": "<p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>\n"
609     },
610     {
611       "tagname": "method",
612       "name": "releaseCapture",
613       "member": "Ext.util.Observable",
614       "doc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n",
615       "params": [
616         {
617           "type": "Observable",
618           "name": "o",
619           "doc": "<p>The Observable to release</p>\n",
620           "optional": false
621         }
622       ],
623       "return": {
624         "type": "void",
625         "doc": "\n"
626       },
627       "private": false,
628       "static": true,
629       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
630       "linenr": 46,
631       "html_filename": "Observable.html",
632       "href": "Observable.html#Ext-util-Observable-method-releaseCapture",
633       "shortDoc": "<p>Removes <b>all</b> added captures from the Observable.</p>\n"
634     },
635     {
636       "tagname": "method",
637       "name": "removeListener",
638       "member": "Ext.util.Observable",
639       "doc": "<p>Removes an event handler.</p>\n",
640       "params": [
641         {
642           "type": "String",
643           "name": "eventName",
644           "doc": "<p>The type of event the handler was associated with.</p>\n",
645           "optional": false
646         },
647         {
648           "type": "Function",
649           "name": "handler",
650           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
651           "optional": false
652         },
653         {
654           "type": "Object",
655           "name": "scope",
656           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
657           "optional": true
658         }
659       ],
660       "return": {
661         "type": "void",
662         "doc": "\n"
663       },
664       "private": false,
665       "static": false,
666       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
667       "linenr": 352,
668       "html_filename": "Observable.html",
669       "href": "Observable.html#Ext-util-Observable-method-removeListener",
670       "shortDoc": "<p>Removes an event handler.</p>\n"
671     },
672     {
673       "tagname": "method",
674       "name": "removeManagedListener",
675       "member": "Ext.util.Observable",
676       "doc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.direct.RemotingProvider--mon\" rel=\"Ext.direct.RemotingProvider--mon\" class=\"docClass\">mon</a> method.</p>\n",
677       "params": [
678         {
679           "type": "Observable|Element",
680           "name": "item",
681           "doc": "<p>The item from which to remove a listener/listeners.</p>\n",
682           "optional": false
683         },
684         {
685           "type": "Object|String",
686           "name": "ename",
687           "doc": "<p>The event name, or an object containing event name properties.</p>\n",
688           "optional": false
689         },
690         {
691           "type": "Function",
692           "name": "fn",
693           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the handler function.</p>\n",
694           "optional": false
695         },
696         {
697           "type": "Object",
698           "name": "scope",
699           "doc": "<p>Optional. If the <code>ename</code> parameter was an event name, this\nis the scope (<code>this</code> reference) in which the handler function is executed.</p>\n",
700           "optional": false
701         }
702       ],
703       "return": {
704         "type": "void",
705         "doc": "\n"
706       },
707       "private": false,
708       "static": false,
709       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
710       "linenr": 196,
711       "html_filename": "Observable.html",
712       "href": "Observable.html#Ext-util-Observable-method-removeManagedListener",
713       "shortDoc": "<p>Removes listeners that were added by the <a href=\"#/api/Ext.direct.RemotingProvider--mon\" rel=\"Ext.direct.RemotingProvider--mon\" class=\"docClass\">mon</a> method.</p>\n"
714     },
715     {
716       "tagname": "method",
717       "name": "resumeEvents",
718       "member": "Ext.util.Observable",
719       "doc": "<p>Resume firing events. (see <a href=\"#/api/Ext.direct.RemotingProvider-method-suspendEvents\" rel=\"Ext.direct.RemotingProvider-method-suspendEvents\" class=\"docClass\">suspendEvents</a>)\nIf events were suspended using the <code><b>queueSuspended</b></code> parameter, then all\nevents fired during event suspension will be sent to any listeners now.</p>\n",
720       "params": [
721
722       ],
723       "return": {
724         "type": "void",
725         "doc": "\n"
726       },
727       "private": false,
728       "static": false,
729       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
730       "linenr": 502,
731       "html_filename": "Observable.html",
732       "href": "Observable.html#Ext-util-Observable-method-resumeEvents",
733       "shortDoc": "Resume firing events. (see suspendEvents)\nIf events were suspended using the queueSuspended parameter, then all\nevent..."
734     },
735     {
736       "tagname": "method",
737       "name": "suspendEvents",
738       "member": "Ext.util.Observable",
739       "doc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.direct.RemotingProvider-method-resumeEvents\" rel=\"Ext.direct.RemotingProvider-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n",
740       "params": [
741         {
742           "type": "Boolean",
743           "name": "queueSuspended",
744           "doc": "<p>Pass as true to queue up suspended events to be fired\nafter the <a href=\"#/api/Ext.direct.RemotingProvider-method-resumeEvents\" rel=\"Ext.direct.RemotingProvider-method-resumeEvents\" class=\"docClass\">resumeEvents</a> call instead of discarding all suspended events;</p>\n",
745           "optional": false
746         }
747       ],
748       "return": {
749         "type": "void",
750         "doc": "\n"
751       },
752       "private": false,
753       "static": false,
754       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
755       "linenr": 490,
756       "html_filename": "Observable.html",
757       "href": "Observable.html#Ext-util-Observable-method-suspendEvents",
758       "shortDoc": "<p>Suspend the firing of all events. (see <a href=\"#/api/Ext.direct.RemotingProvider-method-resumeEvents\" rel=\"Ext.direct.RemotingProvider-method-resumeEvents\" class=\"docClass\">resumeEvents</a>)</p>\n"
759     },
760     {
761       "tagname": "method",
762       "name": "un",
763       "member": "Ext.util.Observable",
764       "doc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.direct.RemotingProvider-method-removeListener\" rel=\"Ext.direct.RemotingProvider-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n",
765       "params": [
766         {
767           "type": "String",
768           "name": "eventName",
769           "doc": "<p>The type of event the handler was associated with.</p>\n",
770           "optional": false
771         },
772         {
773           "type": "Function",
774           "name": "handler",
775           "doc": "<p>The handler to remove. <b>This must be a reference to the function passed into the <a href=\"#/api/Ext.direct.RemotingProvider-method-addListener\" rel=\"Ext.direct.RemotingProvider-method-addListener\" class=\"docClass\">addListener</a> call.</b></p>\n",
776           "optional": false
777         },
778         {
779           "type": "Object",
780           "name": "scope",
781           "doc": "<p>(optional) The scope originally specified for the handler.</p>\n",
782           "optional": true
783         }
784       ],
785       "return": {
786         "type": "void",
787         "doc": "\n"
788       },
789       "private": false,
790       "static": false,
791       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/util/Observable.js",
792       "linenr": 608,
793       "html_filename": "Observable.html",
794       "href": "Observable.html#Ext-util-Observable-method-un",
795       "shortDoc": "<p>Removes an event handler (shorthand for <a href=\"#/api/Ext.direct.RemotingProvider-method-removeListener\" rel=\"Ext.direct.RemotingProvider-method-removeListener\" class=\"docClass\">removeListener</a>.)</p>\n"
796     }
797   ],
798   "property": [
799
800   ],
801   "event": [
802     {
803       "tagname": "event",
804       "name": "beforecall",
805       "member": "Ext.direct.RemotingProvider",
806       "doc": "<p>Fires immediately before the client-side sends off the RPC call.\nBy returning false from an event handler you can prevent the call from\nexecuting.</p>\n",
807       "params": [
808         {
809           "type": "Ext.direct.RemotingProvider",
810           "name": "provider",
811           "doc": "\n",
812           "optional": false
813         },
814         {
815           "type": "Ext.direct.Transaction",
816           "name": "transaction",
817           "doc": "\n",
818           "optional": false
819         },
820         {
821           "type": "Object",
822           "name": "meta",
823           "doc": "<p>The meta data</p>\n",
824           "optional": false
825         }
826       ],
827       "private": false,
828       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
829       "linenr": 129,
830       "html_filename": "RemotingProvider.html",
831       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-event-beforecall",
832       "shortDoc": "Fires immediately before the client-side sends off the RPC call.\nBy returning false from an event handler you can pre..."
833     },
834     {
835       "tagname": "event",
836       "name": "call",
837       "member": "Ext.direct.RemotingProvider",
838       "doc": "<p>Fires immediately after the request to the server-side is sent. This does\nNOT fire after the response has come back from the call.</p>\n",
839       "params": [
840         {
841           "type": "Ext.direct.RemotingProvider",
842           "name": "provider",
843           "doc": "\n",
844           "optional": false
845         },
846         {
847           "type": "Ext.direct.Transaction",
848           "name": "transaction",
849           "doc": "\n",
850           "optional": false
851         },
852         {
853           "type": "Object",
854           "name": "meta",
855           "doc": "<p>The meta data</p>\n",
856           "optional": false
857         }
858       ],
859       "private": false,
860       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
861       "linenr": 139,
862       "html_filename": "RemotingProvider.html",
863       "href": "RemotingProvider.html#Ext-direct-RemotingProvider-event-call",
864       "shortDoc": "Fires immediately after the request to the server-side is sent. This does\nNOT fire after the response has come back f..."
865     },
866     {
867       "tagname": "event",
868       "name": "connect",
869       "member": "Ext.direct.Provider",
870       "doc": "<p>Fires when the Provider connects to the server-side</p>\n",
871       "params": [
872         {
873           "type": "Ext.direct.Provider",
874           "name": "provider",
875           "doc": "<p>The <a href=\"#/api/Ext.direct.Provider\" rel=\"Ext.direct.Provider\" class=\"docClass\">Provider</a>.</p>\n",
876           "optional": false
877         }
878       ],
879       "private": false,
880       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
881       "linenr": 50,
882       "html_filename": "Provider.html",
883       "href": "Provider.html#Ext-direct-Provider-event-connect",
884       "shortDoc": "<p>Fires when the Provider connects to the server-side</p>\n"
885     },
886     {
887       "tagname": "event",
888       "name": "data",
889       "member": "Ext.direct.Provider",
890       "doc": "<p>Fires when the Provider receives data from the server-side</p>\n",
891       "params": [
892         {
893           "type": "Ext.direct.Provider",
894           "name": "provider",
895           "doc": "<p>The <a href=\"#/api/Ext.direct.Provider\" rel=\"Ext.direct.Provider\" class=\"docClass\">Provider</a>.</p>\n",
896           "optional": false
897         },
898         {
899           "type": "event",
900           "name": "e",
901           "doc": "<p>The Ext.Direct.Event type that occurred.</p>\n",
902           "optional": false
903         }
904       ],
905       "private": false,
906       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
907       "linenr": 62,
908       "html_filename": "Provider.html",
909       "href": "Provider.html#Ext-direct-Provider-event-data",
910       "shortDoc": "<p>Fires when the Provider receives data from the server-side</p>\n"
911     },
912     {
913       "tagname": "event",
914       "name": "disconnect",
915       "member": "Ext.direct.Provider",
916       "doc": "<p>Fires when the Provider disconnects from the server-side</p>\n",
917       "params": [
918         {
919           "type": "Ext.direct.Provider",
920           "name": "provider",
921           "doc": "<p>The <a href=\"#/api/Ext.direct.Provider\" rel=\"Ext.direct.Provider\" class=\"docClass\">Provider</a>.</p>\n",
922           "optional": false
923         }
924       ],
925       "private": false,
926       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
927       "linenr": 56,
928       "html_filename": "Provider.html",
929       "href": "Provider.html#Ext-direct-Provider-event-disconnect",
930       "shortDoc": "<p>Fires when the Provider disconnects from the server-side</p>\n"
931     },
932     {
933       "tagname": "event",
934       "name": "exception",
935       "member": "Ext.direct.Provider",
936       "doc": "<p>Fires when the Provider receives an exception from the server-side</p>\n",
937       "params": [
938
939       ],
940       "private": false,
941       "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/Provider.js",
942       "linenr": 69,
943       "html_filename": "Provider.html",
944       "href": "Provider.html#Ext-direct-Provider-event-exception",
945       "shortDoc": "<p>Fires when the Provider receives an exception from the server-side</p>\n"
946     }
947   ],
948   "filename": "/Users/nick/Projects/sencha/SDK/platform/src/direct/RemotingProvider.js",
949   "linenr": 1,
950   "html_filename": "RemotingProvider.html",
951   "href": "RemotingProvider.html#Ext-direct-RemotingProvider",
952   "cssVar": [
953
954   ],
955   "cssMixin": [
956
957   ],
958   "component": false,
959   "superclasses": [
960     "Ext.direct.Provider",
961     "Ext.direct.JsonProvider"
962   ],
963   "subclasses": [
964
965   ],
966   "mixedInto": [
967
968   ],
969   "allMixins": [
970     "Ext.util.Observable"
971   ]
972 });