mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
Added chainable to Cache object in DOM
This commit is contained in:
parent
252bbc4534
commit
d64a58692f
3 changed files with 129 additions and 15 deletions
|
|
@ -122,6 +122,8 @@ callback function.
|
|||
* Added ability to load a couple scripts after one main,
|
||||
in any position in anyLoadOnLoad function.
|
||||
|
||||
* Added chainable to Cache object in DOM.
|
||||
|
||||
|
||||
2012.10.01, Version 0.1.7
|
||||
|
||||
|
|
|
|||
|
|
@ -184,11 +184,35 @@ var CloudCommander, Util, DOM, CloudFunc;
|
|||
return ( CacheAllowed = Util.isObject( window.localStorage ) );
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* allow cache usage
|
||||
*/
|
||||
this.setAllowed = function(){
|
||||
var lRet = this;
|
||||
CacheAllowed = true;
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/**
|
||||
* dissalow cache usage
|
||||
*/
|
||||
this.UnSetAllowed = function(){
|
||||
var lRet = this;
|
||||
CacheAllowed = false;
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/** remove element */
|
||||
this.remove = function(pItem){
|
||||
return CacheAllowed ?
|
||||
localStorage.removeItem(pItem) :
|
||||
(delete Data[pItem]);
|
||||
var lRet = this;
|
||||
|
||||
if(CacheAllowed)
|
||||
localStorage.removeItem(pItem);
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/** если доступен localStorage и
|
||||
|
|
@ -196,28 +220,42 @@ var CloudCommander, Util, DOM, CloudFunc;
|
|||
* записываем данные в него
|
||||
*/
|
||||
this.set = function(pName, pData){
|
||||
var lRet;
|
||||
var lRet = this;
|
||||
|
||||
if(pName && pData)
|
||||
lRet = CacheAllowed ?
|
||||
localStorage.setItem(pName,pData) :
|
||||
Data[pName] = pData;
|
||||
if(CacheAllowed && pName && pData)
|
||||
localStorage.setItem(pName,pData);
|
||||
|
||||
return lRet;
|
||||
},
|
||||
|
||||
/** Если доступен Cache принимаем из него данные*/
|
||||
this.get = function(pName){
|
||||
return CacheAllowed ?
|
||||
localStorage.getItem(pName) :
|
||||
Data[pName];
|
||||
var lRet = this;
|
||||
|
||||
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(){
|
||||
return CacheAllowed ?
|
||||
localStorage.clear() :
|
||||
(Data = {});
|
||||
var lRet = this;
|
||||
|
||||
if(CacheAllowed)
|
||||
localStorage.clear();
|
||||
|
||||
return lRet;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -28,10 +28,17 @@ var Util, DOM, $;
|
|||
}
|
||||
|
||||
/* setting function context (this) */
|
||||
DOM.bind = function(pFunction, pContext){
|
||||
Util.bind = function(pFunction, pContext){
|
||||
return $.proxy(pFunction, pContext);
|
||||
};
|
||||
|
||||
/*
|
||||
* typeof callback === "function" should not be used,
|
||||
* as older browsers may report objects to be a function,
|
||||
* which they are not
|
||||
*/
|
||||
Util.isFunction = $.isFunction;
|
||||
|
||||
if (!document.addEventListener)
|
||||
/**
|
||||
* safe add event listener on ie
|
||||
|
|
@ -141,4 +148,71 @@ var Util, DOM, $;
|
|||
|
||||
if(!window.XMLHttpRequest)
|
||||
DOM.ajax = $.ajax;
|
||||
|
||||
if(!window.localStorage){
|
||||
DOM.Cache = function(){
|
||||
/* приватный переключатель возможности работы с кэшем */
|
||||
var CacheAllowed,
|
||||
Data = {};
|
||||
|
||||
/* функция проверяет возможно ли работать с кэшем каким-либо образом */
|
||||
this.isAllowed = function(){
|
||||
return CacheAllowed;
|
||||
};
|
||||
|
||||
this.setAllowed = function(){
|
||||
CacheAllowed = true;
|
||||
};
|
||||
|
||||
this.UnSetAllowed = function(){
|
||||
CacheAllowed = false;
|
||||
};
|
||||
|
||||
/** remove element */
|
||||
this.remove = function(pItem){
|
||||
var lRet = this;
|
||||
if(CacheAllowed)
|
||||
delete Data[pItem];
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/** если доступен localStorage и
|
||||
* в нём есть нужная нам директория -
|
||||
* записываем данные в него
|
||||
*/
|
||||
this.set = function(pName, pData){
|
||||
var lRet = this;
|
||||
|
||||
if(CacheAllowed && pName && pData)
|
||||
Data[pName] = pData;
|
||||
|
||||
return lRet;
|
||||
},
|
||||
|
||||
/** Если доступен Cache принимаем из него данные*/
|
||||
this.get = function(pName){
|
||||
var lRet = false;
|
||||
|
||||
if(CacheAllowed)
|
||||
lRet = Data[pName];
|
||||
|
||||
return lRet;
|
||||
},
|
||||
|
||||
/** функция чистит весь кэш для всех каталогов*/
|
||||
this.clear = function(){
|
||||
var lRet = this;
|
||||
|
||||
if(CacheAllowed)
|
||||
Data = {};
|
||||
|
||||
return lRet;
|
||||
};
|
||||
};
|
||||
|
||||
DOM.Cache = new DOM.Cache();
|
||||
}
|
||||
|
||||
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue