Created
June 6, 2012 14:15
-
-
Save bartrail/2882109 to your computer and use it in GitHub Desktop.
a Simple local storage handler using jStorage and jQuery. Use it to save objects/arrays under one namespace with a customized object structure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var localStorageHandler = function(namespace, dataStructure) { | |
this.namespace = namespace; | |
this.dataStructure = dataStructure ? dataStructure : {}; | |
this.saveItem = function(id, data) { | |
var oldData = this.getItem(id); | |
var saveData = $.extend(true, {}, oldData, data); | |
var metaData = this.getData(); | |
metaData[id] = saveData; | |
this.saveData(metaData); | |
} | |
this.saveData = function(data) { | |
$.jStorage.set(this.namespace, { data: data }) | |
} | |
this.removeItem = function(id) { | |
var data = this.getData(); | |
if(data[id] != undefined) { | |
delete data[id]; | |
this.saveData(data); | |
} | |
} | |
this.getItem = function(id) { | |
var data = this.getData(); | |
if(data[id] != undefined) { | |
return data[id]; | |
}else{ | |
return this.dataStructure; | |
} | |
} | |
this.getData = function() { | |
var metaData = $.jStorage.get(this.namespace); | |
if( metaData == null) { | |
metaData = { | |
data: {} | |
}; | |
} | |
return metaData.data; | |
} | |
this.reset = function() { | |
$.jStorage.set(this.namespace, null); | |
} | |
} | |
var reloadHandler = new localStorageHandler('reloadData', { | |
uri : null, | |
step : null, | |
trainingStatus : null, | |
product : null, | |
supplierId : null, | |
processed : null | |
}); | |
var updateHandler = new localStorageHandler('updateData', { | |
supplierId : null, | |
type : null | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment