diff options
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/services/preferences/preferences.js')
-rw-r--r-- | sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/services/preferences/preferences.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/services/preferences/preferences.js b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/services/preferences/preferences.js new file mode 100644 index 000000000..a45eb966d --- /dev/null +++ b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/services/preferences/preferences.js @@ -0,0 +1,35 @@ +(function( app ) { + + var ux = app.ns("ux"); + var services = app.ns("services"); + + services.Preferences = ux.Singleton.extend({ + init: function() { + this._storage = window.localStorage; + this._setItem("__version", 1 ); + }, + get: function( key ) { + return this._getItem( key ); + }, + set: function( key, val ) { + return this._setItem( key, val ); + }, + _getItem: function( key ) { + try { + return JSON.parse( this._storage.getItem( key ) ); + } catch(e) { + console.warn( e ); + return undefined; + } + }, + _setItem: function( key, val ) { + try { + return this._storage.setItem( key, JSON.stringify( val ) ); + } catch(e) { + console.warn( e ); + return undefined; + } + } + }); + +})( this.app ); |