Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / docs / api / Ext.util.Observable.html
1 <!DOCTYPE html><html><head><title>Ext.util.Observable | Ext JS 4.0 Documentation</title><script type="text/javascript" src="../ext-all.js"></script><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../scrollbars.css" type="text/css"><link rel="stylesheet" href="../docs.css" type="text/css"><link id="styleCss" rel="stylesheet" href="../style.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script><link rel="stylesheet" href="../prettify.css" type="text/css"><!-- link(rel: 'stylesheet', href: req.baseURL + '/css/ext4.css', type: 'text/css')--><link rel="shortcut icon" type="image/ico" href="../favicon.ico"><!--[if IE]>
2 <style type="text/css">.head-band { display: none; }
3 .header { border: 0; top: 0; left: 0px; background: url(../header.gif) repeat-x; }
4 .doc-tab .members .member a.more { background-color: #efefef; }
5 </style><link rel="stylesheet" href="/new/css/ie.css" type="text/css"><![endif]-->
6 </head><body id="ext-body" class="iScroll"><div id="notice" class="notice">For up to date documentation and features, visit 
7 <a href="http://docs.sencha.com/ext-js/4-0">http://docs.sencha.com/ext-js/4-0</a></div><div class="wrapper"><div class="head-band"></div><div class="header"><h2><a href="../index.html">Sencha Documentation</a></h2></div><div id="search"><form><input type="text" placeholder="Search" id="search-field" autocomplete="off" name="q"></form><div id="search-box"></div></div><div id="treePanel"></div><div id="container"><script type="text/javascript">
8
9     req = {
10         liveURL: '.',
11         standAloneMode: true,
12         origDocClass: 'Ext.util.Observable',
13         docClass: 'Ext.util.Observable',
14         docReq: 'Ext.util.Observable',
15         version: '4.0',
16         baseURL: '.',
17         baseDocURL: '.',
18         baseProdURL: '.'
19     };
20
21     clsInfo = {};
22
23
24
25 </script>
26
27 <script type="text/javascript" src="../search.js"></script>
28 <!--script type="text/javascript" src="/new/javascripts/app/examples.js"></script-->
29 <script type="text/javascript" src="../class_tree.js"></script>
30 <script type="text/javascript" src="../class_doc.js"></script>
31 <script type="text/javascript">
32     req.source = 'Observable.html#Ext-util.Observable';
33     clsInfo = {"methods":["addEvents","addListener","addManagedListener","capture","clearListeners","clearManagedListeners","enableBubble","fireEvent","hasListener","observe","on","relayEvents","releaseCapture","removeListener","removeManagedListener","resumeEvents","suspendEvents","un"],"cfgs":["listeners"],"properties":[],"events":[],"subclasses":["Ext.form.Basic","Ext.grid.feature.Feature","Ext.grid.plugin.HeaderReorderer","Ext.grid.plugin.HeaderResizer","Ext.util.ClickRepeater","Ext.selection.Model"]};
34     Ext.onReady(function() {
35         Ext.create('Docs.classPanel');
36     });
37 </script><div id="top-block" class="top-block"><h1 id="clsTitle" class="cls"><a href="../source/Observable.html#Ext-util.Observable" target="_blank">Ext.util.Observable</a></h1></div><div id="docContent"><div id="doc-overview-content"><div class="lft"><p>Base class that provides a common interface for publishing events. Subclasses are expected to
38 to have a property "events" with all the events defined, and, optionally, a property "listeners"
39 with configured listeners defined.<br>
40 For example:</p>
41
42 <pre class="prettyprint"><code>Employee = Ext.extend(Ext.util.Observable, {
43     constructor: function(config){
44         this.name = config.name;
45         this.addEvents({
46             "fired" : true,
47             "quit" : true
48         });
49
50         // Copy configured listeners into *this* object so that the base class&#39;s
51         // constructor will add them.
52         this.listeners = config.listeners;
53
54         // Call our superclass constructor to complete construction process.
55         Employee.superclass.constructor.call(this, config)
56     }
57 });
58 </code></pre>
59
60
61 <p>This could then be used like this:</p>
62
63 <pre class="prettyprint"><code>var newEmployee = new Employee({
64     name: employeeName,
65     listeners: {
66         quit: function() {
67             // By default, "this" will be the object that fired the event.
68             alert(this.name + " has quit!");
69         }
70     }
71 });
72 </code></pre>
73
74 <div class="members"><div class="m-cfgs"><div class="definedBy">Defined By</div><a name="configs"></a><h3 class="cfg p">Config Options</h3><h4 class="cfgGroup">Other Configs</h4><div id="config-listeners" class="member f ni"><a href="Ext.util.Observable.html#config-listeners" rel="config-listeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-cfg-listeners" class="viewSource">view source</a></div><a name="listeners"></a><a name="config-listeners"></a><a href="Ext.util.Observable.html#" rel="config-listeners" class="cls expand">listeners</a><span> : Object</span></div><div class="description"><div class="short">(optional) A config object containing one or more event handlers to be added to this
75 object during initialization.  T...</div><div class="long"><p>(optional) <p>A config object containing one or more event handlers to be added to this
76 object during initialization.  This should be a valid listeners config object as specified in the
77 <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> example for attaching multiple handlers at once.</p></p>
78
79 <br><p><b><u>DOM events from ExtJs <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a></u></b></p>
80
81
82 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
83
84
85 <p>is usually only done when extra value can be added. For example the <a href="Ext.view.View.html" rel="Ext.view.View" class="docClass">DataView</a>'s
86 <b><code><a href="Ext.view.View.html#click" rel="Ext.view.View#click" class="docClass">click</a></code></b> event passing the node clicked on. To access DOM
87 events directly from a child element of a Component, we need to specify the <code>element</code> option to
88 identify the Component property to add a DOM listener to:</p>
89
90 <pre><code>new Ext.panel.Panel({
91     width: 400,
92     height: 200,
93     dockedItems: [{
94         xtype: 'toolbar'
95     }],
96     listeners: {
97         click: {
98             element: 'el', //bind to the underlying el property on the panel
99             fn: function(){ console.log('click el'); }
100         },
101         dblclick: {
102             element: 'body', //bind to the underlying body property on the panel
103             fn: function(){ console.log('dblclick body'); }
104         }
105     }
106 });
107 </code></pre>
108
109
110 <p></p></p>
111 </div></div></div></div><div class="m-methods"><a name="methods"></a><div class="definedBy">Defined By</div><h3 class="mth p">Methods</h3><div id="method-addEvents" class="member f ni"><a href="Ext.util.Observable.html#method-addEvents" rel="method-addEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addEvents" class="viewSource">view source</a></div><a name="addEvents"></a><a name="method-addEvents"></a><a href="Ext.util.Observable.html#" rel="method-addEvents" class="cls expand">addEvents</a>(
112 <span class="pre">Object/String o, String </span>)
113  : void</div><div class="description"><div class="short"><p>Adds the specified events to the list of events which this Observable may fire.</p>
114 </div><div class="long"><p>Adds the specified events to the list of events which this Observable may fire.</p>
115 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Object/String<div class="sub-desc"><p>Either an object with event names as properties with a value of <code>true</code>
116 or the first event name string if multiple event names are being passed as separate parameters.</p>
117 </div></li><li><span class="pre"></span> : String<div class="sub-desc"><p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.
118 Usage:</p>
119
120 <pre><code>this.addEvents('storeloaded', 'storecleared');
121 </code></pre>
122
123 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
124 </li></ul></div></div></div><div id="method-addListener" class="member ni"><a href="Ext.util.Observable.html#method-addListener" rel="method-addListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addListener" class="viewSource">view source</a></div><a name="addListener"></a><a name="method-addListener"></a><a href="Ext.util.Observable.html#" rel="method-addListener" class="cls expand">addListener</a>(
125 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
126  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object.</p>
127 </div><div class="long"><p>Appends an event handler to this object.</p>
128 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to listen for. May also be an object who's property names are event names. See</p>
129 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes.</p>
130 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
131 <b>If omitted, defaults to the object which fired the event.</b></p>
132 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.
133 properties. This may contain any of the following properties:<ul>
134 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
135 <b>If omitted, defaults to the object which fired the event.</b></div></li>
136 <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>
137 <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>
138 <li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="Ext.util.DelayedTask.html" rel="Ext.util.DelayedTask" class="docClass">Ext.util.DelayedTask</a> delayed
139 by the specified number of milliseconds. If the event fires again within that time, the original
140 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
141 <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>
142 if the event was bubbled up from a child Observable.</div></li>
143 <li><b>element</b> : String<div class="sub-desc"><b>This option is only valid for listeners bound to <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a>.</b>
144 The name of a Component property which references an element to add a listener to.</p>
145
146 <p>This option is useful during Component construction to add DOM event listeners to elements of <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a> which
147 will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:
148 <pre><code>new Ext.panel.Panel({
149     title: 'The title',
150     listeners: {
151         click: this.handlePanelClick,
152         element: 'body'
153     }
154 });
155 </code></pre></p>
156
157
158 <p>When added in this way, the options available are the options applicable to <a href="Ext.core.Element.html#addListener" rel="Ext.core.Element#addListener" class="docClass">Ext.core.Element.addListener</a></p>
159
160
161 <p></div></li>
162 </ul><br></p>
163
164 <p>
165 <b>Combining Options</b><br>
166 Using the options argument, it is possible to combine different types of listeners:<br>
167 <br>
168 A delayed, one-time listener.
169 <pre><code>myPanel.on('hide', this.handleClick, this, {
170 single: true,
171 delay: 100
172 });</code></pre>
173 <p>
174 <b>Attaching multiple handlers in 1 call</b><br>
175 The method also allows for a single argument to be passed which is a config object containing properties
176 which specify multiple events. For example:
177 <pre><code>myGridPanel.on({
178     cellClick: this.onCellClick,
179     mouseover: this.onMouseOver,
180     mouseout: this.onMouseOut,
181     scope: this // Important. Ensure "this" is correct during handler execution
182 });
183 </code></pre>.
184 <p>
185
186 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
187 </li></ul></div></div></div><div id="method-addManagedListener" class="member ni"><a href="Ext.util.Observable.html#method-addManagedListener" rel="method-addManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addManagedListener" class="viewSource">view source</a></div><a name="addManagedListener"></a><a name="method-addManagedListener"></a><a href="Ext.util.Observable.html#" rel="method-addManagedListener" class="cls expand">addManagedListener</a>(
188 <span class="pre">Observable/Element item, Object/String ename, Function fn, Object scope, Object opt</span>)
189  : void</div><div class="description"><div class="short"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
190 is destroyed.
191
192 </div><div class="long"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
193 is destroyed.
194
195 <h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable/Element<div class="sub-desc"><p>The item to which to add a listener/listeners.</p>
196 </div></li><li><span class="pre">ename</span> : Object/String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
197 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
198 is the handler function.</p>
199 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
200 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
201 </div></li><li><span class="pre">opt</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
202 is the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> options.</p>
203 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
204 </li></ul></div></div></div><div id="method-capture" class="member ni"><a href="Ext.util.Observable.html#method-capture" rel="method-capture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-capture" class="viewSource">view source</a></div><a name="capture"></a><a name="method-capture"></a><a href="Ext.util.Observable.html#" rel="method-capture" class="cls expand">capture</a>(
205 <span class="pre">Observable o, Function fn, [Object scope]</span>)
206  : void</div><div class="description"><div class="short">Starts capture on the specified Observable. All events will be passed
207 to the supplied function with the event name + ...</div><div class="long"><p>Starts capture on the specified Observable. All events will be passed
208 to the supplied function with the event name + standard signature of the event
209 <b>before</b> the event is fired. If the supplied function returns false,
210 the event will not fire.</p>
211 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to capture events from.</p>
212 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>The function to call when an event is fired.</p>
213 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>
214 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
215 </li></ul></div></div></div><div id="method-clearListeners" class="member ni"><a href="Ext.util.Observable.html#method-clearListeners" rel="method-clearListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearListeners" class="viewSource">view source</a></div><a name="clearListeners"></a><a name="method-clearListeners"></a><a href="Ext.util.Observable.html#" rel="method-clearListeners" class="cls expand">clearListeners</a> : void</div><div class="description"><div class="short"><p>Removes all listeners for this object including the managed listeners</p>
216 </div><div class="long"><p>Removes all listeners for this object including the managed listeners</p>
217 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
218 </li></ul></div></div></div><div id="method-clearManagedListeners" class="member ni"><a href="Ext.util.Observable.html#method-clearManagedListeners" rel="method-clearManagedListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearManagedListeners" class="viewSource">view source</a></div><a name="clearManagedListeners"></a><a name="method-clearManagedListeners"></a><a href="Ext.util.Observable.html#" rel="method-clearManagedListeners" class="cls expand">clearManagedListeners</a> : void</div><div class="description"><div class="short"><p>Removes all managed listeners for this object.</p>
219 </div><div class="long"><p>Removes all managed listeners for this object.</p>
220 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
221 </li></ul></div></div></div><div id="method-enableBubble" class="member ni"><a href="Ext.util.Observable.html#method-enableBubble" rel="method-enableBubble" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-enableBubble" class="viewSource">view source</a></div><a name="enableBubble"></a><a name="method-enableBubble"></a><a href="Ext.util.Observable.html#" rel="method-enableBubble" class="cls expand">enableBubble</a>(
222 <span class="pre">String/Array events</span>)
223  : void</div><div class="description"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
224 this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
225 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
226
227
228 <p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>. The default
229 implementation in <a href="Ext.Component.html" 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
230 access the required target more quickly.</p>
231
232
233 <p>Example:</p>
234
235
236 <pre><code>Ext.override(Ext.form.field.Base, {
237 //  Add functionality to Field&#39;s initComponent to enable the change event to bubble
238 initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
239     this.enableBubble('change');
240 }),
241
242 //  We know that we want Field&#39;s events to bubble directly to the FormPanel.
243 getBubbleTarget : function() {
244     if (!this.formPanel) {
245         this.formPanel = this.findParentByType('form');
246     }
247     return this.formPanel;
248 }
249 });
250
251 var myForm = new Ext.formPanel({
252 title: 'User Details',
253 items: [{
254     ...
255 }],
256 listeners: {
257     change: function() {
258         // Title goes red if form has been modified.
259         myForm.header.setStyle('color', 'red');
260     }
261 }
262 });
263 </code></pre>
264
265 <h3 class="pa">Parameters</h3><ul><li><span class="pre">events</span> : String/Array<div class="sub-desc"><p>The event name to bubble, or an Array of event names.</p>
266 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
267 </li></ul></div></div></div><div id="method-fireEvent" class="member ni"><a href="Ext.util.Observable.html#method-fireEvent" rel="method-fireEvent" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-fireEvent" class="viewSource">view source</a></div><a name="fireEvent"></a><a name="method-fireEvent"></a><a href="Ext.util.Observable.html#" rel="method-fireEvent" class="cls expand">fireEvent</a>(
268 <span class="pre">String eventName, Object... args</span>)
269  : Boolean</div><div class="description"><div class="short">Fires the specified event with the passed parameters (minus the event name).
270
271
272 An event may be set to bubble up an Ob...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
273
274
275 <p>An event may be set to bubble up an Observable parent hierarchy (See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>)
276 by calling <a href="Ext.util.Observable.html#enableBubble" rel="Ext.util.Observable#enableBubble" class="docClass">enableBubble</a>.</p>
277
278 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to fire.</p>
279 </div></li><li><span class="pre">args</span> : Object...<div class="sub-desc"><p>Variable number of parameters are passed to handlers.</p>
280 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>returns false if any of the handlers return false otherwise it returns true.</p>
281 </li></ul></div></div></div><div id="method-hasListener" class="member ni"><a href="Ext.util.Observable.html#method-hasListener" rel="method-hasListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-hasListener" class="viewSource">view source</a></div><a name="hasListener"></a><a name="method-hasListener"></a><a href="Ext.util.Observable.html#" rel="method-hasListener" class="cls expand">hasListener</a>(
282 <span class="pre">String eventName</span>)
283  : Boolean</div><div class="description"><div class="short"><p>Checks to see if this object has any listeners for a specified event</p>
284 </div><div class="long"><p>Checks to see if this object has any listeners for a specified event</p>
285 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to check for</p>
286 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>True if the event is being listened for, else false</p>
287 </li></ul></div></div></div><div id="method-observe" class="member ni"><a href="Ext.util.Observable.html#method-observe" rel="method-observe" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-observe" class="viewSource">view source</a></div><a name="observe"></a><a name="method-observe"></a><a href="Ext.util.Observable.html#" rel="method-observe" class="cls expand">observe</a>(
288 <span class="pre">Function c, Object listeners</span>)
289  : void</div><div class="description"><div class="short">Sets observability on the passed class constructor.
290
291 This makes any event fired on any instance of the passed class a...</div><div class="long"><p>Sets observability on the passed class constructor.</p>
292
293 <p>This makes any event fired on any instance of the passed class also fire a single event through
294 the <strong>class</strong> allowing for central handling of events on many instances at once.</p>
295
296 <p>Usage:</p>
297
298 <pre><code>Ext.util.Observable.observe(Ext.data.Connection);
299 Ext.data.Connection.on('beforerequest', function(con, options) {
300     console.log('Ajax request made to ' + options.url);
301 });
302 </code></pre>
303 <h3 class="pa">Parameters</h3><ul><li><span class="pre">c</span> : Function<div class="sub-desc"><p>The class constructor to make observable.</p>
304 </div></li><li><span class="pre">listeners</span> : Object<div class="sub-desc"><p>An object containing a series of listeners to add. See <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a>.</p>
305 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
306 </li></ul></div></div></div><div id="method-on" class="member ni"><a href="Ext.util.Observable.html#method-on" rel="method-on" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-on" class="viewSource">view source</a></div><a name="on"></a><a name="method-on"></a><a href="Ext.util.Observable.html#" rel="method-on" class="cls expand">on</a>(
307 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
308  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object (shorthand for <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a>.)</p>
309 </div><div class="long"><p>Appends an event handler to this object (shorthand for <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a>.)</p>
310 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event to listen for</p>
311 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes</p>
312 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
313 <b>If omitted, defaults to the object which fired the event.</b></p>
314 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.</p>
315 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
316 </li></ul></div></div></div><div id="method-relayEvents" class="member ni"><a href="Ext.util.Observable.html#method-relayEvents" rel="method-relayEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-relayEvents" class="viewSource">view source</a></div><a name="relayEvents"></a><a name="method-relayEvents"></a><a href="Ext.util.Observable.html#" rel="method-relayEvents" class="cls expand">relayEvents</a>(
317 <span class="pre">Object origin, Array events, Object prefix</span>)
318  : void</div><div class="description"><div class="short"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
319 </div><div class="long"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
320 <h3 class="pa">Parameters</h3><ul><li><span class="pre">origin</span> : Object<div class="sub-desc"><p>The Observable whose events this object is to relay.</p>
321 </div></li><li><span class="pre">events</span> : Array<div class="sub-desc"><p>Array of event names to relay.</p>
322 </div></li><li><span class="pre">prefix</span> : Object<div class="sub-desc">
323 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
324 </li></ul></div></div></div><div id="method-releaseCapture" class="member ni"><a href="Ext.util.Observable.html#method-releaseCapture" rel="method-releaseCapture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-releaseCapture" class="viewSource">view source</a></div><a name="releaseCapture"></a><a name="method-releaseCapture"></a><a href="Ext.util.Observable.html#" rel="method-releaseCapture" class="cls expand">releaseCapture</a>(
325 <span class="pre">Observable o</span>)
326  : void</div><div class="description"><div class="short"><p>Removes <b>all</b> added captures from the Observable.</p>
327 </div><div class="long"><p>Removes <b>all</b> added captures from the Observable.</p>
328 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to release</p>
329 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
330 </li></ul></div></div></div><div id="method-removeListener" class="member ni"><a href="Ext.util.Observable.html#method-removeListener" rel="method-removeListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeListener" class="viewSource">view source</a></div><a name="removeListener"></a><a name="method-removeListener"></a><a href="Ext.util.Observable.html#" rel="method-removeListener" class="cls expand">removeListener</a>(
331 <span class="pre">String eventName, Function handler, [Object scope]</span>)
332  : void</div><div class="description"><div class="short"><p>Removes an event handler.</p>
333 </div><div class="long"><p>Removes an event handler.</p>
334 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
335 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> call.</b></p>
336 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
337 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
338 </li></ul></div></div></div><div id="method-removeManagedListener" class="member ni"><a href="Ext.util.Observable.html#method-removeManagedListener" rel="method-removeManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeManagedListener" class="viewSource">view source</a></div><a name="removeManagedListener"></a><a name="method-removeManagedListener"></a><a href="Ext.util.Observable.html#" rel="method-removeManagedListener" class="cls expand">removeManagedListener</a>(
339 <span class="pre">Observable|Element item, Object|String ename, Function fn, Object scope</span>)
340  : void</div><div class="description"><div class="short"><p>Removes listeners that were added by the <a href="Ext.util.Observable.html#mon" rel="Ext.util.Observable#mon" class="docClass">mon</a> method.</p>
341 </div><div class="long"><p>Removes listeners that were added by the <a href="Ext.util.Observable.html#mon" rel="Ext.util.Observable#mon" class="docClass">mon</a> method.</p>
342 <h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable|Element<div class="sub-desc"><p>The item from which to remove a listener/listeners.</p>
343 </div></li><li><span class="pre">ename</span> : Object|String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
344 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
345 is the handler function.</p>
346 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
347 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
348 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
349 </li></ul></div></div></div><div id="method-resumeEvents" class="member ni"><a href="Ext.util.Observable.html#method-resumeEvents" rel="method-resumeEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-resumeEvents" class="viewSource">view source</a></div><a name="resumeEvents"></a><a name="method-resumeEvents"></a><a href="Ext.util.Observable.html#" rel="method-resumeEvents" class="cls expand">resumeEvents</a> : void</div><div class="description"><div class="short">Resume firing events. (see suspendEvents)
350 If events were suspended using the queueSuspended parameter, then all
351 event...</div><div class="long"><p>Resume firing events. (see <a href="Ext.util.Observable.html#suspendEvents" rel="Ext.util.Observable#suspendEvents" class="docClass">suspendEvents</a>)
352 If events were suspended using the <code><b>queueSuspended</b></code> parameter, then all
353 events fired during event suspension will be sent to any listeners now.</p>
354 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
355 </li></ul></div></div></div><div id="method-suspendEvents" class="member ni"><a href="Ext.util.Observable.html#method-suspendEvents" rel="method-suspendEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-suspendEvents" class="viewSource">view source</a></div><a name="suspendEvents"></a><a name="method-suspendEvents"></a><a href="Ext.util.Observable.html#" rel="method-suspendEvents" class="cls expand">suspendEvents</a>(
356 <span class="pre">Boolean queueSuspended</span>)
357  : void</div><div class="description"><div class="short"><p>Suspend the firing of all events. (see <a href="Ext.util.Observable.html#resumeEvents" rel="Ext.util.Observable#resumeEvents" class="docClass">resumeEvents</a>)</p>
358 </div><div class="long"><p>Suspend the firing of all events. (see <a href="Ext.util.Observable.html#resumeEvents" rel="Ext.util.Observable#resumeEvents" class="docClass">resumeEvents</a>)</p>
359 <h3 class="pa">Parameters</h3><ul><li><span class="pre">queueSuspended</span> : Boolean<div class="sub-desc"><p>Pass as true to queue up suspended events to be fired
360 after the <a href="Ext.util.Observable.html#resumeEvents" rel="Ext.util.Observable#resumeEvents" class="docClass">resumeEvents</a> call instead of discarding all suspended events;</p>
361 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
362 </li></ul></div></div></div><div id="method-un" class="member ni"><a href="Ext.util.Observable.html#method-un" rel="method-un" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-un" class="viewSource">view source</a></div><a name="un"></a><a name="method-un"></a><a href="Ext.util.Observable.html#" rel="method-un" class="cls expand">un</a>(
363 <span class="pre">String eventName, Function handler, [Object scope]</span>)
364  : void</div><div class="description"><div class="short"><p>Removes an event handler (shorthand for <a href="Ext.util.Observable.html#removeListener" rel="Ext.util.Observable#removeListener" class="docClass">removeListener</a>.)</p>
365 </div><div class="long"><p>Removes an event handler (shorthand for <a href="Ext.util.Observable.html#removeListener" rel="Ext.util.Observable#removeListener" class="docClass">removeListener</a>.)</p>
366 <h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
367 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> call.</b></p>
368 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
369 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
370 </li></ul></div></div></div></div></div></div></div><div id="pageContent"></div></div></div></div></body></html>