Образец состояния Ext Js предоставляет? - PullRequest
0 голосов
/ 11 мая 2011

Может кто-нибудь сказать мне пример провайдера Ext JS, особенно если он намеревается использовать любой HTML 5 механизм хранения.

Спасибо.

1 Ответ

1 голос
/ 11 мая 2011

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
    }

});

Примечание. Этот код не завершен, не проверен и требует большей логики перед выполнением. Это может быть использовано в качестве отправной точки.

...