aboutsummaryrefslogtreecommitdiff
path: root/js/data/settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/data/settings.js')
-rw-r--r--js/data/settings.js71
1 files changed, 71 insertions, 0 deletions
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 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7var Montage = require("montage/core/core").Montage,
8 Component = require("montage/ui/component").Component,
9 LocalStorage = require("js/controllers/local-storage-controller").LocalStorage;
10
11exports.Settings = Montage.create( Component, {
12
13 version: {
14 value: "11.1213"
15 },
16
17 _settings: {
18 value: null
19 },
20
21 settings: {
22 get: function() { return this._settings; },
23 set: function(value) { this._settings = value; }
24 },
25
26 getSetting: {
27 value: function(objName, fieldName, namespace) {
28 try {
29 objName = objName.replace(/-/gi, "_").replace(/\//gi, "zzSlash");
30 return this.settings[objName][fieldName];
31 } catch(e) {
32 return null;
33 }
34 }
35 },
36
37 setSetting: {
38 value: function(objName, fieldName, value, namespace) {
39 try {
40 objName = objName.replace(/-/gi, "_").replace(/\//gi, "zzSlash");
41
42 if(this.settings === null) {
43 this.settings = {};
44 }
45
46 if (this.settings[objName] == null) {
47 this.settings[objName] = {};
48 }
49
50 this.settings[objName][fieldName] = value;
51
52 LocalStorage.setItem("settings", this.settings);
53 } catch(e) {
54 return null;
55 }
56 }
57 },
58
59 deserializedFromSerialization: {
60 value: function() {
61
62 if (LocalStorage.getItem("version") != this.version) {
63 this.settings = {}
64 LocalStorage.setItem("version",this.version);
65 } else {
66 this.settings = LocalStorage.getItem("settings");
67 }
68
69 }
70 }
71}); \ No newline at end of file