diff --git a/lib/client/dom.js b/lib/client/dom.js index 15a4d2db..c21e692f 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -450,21 +450,105 @@ var CloudCommander, Util, DOM, CloudFunc; return lRet; }; }, - + /** + * Обьект для работы с кэшем + * в него будут включены функции для + * работы с LocalStorage, webdb, + * indexed db etc. + */ + CacheProto = function(){ + /* приватный переключатель возможности работы с кэшем */ + var CacheAllowed; + + /* функция проверяет возможно ли работать с кэшем каким-либо образом */ + this.isAllowed = function(){ + var lRet = CacheAllowed && window.localStorage; + return lRet; + }; + + /** + * allow cache usage + */ + this.setAllowed = function(pAllowd){ + CacheAllowed = pAllowd; + + return pAllowd; + }; + + /** remove element */ + this.remove = function(pItem){ + var lRet = this; + + if(CacheAllowed) + localStorage.removeItem(pItem); + + return lRet; + }; + + /** если доступен localStorage и + * в нём есть нужная нам директория - + * записываем данные в него + */ + this.set = function(pName, pData){ + var lRet = this; + + if(CacheAllowed && pName && pData) + localStorage.setItem(pName,pData); + + return lRet; + }, + + /** Если доступен Cache принимаем из него данные*/ + this.get = function(pName){ + var lRet; + + if(CacheAllowed) + lRet = localStorage.getItem(pName); + + return lRet; + }, + + /* get all cache from local storage */ + this.getAll = function(){ + var lRet = null; + + if(CacheAllowed) + lRet = localStorage; + + return lRet; + }; + + /** функция чистит весь кэш для всех каталогов*/ + this.clear = function(){ + var lRet = this; + + if(CacheAllowed) + localStorage.clear(); + + return lRet; + }; + }, RESTfull = function(){}, Images = function(){}, - DOMTreeConstructor = function(){}; + Cache = function(){}; - Util.extend(DOMProto, [DOMTreeProto, EventsProto]); DOMConstructor.prototype = DOMProto; DOM = new DOMConstructor(); - + RESTfull.prototype = new RESTfullProto(); DOMProto.RESTfull = new RESTfull(); Images.prototype = new ImagesProto(); DOMProto.Images = new Images(); + Cache.prototype = new CacheProto(); + DOMProto.Cache = new Cache(); + + Util.extend(DOMProto, [ + DOMTreeProto, + EventsProto + ]); + /** * private function thet unset currentfile * @@ -528,87 +612,6 @@ var CloudCommander, Util, DOM, CloudFunc; return lRet; }; - /** - * Обьект для работы с кэшем - * в него будут включены функции для - * работы с LocalStorage, webdb, - * indexed db etc. - */ - DOMProto.Cache = function(){ - /* приватный переключатель возможности работы с кэшем */ - var CacheAllowed; - - /* функция проверяет возможно ли работать с кэшем каким-либо образом */ - this.isAllowed = function(){ - var lRet = CacheAllowed && window.localStorage; - return lRet; - }; - - /** - * allow cache usage - */ - this.setAllowed = function(pAllowd){ - CacheAllowed = pAllowd; - - return pAllowd; - }; - - /** remove element */ - this.remove = function(pItem){ - var lRet = this; - - if(CacheAllowed) - localStorage.removeItem(pItem); - - return lRet; - }; - - /** если доступен localStorage и - * в нём есть нужная нам директория - - * записываем данные в него - */ - this.set = function(pName, pData){ - var lRet = this; - - if(CacheAllowed && pName && pData) - localStorage.setItem(pName,pData); - - return lRet; - }, - - /** Если доступен Cache принимаем из него данные*/ - this.get = function(pName){ - var lRet; - - if(CacheAllowed) - lRet = localStorage.getItem(pName); - - return lRet; - }, - - /* get all cache from local storage */ - this.getAll = function(){ - var lRet = null; - - if(CacheAllowed) - lRet = localStorage; - - return lRet; - }; - - /** функция чистит весь кэш для всех каталогов*/ - this.clear = function(){ - var lRet = this; - - if(CacheAllowed) - localStorage.clear(); - - return lRet; - }; - }; - - DOMProto.Cache = new DOMProto.Cache(); - /** * create new folder *