author | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2013-08-30 15:56:53 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2013-08-30 21:23:42 (UTC) |
commit | 20bea94ab6b91c85b171dcf86baba0a64169d508 (patch) (unidiff) | |
tree | 6e38e91498dcdb861620eba1e237d1026fe79cc5 /frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js | |
parent | bde3c7b98523112ade9c5bbf7390c4ecb494cd2e (diff) | |
download | clipperz-20bea94ab6b91c85b171dcf86baba0a64169d508.zip clipperz-20bea94ab6b91c85b171dcf86baba0a64169d508.tar.gz clipperz-20bea94ab6b91c85b171dcf86baba0a64169d508.tar.bz2 |
First release of /delta version
Diffstat (limited to 'frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js b/frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js new file mode 100644 index 0000000..01e7196 --- a/dev/null +++ b/frontend/delta/js/Clipperz/PM/DataModel/Record.Version.Field.js | |||
@@ -0,0 +1,186 @@ | |||
1 | /* | ||
2 | |||
3 | Copyright 2008-2013 Clipperz Srl | ||
4 | |||
5 | This file is part of Clipperz, the online password manager. | ||
6 | For further information about its features and functionalities please | ||
7 | refer to http://www.clipperz.com. | ||
8 | |||
9 | * Clipperz is free software: you can redistribute it and/or modify it | ||
10 | under the terms of the GNU Affero General Public License as published | ||
11 | by the Free Software Foundation, either version 3 of the License, or | ||
12 | (at your option) any later version. | ||
13 | |||
14 | * Clipperz is distributed in the hope that it will be useful, but | ||
15 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
17 | See the GNU Affero General Public License for more details. | ||
18 | |||
19 | * You should have received a copy of the GNU Affero General Public | ||
20 | License along with Clipperz. If not, see http://www.gnu.org/licenses/. | ||
21 | |||
22 | */ | ||
23 | |||
24 | try { if (typeof(Clipperz.PM.DataModel.Record.Version) == 'undefined') { throw ""; }} catch (e) { | ||
25 | throw "Clipperz.PM.DataModel.Record.Version.Field depends on Clipperz.PM.DataModel.Record.Version!"; | ||
26 | } | ||
27 | |||
28 | Clipperz.PM.DataModel.Record.Version.Field = function(args) { | ||
29 | Clipperz.PM.DataModel.Record.Version.Field.superclass.constructor.apply(this, arguments); | ||
30 | |||
31 | this._recordVersion = args.recordVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); | ||
32 | this._reference = args.reference || Clipperz.PM.Crypto.randomKey(); | ||
33 | |||
34 | return this; | ||
35 | } | ||
36 | |||
37 | |||
38 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version.Field, Object, { | ||
39 | |||
40 | 'toString': function() { | ||
41 | return "Record.Version.Field (" + this.reference() + ")"; | ||
42 | }, | ||
43 | |||
44 | //------------------------------------------------------------------------- | ||
45 | |||
46 | 'recordVersion': function () { | ||
47 | return this._recordVersion; | ||
48 | }, | ||
49 | |||
50 | //------------------------------------------------------------------------- | ||
51 | |||
52 | 'reference': function () { | ||
53 | return this._reference; | ||
54 | }, | ||
55 | |||
56 | //------------------------------------------------------------------------- | ||
57 | |||
58 | 'getItem': function (aKey) { | ||
59 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ | ||
60 | MochiKit.Base.method(this, 'recordVersion'), | ||
61 | MochiKit.Base.methodcaller('getValue', 'fields' + '.' + this.reference() + '.' + aKey) | ||
62 | ], {trace:false}); | ||
63 | }, | ||
64 | |||
65 | 'setItem': function (aKey, aValue) { | ||
66 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ | ||
67 | MochiKit.Base.method(this, 'recordVersion'), | ||
68 | MochiKit.Base.methodcaller('setValue', 'fields' + '.' + this.reference() + '.' + aKey, aValue) | ||
69 | ], {trace:false}); | ||
70 | }, | ||
71 | |||
72 | //------------------------------------------------------------------------- | ||
73 | |||
74 | 'label': function () { | ||
75 | return this.getItem('label'); | ||
76 | }, | ||
77 | |||
78 | 'setLabel': function (aValue) { | ||
79 | return this.setItem('label', aValue); | ||
80 | }, | ||
81 | |||
82 | //------------------------------------------------------------------------- | ||
83 | |||
84 | 'value': function () { | ||
85 | return this.getItem('value'); | ||
86 | }, | ||
87 | |||
88 | 'setValue': function (aValue) { | ||
89 | return this.setItem('value', aValue); | ||
90 | }, | ||
91 | |||
92 | //------------------------------------------------------------------------- | ||
93 | |||
94 | 'actionType': function () { | ||
95 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.actionType", [ | ||
96 | Clipperz.Async.collectResults("Clipperz.PM.DataModel.Record.Version.Field.actionType [collect results]", { | ||
97 | 'isHidden':MochiKit.Base.method(this, 'isHidden'), | ||
98 | 'value':MochiKit.Base.method(this, 'value') | ||
99 | }, {trace:false}), | ||
100 | function (someValues) { | ||
101 | var result; //'NONE', 'URL', 'EMAIL', 'PASSWORD' | ||
102 | |||
103 | result = 'NONE'; | ||
104 | |||
105 | if (someValues['isHidden']) { | ||
106 | result = 'PASSWORD'; | ||
107 | } else if (Clipperz.Base.isUrl(someValues['value'])) { | ||
108 | result = 'URL' | ||
109 | } else if (Clipperz.Base.isEmail(someValues['value'])) { | ||
110 | result = 'EMAIL' | ||
111 | }; | ||
112 | |||
113 | return result; | ||
114 | } | ||
115 | ], {trace:false}); | ||
116 | }, | ||
117 | |||
118 | //------------------------------------------------------------------------- | ||
119 | |||
120 | 'isHidden': function () { | ||
121 | return this.getItem('hidden'); | ||
122 | }, | ||
123 | |||
124 | 'setIsHidden': function (aValue) { | ||
125 | return this.setItem('hidden', aValue); | ||
126 | }, | ||
127 | |||
128 | //------------------------------------------------------------------------- | ||
129 | |||
130 | 'isEmpty': function () { | ||
131 | var deferredResult; | ||
132 | |||
133 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.Field.isEmpty", {trace:false}); | ||
134 | |||
135 | deferredResult.collectResults({ | ||
136 | 'label': [ | ||
137 | MochiKit.Base.method(this, 'label'), | ||
138 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') | ||
139 | ], | ||
140 | 'value': [ | ||
141 | MochiKit.Base.method(this, 'value'), | ||
142 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') | ||
143 | ], | ||
144 | 'isHidden': [ | ||
145 | MochiKit.Base.method(this, 'isHidden'), | ||
146 | MochiKit.Base.partial(MochiKit.Base.operator.eq, false) | ||
147 | ] | ||
148 | }); | ||
149 | deferredResult.addCallback(MochiKit.Base.values); | ||
150 | deferredResult.addCallback(function(someValues) { | ||
151 | return MochiKit.Iter.every(someValues, MochiKit.Base.operator.identity); | ||
152 | }); | ||
153 | deferredResult.callback(); | ||
154 | |||
155 | return deferredResult; | ||
156 | }, | ||
157 | |||
158 | //------------------------------------------------------------------------- | ||
159 | |||
160 | 'content': function () { | ||
161 | var deferredResult; | ||
162 | varfieldValues; | ||
163 | |||
164 | fieldValues = {}; | ||
165 | deferredResult = new Clipperz.Async.Deferred("Record.Version.Field.content", {trace:false}); | ||
166 | deferredResult.addMethod(this, 'reference'); | ||
167 | deferredResult.addCallback(function (aValue) { fieldValues['reference'] = aValue; }); | ||
168 | deferredResult.addMethod(this, 'label'); | ||
169 | deferredResult.addCallback(function (aValue) { fieldValues['label'] = aValue; }); | ||
170 | deferredResult.addMethod(this, 'value'); | ||
171 | deferredResult.addCallback(function (aValue) { fieldValues['value'] = aValue; }); | ||
172 | deferredResult.addMethod(this, 'actionType'); | ||
173 | deferredResult.addCallback(function (aValue) { fieldValues['actionType'] = aValue; }); | ||
174 | deferredResult.addMethod(this, 'isHidden'); | ||
175 | deferredResult.addCallback(function (aValue) { fieldValues['isHidden'] = aValue; }); | ||
176 | deferredResult.addCallback(function () { return fieldValues; }); | ||
177 | deferredResult.callback(); | ||
178 | |||
179 | return deferredResult; | ||
180 | }, | ||
181 | |||
182 | //------------------------------------------------------------------------- | ||
183 | __syntaxFix__: "syntax fix" | ||
184 | }); | ||
185 | |||
186 | |||