Ext.state.Provider
- абстрактный базовый класс для реализаций провайдера состояний. В текущей версии ExtJS есть только один поставщик хранилищ, а именно CookieProvider .
Вы можете создать своего провайдера хранения, унаследовав класс Provider и внедрив механизм хранения HTML 5. Вот возможный код скелета:
Ext.define('Ext.state.LocalStoreProvider', {
extend: 'Ext.state.Provider',
constructor : function(config){
// 1. set default values
// 2. Check if HTML5 storage is supported?
// 3. load existing values
},
set : function(name, value){
localStorage.setItem(name, value);
},
get : function(name,default) {
var val = localStorage[name];
if(val)
return val;
else
return default;
},
clear : function(name){
localStorage.removeItem(name);
},
decodeValue : function( val) {
// Logic to decode an encoded data
},
encodeValue : function( val) {
// Logic to encode a string data
}
});
Примечание. Этот код не завершен, не проверен и требует большей логики перед выполнением. Это может быть использовано в качестве отправной точки.