-<div xmlns:ext="http://www.extjs.com" class="body-wrap"><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a> <img src="resources/elbow-end.gif">Direct</pre></div><h1>Class <a href="source/Direct.html#cls-Ext.Direct">Ext.Direct</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Direct.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Direct.html#cls-Ext.Direct">Direct</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.util.Observable.html" ext:cls="Ext.util.Observable" ext:member="">Observable</a></td></tr></table><div class="description"><p><b><u>Overview</u></b></p>\r
-<p>Ext.Direct aims to streamline communication between the client and server\r
-by providing a single interface that reduces the amount of common code\r
-typically required to validate data and handle returned data packets\r
-(reading data, error conditions, etc).</p>\r
-<p>The Ext.direct namespace includes several classes for a closer integration\r
-with the server-side. The Ext.data namespace also includes classes for working\r
-with Ext.data.Stores which are backed by data from an Ext.Direct method.</p>\r
-<p><b><u>Specification</u></b></p>\r
-<p>For additional information consult the \r
-<a href="http://extjs.com/products/extjs/direct.php">Ext.Direct Specification</a>.</p>\r
-<p><b><u>Providers</u></b></p>\r
-<p>Ext.Direct uses a provider architecture, where one or more providers are\r
-used to transport data to and from the server. There are several providers\r
-that exist in the core at the moment:</p><div class="mdetail-params"><ul>\r
-<li><a href="output/Ext.direct.JsonProvider.html" ext:cls="Ext.direct.JsonProvider">JsonProvider</a> for simple JSON operations</li>\r
-<li><a href="output/Ext.direct.PollingProvider.html" ext:cls="Ext.direct.PollingProvider">PollingProvider</a> for repeated requests</li>\r
-<li><a href="output/Ext.direct.RemotingProvider.html" ext:cls="Ext.direct.RemotingProvider">RemotingProvider</a> exposes server side\r
-on the client.</li>\r
-</ul></div>\r
-<p>A provider does not need to be invoked directly, providers are added via\r
-<a href="output/Ext.Direct.html" ext:cls="Ext.Direct">Ext.Direct</a>.<a href="output/Ext.Direct.html#Ext.Direct-add" ext:member="add" ext:cls="Ext.Direct">add</a>.</p>\r
-<p><b><u>Router</u></b></p>\r
-<p>Ext.Direct utilizes a "router" on the server to direct requests from the client\r
-to the appropriate server-side method. Because the Ext.Direct API is completely\r
-platform-agnostic, you could completely swap out a Java based server solution\r
-and replace it with one that uses C# without changing the client side JavaScript\r
-at all.</p>\r
-<p><b><u>Server side events</u></b></p>\r
-<p>Custom events from the server may be handled by the client by adding\r
-listeners, for example:</p>\r
-<pre><code>{<em>"type"</em>:<em>"event"</em>,<em>"name"</em>:<em>"message"</em>,<em>"data"</em>:<em>"Successfully polled at: 11:19:30 am"</em>}\r
-\r
-<i>// add a handler <b>for</b> a <em>'message'</em> event sent by the server \r</i>
-Ext.Direct.on(<em>'message'</em>, <b>function</b>(e){\r
- out.append(String.format(<em>'<p><i>{0}</i></p>'</em>, e.data));\r
- out.el.scrollTo(<em>'t'</em>, 100000, true);\r
-});</code></pre><br><br><i>This class is a singleton and cannot be created directly.</i></div><div class="hr"></div><a id="Ext.Direct-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-listeners"></a><b><a href="source/Observable.html#cfg-Ext.util.Observable-listeners">listeners</a></b> : Object<div class="mdesc"><div class="short">A config object containing one or more event handlers to be added to this\r
-object during initialization. This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
-object during initialization. This should be a valid listeners config object as specified in the
-<a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> example for attaching multiple handlers at once.</p>
-<br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
-<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
-is usually only done when extra value can be added. For example the <a href="output/Ext.DataView.html" ext:cls="Ext.DataView">DataView</a>'s
-<b><code><a href="output/Ext.DataView.html#Ext.DataView-click" ext:member="click" ext:cls="Ext.DataView">click</a></code></b> event passing the node clicked on. To access DOM
-events directly from a Component's HTMLElement, listeners must be added to the <i><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">Element</a></i> after the Component
-has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
-<i>// The Component is appended to the argument list of all handler functions.</i>
-Ext.DomObserver = Ext.extend(Object, {
- constructor: <b>function</b>(config) {
- this.listeners = config.listeners ? config.listeners : config;
- },
-
- <i>// Component passes itself into plugin's init method</i>
- init: <b>function</b>(c) {
- <b>var</b> p, l = this.listeners;
- <b>for</b> (p <b>in</b> l) {
- <b>if</b> (Ext.isFunction(l[p])) {
- l[p] = this.createHandler(l[p], c);
- } <b>else</b> {
- l[p].fn = this.createHandler(l[p].fn, c);
- }
- }
-
- <i>// Add the listeners to the Element immediately following the render call</i>
- c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
- <b>var</b> e = c.getEl();
- <b>if</b> (e) {
- e.on(l);
- }
- });
- },
-
- createHandler: <b>function</b>(fn, c) {
- <b>return</b> <b>function</b>(e) {
- fn.call(this, e, c);
- };
- }
-});
-
-<b>var</b> combo = <b>new</b> Ext.form.ComboBox({
-
- <i>// Collapse combo when its element is clicked on</i>
- plugins: [ <b>new</b> Ext.DomObserver({
- click: <b>function</b>(evt, comp) {
- comp.collapse();
- }
- })],
- store: myStore,
- typeAhead: true,
- mode: <em>'local'</em>,
- triggerAction: <em>'all'</em>
-});</code></pre></p></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#listeners" ext:member="#listeners" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.Direct-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-eventTypes"></a><b><a href="source/Direct.html#prop-Ext.Direct-eventTypes">eventTypes</a></b> : Object<div class="mdesc"><div class="short">Each event type implements a getData() method. The default event types are: \r
-<div class="mdetail-params"> \r
-event : Ex...</div><div class="long">Each event type implements a getData() method. The default event types are:\r
-<div class="mdetail-params"><ul>\r
-<li><b><tt>event</tt></b> : Ext.Direct.Event</li>\r
-<li><b><tt>exception</tt></b> : Ext.Direct.ExceptionEvent</li>\r
-<li><b><tt>rpc</tt></b> : Ext.Direct.RemotingEvent</li>\r
-</ul></div></div></div></td><td class="msource">Direct</td></tr><tr class="property-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-exceptions"></a><b><a href="source/Direct.html#prop-Ext.Direct-exceptions">exceptions</a></b> : Object<div class="mdesc"><div class="short">Four types of possible exceptions which can occur: \r
-<div class="mdetail-params"> \r
-Ext.Direct.exceptions.TRANSPORT : '...</div><div class="long">Four types of possible exceptions which can occur:\r
-<div class="mdetail-params"><ul>\r
-<li><b><tt>Ext.Direct.exceptions.TRANSPORT</tt></b> : 'xhr'</li>\r
-<li><b><tt>Ext.Direct.exceptions.PARSE</tt></b> : 'parse'</li>\r
-<li><b><tt>Ext.Direct.exceptions.LOGIN</tt></b> : 'login'</li>\r
-<li><b><tt>Ext.Direct.exceptions.SERVER</tt></b> : 'exception'</li>\r
-</ul></div></div></div></td><td class="msource">Direct</td></tr></tbody></table><a id="Ext.Direct-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-addEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addEvents">addEvents</a></b>( <code>Object|String o</code>, <code>string Optional.</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Adds the specified events to the list of events which this Observable may fire.</div><div class="long">Adds the specified events to the list of events which this Observable may fire.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object|String<div class="sub-desc">Either an object with event names as properties with a value of <code>true</code>
-or the first event name string if multiple event names are being passed as separate parameters.</div></li><li><code>Optional.</code> : string<div class="sub-desc">Event name if multiple event names are being passed as separate parameters.
-Usage:<pre><code>this.addEvents(<em>'storeloaded'</em>, <em>'storecleared'</em>);</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addEvents" ext:member="#addEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-addListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addListener">addListener</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span>, <span title="Optional" class="optional">[<code>Object options</code>]</span> )\r
- :\r
- void<div class="mdesc"><div class="short">Appends an event handler to this object.</div><div class="long">Appends an event handler to this object.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to listen for.</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
-<b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.
-properties. This may contain any of the following properties:<ul>
-<li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
-<b>If omitted, defaults to the object which fired the event.</b></div></li>
-<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>
-<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>
-<li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="output/Ext.util.DelayedTask.html" ext:cls="Ext.util.DelayedTask">Ext.util.DelayedTask</a> delayed
-by the specified number of milliseconds. If the event fires again within that time, the original
-handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
-<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>
-if the event was bubbled up from a child Observable.</div></li>
-</ul><br>
-<p>
-<b>Combining Options</b><br>
-Using the options argument, it is possible to combine different types of listeners:<br>
-<br>
-A delayed, one-time listener.
-<pre><code>myDataView.on(<em>'click'</em>, this.onClick, this, {
-single: true,
-delay: 100
-});</code></pre>
-<p>
-<b>Attaching multiple handlers in 1 call</b><br>
-The method also allows for a single argument to be passed which is a config object containing properties
-which specify multiple handlers.
-<p>
-<pre><code>myGridPanel.on({
-<em>'click'</em> : {
- fn: this.onClick,
- scope: this,
- delay: 100
-},
-<em>'mouseover'</em> : {
- fn: this.onMouseOver,
- scope: this
-},
-<em>'mouseout'</em> : {
- fn: this.onMouseOut,
- scope: this
-}
-});</code></pre>
-<p>
-Or a shorthand syntax:<br>
-<pre><code>myGridPanel.on({
-<em>'click'</em> : this.onClick,
-<em>'mouseover'</em> : this.onMouseOver,
-<em>'mouseout'</em> : this.onMouseOut,
- scope: this
-});</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addListener" ext:member="#addListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-addProvider"></a><b><a href="source/Direct.html#method-Ext.Direct-addProvider">addProvider</a></b>( <code>Object/Array provider</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Adds an Ext.Direct Provider and creates the proxy or stub methods to execute server-side methods. \r
-If the provider is...</div><div class="long">Adds an Ext.Direct Provider and creates the proxy or stub methods to execute server-side methods.\r
-If the provider is not already connected, it will auto-connect.\r
-<pre><code><b>var</b> pollProv = <b>new</b> Ext.direct.PollingProvider({\r
- url: <em>'php/poll2.php'</em>\r
-}); \r
-\r
-Ext.Direct.addProvider(\r
- {\r
- <em>"type"</em>:<em>"remoting"</em>, <i>// create a <a href="output/Ext.direct.RemotingProvider.html" ext:cls="Ext.direct.RemotingProvider">Ext.direct.RemotingProvider</a> \r</i>
- <em>"url"</em>:<em>"php\/router.php"</em>, <i>// url to connect to the Ext.Direct server-side router.\r</i>
- <em>"actions"</em>:{ <i>// each property within the actions object represents a Class \r</i>
- <em>"TestAction"</em>:[ <i>// array of methods within each server side Class \r</i>
- {\r
- <em>"name"</em>:<em>"doEcho"</em>, <i>// name of method\r</i>
- <em>"len"</em>:1\r
- },{\r
- <em>"name"</em>:<em>"multiply"</em>,\r
- <em>"len"</em>:1\r
- },{\r
- <em>"name"</em>:<em>"doForm"</em>,\r
- <em>"formHandler"</em>:true, <i>// handle form on server <b>with</b> Ext.Direct.Transaction \r</i>
- <em>"len"</em>:1\r
- }]\r
- },\r
- <em>"namespace"</em>:<em>"myApplication"</em>,<i>// namespace to create the Remoting Provider <b>in</b>\r</i>
- },{\r
- type: <em>'polling'</em>, <i>// create a <a href="output/Ext.direct.PollingProvider.html" ext:cls="Ext.direct.PollingProvider">Ext.direct.PollingProvider</a> \r</i>
- url: <em>'php/poll.php'</em>\r
- },\r
- pollProv <i>// reference to previously created instance\r</i>
-);</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>provider</code> : Object/Array<div class="sub-desc">Accepts either an Array of Provider descriptions (an instance\r
-or config object for a Provider) or any number of Provider descriptions as arguments. Each\r
-Provider description instructs Ext.Direct how to create client-side stub methods.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Direct</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>( <code>String/Array events</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling \r
-this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
-<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
-<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default\r
-implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
-access the required target more quickly.</p>\r
-<p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
- <i>// Add functionality to Field's initComponent to enable the change event to bubble\r</i>
- initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
- this.enableBubble(<em>'change'</em>);\r
- }),\r
-\r
- <i>// We know that we want Field's events to bubble directly to the FormPanel.\r</i>
- getBubbleTarget : <b>function</b>() {\r
- <b>if</b> (!this.formPanel) {\r
- this.formPanel = this.findParentByType(<em>'form'</em>);\r
- }\r
- <b>return</b> this.formPanel;\r
- }\r
-});\r
-\r
-<b>var</b> myForm = <b>new</b> Ext.formPanel({\r
- title: <em>'User Details'</em>,\r
- items: [{\r
- ...\r
- }],\r
- listeners: {\r
- change: <b>function</b>() {\r
- <i>// Title goes red <b>if</b> form has been modified.\r</i>
- myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);\r
- }\r
- }\r
-});</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : String/Array<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#enableBubble" ext:member="#enableBubble" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-fireEvent"></a><b><a href="source/Observable.html#method-Ext.util.Observable-fireEvent">fireEvent</a></b>( <code>String eventName</code>, <code>Object... args</code> )\r
- :\r
- Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).\r
-An event may be set to bubble up an Obse...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
-<p>An event may be set to bubble up an Observable parent hierarchy (See <a href="output/Ext.Component.html#Ext.Component-getBubbleTarget" ext:member="getBubbleTarget" ext:cls="Ext.Component">Ext.Component.getBubbleTarget</a>)
-by calling <a href="output/Ext.util.Observable.html#Ext.util.Observable-enableBubble" ext:member="enableBubble" ext:cls="Ext.util.Observable">enableBubble</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to fire.</div></li><li><code>args</code> : Object...<div class="sub-desc">Variable number of parameters are passed to handlers.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#fireEvent" ext:member="#fireEvent" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-getProvider"></a><b><a href="source/Direct.html#method-Ext.Direct-getProvider">getProvider</a></b>( <code>String id</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Retrieve a provider by the \r
-id specified when the provider is \r
-added.</div><div class="long">Retrieve a <a href="output/Ext.direct.Provider.html" ext:cls="Ext.direct.Provider">provider</a> by the\r
-<b><tt><a href="output/Ext.direct.Provider.html#Ext.direct.Provider-id" ext:member="id" ext:cls="Ext.direct.Provider">id</a></tt></b> specified when the provider is\r
-<a href="output/Ext.Direct.html#Ext.Direct-addProvider" ext:member="addProvider" ext:cls="Ext.Direct">added</a>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>id</code> : String<div class="sub-desc">Unique identifier assigned to the provider when calling <a href="output/Ext.Direct.html#Ext.Direct-addProvider" ext:member="addProvider" ext:cls="Ext.Direct">addProvider</a></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">Direct</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-hasListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-hasListener">hasListener</a></b>( <code>String eventName</code> )\r
- :\r
- Boolean<div class="mdesc"><div class="short">Checks to see if this object has any listeners for a specified event</div><div class="long">Checks to see if this object has any listeners for a specified event<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to check for</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the event is being listened for, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#hasListener" ext:member="#hasListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-on"></a><b><a href="source/Observable.html#method-Ext.util.Observable-on">on</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span>, <span title="Optional" class="optional">[<code>Object options</code>]</span> )\r
- :\r
- void<div class="mdesc"><div class="short">Appends an event handler to this object (shorthand for addListener.)</div><div class="long">Appends an event handler to this object (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
-<b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#on" ext:member="#on" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-purgeListeners"></a><b><a href="source/Observable.html#method-Ext.util.Observable-purgeListeners">purgeListeners</a></b>()\r
- :\r
- void<div class="mdesc"><div class="short">Removes all listeners for this object</div><div class="long">Removes all listeners for this object<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#purgeListeners" ext:member="#purgeListeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-relayEvents"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-relayEvents">relayEvents</a></b>( <code>Object o</code>, <code>Array events</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Relays selected events from the specified Observable as if the events were fired by this.</div><div class="long">Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The Observable whose events this object is to relay.</div></li><li><code>events</code> : Array<div class="sub-desc">Array of event names to relay.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#relayEvents" ext:member="#relayEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-removeListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-removeListener">removeListener</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )\r
- :\r
- void<div class="mdesc"><div class="short">Removes an event handler.</div><div class="long">Removes an event handler.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#removeListener" ext:member="#removeListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-resumeEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-resumeEvents">resumeEvents</a></b>()\r
- :\r
- void<div class="mdesc"><div class="short">Resume firing events. (see suspendEvents)\r
-If events were suspended using the queueSuspended parameter, then all\r
-event...</div><div class="long">Resume firing events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-suspendEvents" ext:member="suspendEvents" ext:cls="Ext.util.Observable">suspendEvents</a>)
-If events were suspended using the <tt><b>queueSuspended</b></tt> parameter, then all
-events fired during event suspension will be sent to any listeners now.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#resumeEvents" ext:member="#resumeEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-suspendEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-suspendEvents">suspendEvents</a></b>( <code>Boolean queueSuspended</code> )\r
- :\r
- void<div class="mdesc"><div class="short">Suspend the firing of all events. (see resumeEvents)</div><div class="long">Suspend the firing of all events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a>)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>queueSuspended</code> : Boolean<div class="sub-desc">Pass as true to queue up suspended events to be fired
-after the <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a> call instead of discarding all suspended events;</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#suspendEvents" ext:member="#suspendEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-un"></a><b><a href="source/Observable.html#method-Ext.util.Observable-un">un</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )\r
- :\r
- void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.Direct-events"></a><h2>Public Events</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Event</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-event"></a><b><a href="source/Direct.html#event-Ext.Direct-event">event</a></b> :\r
- ( <code>event e</code>, <code>Ext.direct.Provider provider</code> )\r
- <div class="mdesc"><div class="short">Fires after an event.</div><div class="long">Fires after an event.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>e</code> : event<div class="sub-desc">The <a href="output/Ext.Direct.html#Ext.Direct-eventTypes" ext:member="eventTypes" ext:cls="Ext.Direct">Ext.Direct.Event type</a> that occurred.</div></li><li><code>provider</code> : Ext.direct.Provider<div class="sub-desc">The <a href="output/Ext.direct.Provider.html" ext:cls="Ext.direct.Provider">Provider</a>.</div></li></ul></div></div></div></td><td class="msource">Direct</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.Direct-exception"></a><b><a href="source/Direct.html#event-Ext.Direct-exception">exception</a></b> :\r
- ( <code>event e</code> )\r
- <div class="mdesc"><div class="short">Fires after an event exception.</div><div class="long">Fires after an event exception.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>e</code> : event<div class="sub-desc">The <a href="output/Ext.Direct.html#Ext.Direct-eventTypes" ext:member="eventTypes" ext:cls="Ext.Direct">Ext.Direct.Event type</a> that occurred.</div></li></ul></div></div></div></td><td class="msource">Direct</td></tr></tbody></table></div>
\ No newline at end of file