Skip to content

Instantly share code, notes, and snippets.

@jiggliemon
Created September 23, 2011 00:30
Show Gist options
  • Save jiggliemon/1236451 to your computer and use it in GitHub Desktop.
Save jiggliemon/1236451 to your computer and use it in GitHub Desktop.
Simple State Object
(function(global,_NAMESPACE_){
var State = _NAMESPACE_.State = function(){
return {
_states:{}
,_stateData: {}
,setState: function(name, data) {
if(this._states[name] && typeof data == 'undefined'){
this.setState(this._states[name]);
return false;
}
if(typeof name == 'object'){
for(var key in name){
this.setState(key,name[key]);
}
return false;
}
this._stateData[name] = data;
if (typeof this['fireEvent'] === 'function') {
this.fireEvent([name,'set'].join('.'), data);
}
}
,getState: function(name, defaultVal) {
return this._stateData[name] === undefined ? defaultVal : this._stateData[name];
}
};
};
})(global,_NAMESPACE_);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment