From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- js/data/settings.js | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 js/data/settings.js (limited to 'js/data/settings.js') diff --git a/js/data/settings.js b/js/data/settings.js new file mode 100644 index 00000000..ffea2075 --- /dev/null +++ b/js/data/settings.js @@ -0,0 +1,71 @@ +/* +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ + +var Montage = require("montage/core/core").Montage, + Component = require("montage/ui/component").Component, + LocalStorage = require("js/controllers/local-storage-controller").LocalStorage; + +exports.Settings = Montage.create( Component, { + + version: { + value: "11.1213" + }, + + _settings: { + value: null + }, + + settings: { + get: function() { return this._settings; }, + set: function(value) { this._settings = value; } + }, + + getSetting: { + value: function(objName, fieldName, namespace) { + try { + objName = objName.replace(/-/gi, "_").replace(/\//gi, "zzSlash"); + return this.settings[objName][fieldName]; + } catch(e) { + return null; + } + } + }, + + setSetting: { + value: function(objName, fieldName, value, namespace) { + try { + objName = objName.replace(/-/gi, "_").replace(/\//gi, "zzSlash"); + + if(this.settings === null) { + this.settings = {}; + } + + if (this.settings[objName] == null) { + this.settings[objName] = {}; + } + + this.settings[objName][fieldName] = value; + + LocalStorage.setItem("settings", this.settings); + } catch(e) { + return null; + } + } + }, + + deserializedFromSerialization: { + value: function() { + + if (LocalStorage.getItem("version") != this.version) { + this.settings = {} + LocalStorage.setItem("version",this.version); + } else { + this.settings = LocalStorage.getItem("settings"); + } + + } + } +}); \ No newline at end of file -- cgit v1.2.3