| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- <!DOCTYPE html>
 
- <html>
 
- <head>
 
-   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
-   <title>The source code</title>
 
-   <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
 
-   <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
 
-   <style type="text/css">
 
-     .highlight { display: block; background-color: #ddd; }
 
-   </style>
 
-   <script type="text/javascript">
 
-     function highlight() {
 
-       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
 
-     }
 
-   </script>
 
- </head>
 
- <body onload="prettyPrint(); highlight();">
 
-   <pre class="prettyprint lang-js"><span id='Ext-state-LocalStorageProvider'>/**
 
- </span> * @class Ext.state.LocalStorageProvider
 
-  * A Provider implementation which saves and retrieves state via the HTML5 localStorage object.
 
-  * If the browser does not support local storage, an exception will be thrown upon instantiating
 
-  * this class.
 
-  */
 
- Ext.define('Ext.state.LocalStorageProvider', {
 
-     /* Begin Definitions */
 
-     
 
-     extend: 'Ext.state.Provider',
 
-     
 
-     alias: 'state.localstorage',
 
-     
 
-     /* End Definitions */
 
-    
 
-     constructor: function(){
 
-         var me = this;
 
-         me.callParent(arguments);
 
-         me.store = me.getStorageObject();
 
-         me.state = me.readLocalStorage();
 
-     },
 
-     
 
-     readLocalStorage: function(){
 
-         var store = this.store,
 
-             i = 0,
 
-             len = store.length,
 
-             prefix = this.prefix,
 
-             prefixLen = prefix.length,
 
-             data = {},
 
-             key;
 
-             
 
-         for (; i < len; ++i) {
 
-             key = store.key(i);
 
-             if (key.substring(0, prefixLen) == prefix) {
 
-                 data[key.substr(prefixLen)] = this.decodeValue(store.getItem(key));
 
-             }            
 
-         }
 
-         return data;
 
-     },
 
-     
 
-     set : function(name, value){
 
-         var me = this;
 
-         
 
-         me.clear(name);
 
-         if (typeof value == "undefined" || value === null) {
 
-             return;
 
-         }
 
-         me.store.setItem(me.prefix + name, me.encodeValue(value));
 
-         me.callParent(arguments);
 
-     },
 
-     // private
 
-     clear : function(name){
 
-         this.store.removeItem(this.prefix + name);
 
-         this.callParent(arguments);
 
-     },
 
-     
 
-     getStorageObject: function(){
 
-         try {
 
-             var supports = 'localStorage' in window && window['localStorage'] !== null;
 
-             if (supports) {
 
-                 return window.localStorage;
 
-             }
 
-         } catch (e) {
 
-             return false;
 
-         }
 
-         //<debug>
 
-         Ext.Error.raise('LocalStorage is not supported by the current browser');
 
-         //</debug>
 
-     }    
 
- });
 
- </pre>
 
- </body>
 
- </html>
 
 
  |