1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/* <copyright>
This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
</copyright> */
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");
}
}
}
});
|