Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / docs / api / Ext.state.Provider.html
1 <!DOCTYPE html><html><head><title>Ext.state.Provider | 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.state.Provider',
13         docClass: 'Ext.state.Provider',
14         docReq: 'Ext.state.Provider',
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 = 'Provider2.html#Ext-state.Provider';
33     clsInfo = {"methods":["addEvents","addListener","addManagedListener","capture","clear","clearListeners","clearManagedListeners","decodeValue","enableBubble","encodeValue","fireEvent","get","hasListener","observe","on","relayEvents","releaseCapture","removeListener","removeManagedListener","resumeEvents","set","suspendEvents","un"],"cfgs":["listeners","prefix"],"properties":[],"events":["statechange"],"subclasses":["Ext.state.CookieProvider"]};
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/Provider2.html#Ext-state.Provider" target="_blank">Ext.state.Provider</a></h1></div><div id="docContent"><div id="doc-overview-content"><div class="lft"><pre class="subclasses"><h4>Mixins</h4><div class="mixin"><a href="Ext.util.Observable.html" rel="Ext.util.Observable" class="cls docClass">Ext.util.Observable</a></div></pre><p>Abstract base class for state provider implementations. The provider is responsible
38 for setting values  and extracting values to/from the underlying storage source. The 
39 storage source can vary and the details should be implemented in a subclass. For example
40 a provider could use a server side database or the browser localstorage where supported.</p>
41
42
43
44
45 <p>This class provides methods for encoding and decoding <b>typed</b> variables including 
46 dates and defines the Provider interface. By default these methods put the value and the
47 type information into a delimited string that can be stored. These should be overridden in 
48 a subclass if you want to change the format of the encoded value and subsequent decoding.</p>
49
50 <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 inherited"><a href="Ext.state.Provider.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.state.Provider.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
51 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
52 object during initialization.  This should be a valid listeners config object as specified in the
53 <a href="Ext.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a> example for attaching multiple handlers at once.</p></p>
54
55 <br><p><b><u>DOM events from ExtJs <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a></u></b></p>
56
57
58 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
59
60
61 <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
62 <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
63 events directly from a child element of a Component, we need to specify the <code>element</code> option to
64 identify the Component property to add a DOM listener to:</p>
65
66 <pre><code>new Ext.panel.Panel({
67     width: 400,
68     height: 200,
69     dockedItems: [{
70         xtype: 'toolbar'
71     }],
72     listeners: {
73         click: {
74             element: 'el', //bind to the underlying el property on the panel
75             fn: function(){ console.log('click el'); }
76         },
77         dblclick: {
78             element: 'body', //bind to the underlying body property on the panel
79             fn: function(){ console.log('dblclick body'); }
80         }
81     }
82 });
83 </code></pre>
84
85
86 <p></p></p>
87 </div></div></div><div id="config-prefix" class="member ni"><a href="Ext.state.Provider.html#config-prefix" rel="config-prefix" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-cfg-prefix" class="viewSource">view source</a></div><a name="prefix"></a><a name="config-prefix"></a><a href="Ext.state.Provider.html#" rel="config-prefix" class="cls expand">prefix</a><span> : String</span></div><div class="description"><div class="short"><p>A string to prefix to items stored in the underlying state store.
88 Defaults to <tt>'ext-'</tt></p>
89 </div><div class="long"><p>A string to prefix to items stored in the underlying state store.
90 Defaults to <tt>'ext-'</tt></p>
91 </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 inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-addEvents" class="cls expand">addEvents</a>(
92 <span class="pre">Object/String o, String </span>)
93  : void</div><div class="description"><div class="short"><p>Adds the specified events to the list of events which this Observable may fire.</p>
94 </div><div class="long"><p>Adds the specified events to the list of events which this Observable may fire.</p>
95 <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>
96 or the first event name string if multiple event names are being passed as separate parameters.</p>
97 </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.
98 Usage:</p>
99
100 <pre><code>this.addEvents('storeloaded', 'storecleared');
101 </code></pre>
102
103 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
104 </li></ul></div></div></div><div id="method-addListener" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-addListener" class="cls expand">addListener</a>(
105 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
106  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object.</p>
107 </div><div class="long"><p>Appends an event handler to this object.</p>
108 <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>
109 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes.</p>
110 </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.
111 <b>If omitted, defaults to the object which fired the event.</b></p>
112 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.
113 properties. This may contain any of the following properties:<ul>
114 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
115 <b>If omitted, defaults to the object which fired the event.</b></div></li>
116 <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>
117 <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>
118 <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
119 by the specified number of milliseconds. If the event fires again within that time, the original
120 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
121 <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>
122 if the event was bubbled up from a child Observable.</div></li>
123 <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>
124 The name of a Component property which references an element to add a listener to.</p>
125
126 <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
127 will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:
128 <pre><code>new Ext.panel.Panel({
129     title: 'The title',
130     listeners: {
131         click: this.handlePanelClick,
132         element: 'body'
133     }
134 });
135 </code></pre></p>
136
137
138 <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>
139
140
141 <p></div></li>
142 </ul><br></p>
143
144 <p>
145 <b>Combining Options</b><br>
146 Using the options argument, it is possible to combine different types of listeners:<br>
147 <br>
148 A delayed, one-time listener.
149 <pre><code>myPanel.on('hide', this.handleClick, this, {
150 single: true,
151 delay: 100
152 });</code></pre>
153 <p>
154 <b>Attaching multiple handlers in 1 call</b><br>
155 The method also allows for a single argument to be passed which is a config object containing properties
156 which specify multiple events. For example:
157 <pre><code>myGridPanel.on({
158     cellClick: this.onCellClick,
159     mouseover: this.onMouseOver,
160     mouseout: this.onMouseOut,
161     scope: this // Important. Ensure "this" is correct during handler execution
162 });
163 </code></pre>.
164 <p>
165
166 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
167 </li></ul></div></div></div><div id="method-addManagedListener" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-addManagedListener" class="cls expand">addManagedListener</a>(
168 <span class="pre">Observable/Element item, Object/String ename, Function fn, Object scope, Object opt</span>)
169  : void</div><div class="description"><div class="short"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
170 is destroyed.
171
172 </div><div class="long"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
173 is destroyed.
174
175 <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>
176 </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>
177 </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
178 is the handler function.</p>
179 </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
180 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
181 </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
182 is the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> options.</p>
183 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
184 </li></ul></div></div></div><div id="method-capture" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-capture" class="cls expand">capture</a>(
185 <span class="pre">Observable o, Function fn, [Object scope]</span>)
186  : void</div><div class="description"><div class="short">Starts capture on the specified Observable. All events will be passed
187 to the supplied function with the event name + ...</div><div class="long"><p>Starts capture on the specified Observable. All events will be passed
188 to the supplied function with the event name + standard signature of the event
189 <b>before</b> the event is fired. If the supplied function returns false,
190 the event will not fire.</p>
191 <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>
192 </div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>The function to call when an event is fired.</p>
193 </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>
194 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
195 </li></ul></div></div></div><div id="method-clear" class="member ni"><a href="Ext.state.Provider.html#method-clear" rel="method-clear" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-method-clear" class="viewSource">view source</a></div><a name="clear"></a><a name="method-clear"></a><a href="Ext.state.Provider.html#" rel="method-clear" class="cls expand">clear</a>(
196 <span class="pre">String name</span>)
197  : void</div><div class="description"><div class="short"><p>Clears a value from the state</p>
198 </div><div class="long"><p>Clears a value from the state</p>
199 <h3 class="pa">Parameters</h3><ul><li><span class="pre">name</span> : String<div class="sub-desc"><p>The key name</p>
200 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
201 </li></ul></div></div></div><div id="method-clearListeners" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.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>
202 </div><div class="long"><p>Removes all listeners for this object including the managed listeners</p>
203 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
204 </li></ul></div></div></div><div id="method-clearManagedListeners" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.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>
205 </div><div class="long"><p>Removes all managed listeners for this object.</p>
206 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
207 </li></ul></div></div></div><div id="method-decodeValue" class="member ni"><a href="Ext.state.Provider.html#method-decodeValue" rel="method-decodeValue" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-method-decodeValue" class="viewSource">view source</a></div><a name="decodeValue"></a><a name="method-decodeValue"></a><a href="Ext.state.Provider.html#" rel="method-decodeValue" class="cls expand">decodeValue</a>(
208 <span class="pre">String value</span>)
209  : Mixed</div><div class="description"><div class="short"><p>Decodes a string previously encoded with <a href="Ext.state.Provider.html#encodeValue" rel="Ext.state.Provider#encodeValue" class="docClass">encodeValue</a>.</p>
210 </div><div class="long"><p>Decodes a string previously encoded with <a href="Ext.state.Provider.html#encodeValue" rel="Ext.state.Provider#encodeValue" class="docClass">encodeValue</a>.</p>
211 <h3 class="pa">Parameters</h3><ul><li><span class="pre">value</span> : String<div class="sub-desc"><p>The value to decode</p>
212 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Mixed</span>&nbsp; &nbsp;<p>The decoded value</p>
213 </li></ul></div></div></div><div id="method-enableBubble" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-enableBubble" class="cls expand">enableBubble</a>(
214 <span class="pre">String/Array events</span>)
215  : void</div><div class="description"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
216 this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
217 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
218
219
220 <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
221 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
222 access the required target more quickly.</p>
223
224
225 <p>Example:</p>
226
227
228 <pre><code>Ext.override(Ext.form.field.Base, {
229 //  Add functionality to Field&#39;s initComponent to enable the change event to bubble
230 initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
231     this.enableBubble('change');
232 }),
233
234 //  We know that we want Field&#39;s events to bubble directly to the FormPanel.
235 getBubbleTarget : function() {
236     if (!this.formPanel) {
237         this.formPanel = this.findParentByType('form');
238     }
239     return this.formPanel;
240 }
241 });
242
243 var myForm = new Ext.formPanel({
244 title: 'User Details',
245 items: [{
246     ...
247 }],
248 listeners: {
249     change: function() {
250         // Title goes red if form has been modified.
251         myForm.header.setStyle('color', 'red');
252     }
253 }
254 });
255 </code></pre>
256
257 <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>
258 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
259 </li></ul></div></div></div><div id="method-encodeValue" class="member ni"><a href="Ext.state.Provider.html#method-encodeValue" rel="method-encodeValue" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-method-encodeValue" class="viewSource">view source</a></div><a name="encodeValue"></a><a name="method-encodeValue"></a><a href="Ext.state.Provider.html#" rel="method-encodeValue" class="cls expand">encodeValue</a>(
260 <span class="pre">Mixed value</span>)
261  : String</div><div class="description"><div class="short"><p>Encodes a value including type information.  Decode with <a href="Ext.state.Provider.html#decodeValue" rel="Ext.state.Provider#decodeValue" class="docClass">decodeValue</a>.</p>
262 </div><div class="long"><p>Encodes a value including type information.  Decode with <a href="Ext.state.Provider.html#decodeValue" rel="Ext.state.Provider#decodeValue" class="docClass">decodeValue</a>.</p>
263 <h3 class="pa">Parameters</h3><ul><li><span class="pre">value</span> : Mixed<div class="sub-desc"><p>The value to encode</p>
264 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">String</span>&nbsp; &nbsp;<p>The encoded value</p>
265 </li></ul></div></div></div><div id="method-fireEvent" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-fireEvent" class="cls expand">fireEvent</a>(
266 <span class="pre">String eventName, Object... args</span>)
267  : Boolean</div><div class="description"><div class="short">Fires the specified event with the passed parameters (minus the event name).
268
269
270 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>
271
272
273 <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>)
274 by calling <a href="Ext.state.Provider.html#enableBubble" rel="Ext.state.Provider#enableBubble" class="docClass">enableBubble</a>.</p>
275
276 <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>
277 </div></li><li><span class="pre">args</span> : Object...<div class="sub-desc"><p>Variable number of parameters are passed to handlers.</p>
278 </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>
279 </li></ul></div></div></div><div id="method-get" class="member ni"><a href="Ext.state.Provider.html#method-get" rel="method-get" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-method-get" class="viewSource">view source</a></div><a name="get"></a><a name="method-get"></a><a href="Ext.state.Provider.html#" rel="method-get" class="cls expand">get</a>(
280 <span class="pre">String name, Mixed defaultValue</span>)
281  : Mixed</div><div class="description"><div class="short"><p>Returns the current value for a key</p>
282 </div><div class="long"><p>Returns the current value for a key</p>
283 <h3 class="pa">Parameters</h3><ul><li><span class="pre">name</span> : String<div class="sub-desc"><p>The key name</p>
284 </div></li><li><span class="pre">defaultValue</span> : Mixed<div class="sub-desc"><p>A default value to return if the key's value is not found</p>
285 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Mixed</span>&nbsp; &nbsp;<p>The state data</p>
286 </li></ul></div></div></div><div id="method-hasListener" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-hasListener" class="cls expand">hasListener</a>(
287 <span class="pre">String eventName</span>)
288  : Boolean</div><div class="description"><div class="short"><p>Checks to see if this object has any listeners for a specified event</p>
289 </div><div class="long"><p>Checks to see if this object has any listeners for a specified event</p>
290 <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>
291 </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>
292 </li></ul></div></div></div><div id="method-observe" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-observe" class="cls expand">observe</a>(
293 <span class="pre">Function c, Object listeners</span>)
294  : void</div><div class="description"><div class="short">Sets observability on the passed class constructor.
295
296 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>
297
298 <p>This makes any event fired on any instance of the passed class also fire a single event through
299 the <strong>class</strong> allowing for central handling of events on many instances at once.</p>
300
301 <p>Usage:</p>
302
303 <pre><code>Ext.util.Observable.observe(Ext.data.Connection);
304 Ext.data.Connection.on('beforerequest', function(con, options) {
305     console.log('Ajax request made to ' + options.url);
306 });
307 </code></pre>
308 <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>
309 </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.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a>.</p>
310 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
311 </li></ul></div></div></div><div id="method-on" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-on" class="cls expand">on</a>(
312 <span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
313  : void</div><div class="description"><div class="short"><p>Appends an event handler to this object (shorthand for <a href="Ext.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a>.)</p>
314 </div><div class="long"><p>Appends an event handler to this object (shorthand for <a href="Ext.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a>.)</p>
315 <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>
316 </div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes</p>
317 </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.
318 <b>If omitted, defaults to the object which fired the event.</b></p>
319 </div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.</p>
320 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
321 </li></ul></div></div></div><div id="method-relayEvents" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-relayEvents" class="cls expand">relayEvents</a>(
322 <span class="pre">Object origin, Array events, Object prefix</span>)
323  : 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>
324 </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>
325 <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>
326 </div></li><li><span class="pre">events</span> : Array<div class="sub-desc"><p>Array of event names to relay.</p>
327 </div></li><li><span class="pre">prefix</span> : Object<div class="sub-desc">
328 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
329 </li></ul></div></div></div><div id="method-releaseCapture" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-releaseCapture" class="cls expand">releaseCapture</a>(
330 <span class="pre">Observable o</span>)
331  : void</div><div class="description"><div class="short"><p>Removes <b>all</b> added captures from the Observable.</p>
332 </div><div class="long"><p>Removes <b>all</b> added captures from the Observable.</p>
333 <h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to release</p>
334 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
335 </li></ul></div></div></div><div id="method-removeListener" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-removeListener" class="cls expand">removeListener</a>(
336 <span class="pre">String eventName, Function handler, [Object scope]</span>)
337  : void</div><div class="description"><div class="short"><p>Removes an event handler.</p>
338 </div><div class="long"><p>Removes an event handler.</p>
339 <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>
340 </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.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a> call.</b></p>
341 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
342 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
343 </li></ul></div></div></div><div id="method-removeManagedListener" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-removeManagedListener" class="cls expand">removeManagedListener</a>(
344 <span class="pre">Observable|Element item, Object|String ename, Function fn, Object scope</span>)
345  : void</div><div class="description"><div class="short"><p>Removes listeners that were added by the <a href="Ext.state.Provider.html#mon" rel="Ext.state.Provider#mon" class="docClass">mon</a> method.</p>
346 </div><div class="long"><p>Removes listeners that were added by the <a href="Ext.state.Provider.html#mon" rel="Ext.state.Provider#mon" class="docClass">mon</a> method.</p>
347 <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>
348 </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>
349 </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
350 is the handler function.</p>
351 </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
352 is the scope (<code>this</code> reference) in which the handler function is executed.</p>
353 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
354 </li></ul></div></div></div><div id="method-resumeEvents" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-resumeEvents" class="cls expand">resumeEvents</a> : void</div><div class="description"><div class="short">Resume firing events. (see suspendEvents)
355 If events were suspended using the queueSuspended parameter, then all
356 event...</div><div class="long"><p>Resume firing events. (see <a href="Ext.state.Provider.html#suspendEvents" rel="Ext.state.Provider#suspendEvents" class="docClass">suspendEvents</a>)
357 If events were suspended using the <code><b>queueSuspended</b></code> parameter, then all
358 events fired during event suspension will be sent to any listeners now.</p>
359 <h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
360 </li></ul></div></div></div><div id="method-set" class="member ni"><a href="Ext.state.Provider.html#method-set" rel="method-set" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-method-set" class="viewSource">view source</a></div><a name="set"></a><a name="method-set"></a><a href="Ext.state.Provider.html#" rel="method-set" class="cls expand">set</a>(
361 <span class="pre">String name, Mixed value</span>)
362  : void</div><div class="description"><div class="short"><p>Sets the value for a key</p>
363 </div><div class="long"><p>Sets the value for a key</p>
364 <h3 class="pa">Parameters</h3><ul><li><span class="pre">name</span> : String<div class="sub-desc"><p>The key name</p>
365 </div></li><li><span class="pre">value</span> : Mixed<div class="sub-desc"><p>The value to set</p>
366 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
367 </li></ul></div></div></div><div id="method-suspendEvents" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-suspendEvents" class="cls expand">suspendEvents</a>(
368 <span class="pre">Boolean queueSuspended</span>)
369  : void</div><div class="description"><div class="short"><p>Suspend the firing of all events. (see <a href="Ext.state.Provider.html#resumeEvents" rel="Ext.state.Provider#resumeEvents" class="docClass">resumeEvents</a>)</p>
370 </div><div class="long"><p>Suspend the firing of all events. (see <a href="Ext.state.Provider.html#resumeEvents" rel="Ext.state.Provider#resumeEvents" class="docClass">resumeEvents</a>)</p>
371 <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
372 after the <a href="Ext.state.Provider.html#resumeEvents" rel="Ext.state.Provider#resumeEvents" class="docClass">resumeEvents</a> call instead of discarding all suspended events;</p>
373 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
374 </li></ul></div></div></div><div id="method-un" class="member inherited"><a href="Ext.state.Provider.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.state.Provider.html#" rel="method-un" class="cls expand">un</a>(
375 <span class="pre">String eventName, Function handler, [Object scope]</span>)
376  : void</div><div class="description"><div class="short"><p>Removes an event handler (shorthand for <a href="Ext.state.Provider.html#removeListener" rel="Ext.state.Provider#removeListener" class="docClass">removeListener</a>.)</p>
377 </div><div class="long"><p>Removes an event handler (shorthand for <a href="Ext.state.Provider.html#removeListener" rel="Ext.state.Provider#removeListener" class="docClass">removeListener</a>.)</p>
378 <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>
379 </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.state.Provider.html#addListener" rel="Ext.state.Provider#addListener" class="docClass">addListener</a> call.</b></p>
380 </div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
381 </div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
382 </li></ul></div></div></div></div><div class="m-events"><a name="events"></a><div class="definedBy">Defined By</div><h3 class="evt p">Events</h3><div id="event-statechange" class="member f ni"><a href="Ext.state.Provider.html#event-statechange" rel="event-statechange" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.state.Provider.html" class="definedIn docClass">Ext.state.Provider</a><br/><a href="../source/Provider2.html#Ext-state.Provider-event-statechange" class="viewSource">view source</a></div><a name="statechange"></a><a name="event-statechange"></a><a href="Ext.state.Provider.html#" rel="event-statechange" class="cls expand">statechange</a>(
383 <span class="pre">Provider this, String key, String value</span>)
384 </div><div class="description"><div class="short"><p>Fires when a state change occurs.</p>
385 </div><div class="long"><p>Fires when a state change occurs.</p>
386 <h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Provider<div class="sub-desc"><p>This state provider</p>
387 </div></li><li><span class="pre">key</span> : String<div class="sub-desc"><p>The state key which was changed</p>
388 </div></li><li><span class="pre">value</span> : String<div class="sub-desc"><p>The encoded value for the state</p>
389 </div></li></ul></div></div></div></div></div></div></div><div id="pageContent"></div></div></div></div></body></html>