author | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2011-10-06 00:36:10 (UTC) |
---|---|---|
committer | Giulio Cesare Solaroli <giulio.cesare@clipperz.com> | 2011-10-06 00:36:10 (UTC) |
commit | 6ba274c79e60e417132b260bd0117c5a68121387 (patch) (unidiff) | |
tree | 57c1f95d0fbf9b80312c5c6b6f4a4f951e31c770 /frontend/gamma/js/Clipperz/PM | |
parent | 13ebf1b1987a1566d081ff1ba89b4dca197b7d2e (diff) | |
download | clipperz-6ba274c79e60e417132b260bd0117c5a68121387.zip clipperz-6ba274c79e60e417132b260bd0117c5a68121387.tar.gz clipperz-6ba274c79e60e417132b260bd0117c5a68121387.tar.bz2 |
Fixed the copyright headers
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM') (more/less context) (ignore whitespace changes)
107 files changed, 642 insertions, 963 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/BookmarkletProcessor.js b/frontend/gamma/js/Clipperz/PM/BookmarkletProcessor.js index 789d6b8..897beed 100644 --- a/frontend/gamma/js/Clipperz/PM/BookmarkletProcessor.js +++ b/frontend/gamma/js/Clipperz/PM/BookmarkletProcessor.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | /* | 26 | /* |
30 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 27 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
31 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 28 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
32 | 29 | ||
33 | Clipperz.PM.BookmarkletProcessor = function(aConfiguration) { | 30 | Clipperz.PM.BookmarkletProcessor = function(aConfiguration) { |
34 | this._configuration = aConfiguration; | 31 | this._configuration = aConfiguration; |
35 | 32 | ||
36 | this._editableFields = null; | 33 | this._editableFields = null; |
37 | this._favicon = null; | 34 | this._favicon = null; |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | Clipperz.PM.BookmarkletProcessor.prototype = MochiKit.Base.update(null, { | 39 | Clipperz.PM.BookmarkletProcessor.prototype = MochiKit.Base.update(null, { |
43 | 40 | ||
44 | 'toString': function() { | 41 | 'toString': function() { |
45 | return "Clipperz.PM.BookmarkletProcessor"; | 42 | return "Clipperz.PM.BookmarkletProcessor"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'configuration': function() { | 47 | 'configuration': function() { |
51 | return this._configuration; | 48 | return this._configuration; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | //------------------------------------------------------------------------- | 51 | //------------------------------------------------------------------------- |
55 | 52 | ||
56 | 'pageTitle': function() { | 53 | 'pageTitle': function() { |
57 | return this.configuration().page.title; | 54 | return this.configuration().page.title; |
58 | }, | 55 | }, |
59 | 56 | ||
60 | //------------------------------------------------------------------------- | 57 | //------------------------------------------------------------------------- |
61 | 58 | ||
62 | 'fields': function() { | 59 | 'fields': function() { |
63 | return this.configuration().form.inputs; | 60 | return this.configuration().form.inputs; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | //------------------------------------------------------------------------- | 63 | //------------------------------------------------------------------------- |
67 | 64 | ||
68 | 'editableFields': function() { | 65 | 'editableFields': function() { |
69 | if (this._editableFields == null) { | 66 | if (this._editableFields == null) { |
70 | this._editableFields = MochiKit.Base.filter(function(aField) { | 67 | this._editableFields = MochiKit.Base.filter(function(aField) { |
71 | var result; | 68 | var result; |
72 | var type; | 69 | var type; |
73 | 70 | ||
74 | type = aField['type'].toLowerCase(); | 71 | type = aField['type'].toLowerCase(); |
75 | result = ((type != 'hidden') && (type != 'submit') && (type != 'checkbox') && (type != 'radio') && (type != 'select')); | 72 | result = ((type != 'hidden') && (type != 'submit') && (type != 'checkbox') && (type != 'radio') && (type != 'select')); |
76 | 73 | ||
77 | return result; | 74 | return result; |
78 | }, this.fields()) | 75 | }, this.fields()) |
79 | } | 76 | } |
80 | 77 | ||
81 | return this._editableFields; | 78 | return this._editableFields; |
82 | }, | 79 | }, |
83 | 80 | ||
84 | //------------------------------------------------------------------------- | 81 | //------------------------------------------------------------------------- |
85 | 82 | ||
86 | 'hostname': function() { | 83 | 'hostname': function() { |
87 | if (this._hostname == null) { | 84 | if (this._hostname == null) { |
88 | var actionUrl; | 85 | var actionUrl; |
89 | 86 | ||
90 | actionUrl = this.configuration()['form']['attributes']['action']; | 87 | actionUrl = this.configuration()['form']['attributes']['action']; |
91 | this._hostname = actionUrl.replace(/ ^ h t t p s ? : \ / \ / ( [ ^ \ / ] * ) \ / . * /, '$1'); | 88 | this._hostname = actionUrl.replace(/ ^ h t t p s ? : \ / \ / ( [ ^ \ / ] * ) \ / . * /, '$1'); |
92 | } | 89 | } |
93 | 90 | ||
94 | return this._hostname; | 91 | return this._hostname; |
95 | }, | 92 | }, |
96 | 93 | ||
97 | 'favicon': function() { | 94 | 'favicon': function() { |
98 | if (this._favicon == null) { | 95 | if (this._favicon == null) { |
99 | this._favicon = "http://" + this.hostname() + "/favicon.ico"; | 96 | this._favicon = "http://" + this.hostname() + "/favicon.ico"; |
100 | } | 97 | } |
101 | 98 | ||
102 | return this._favicon; | 99 | return this._favicon; |
103 | }, | 100 | }, |
104 | 101 | ||
105 | //------------------------------------------------------------------------- | 102 | //------------------------------------------------------------------------- |
106 | __syntaxFix__: "syntax fix" | 103 | __syntaxFix__: "syntax fix" |
107 | }); | 104 | }); |
108 | 105 | ||
109 | //############################################################################# | 106 | //############################################################################# |
110 | / * | 107 | / * |
111 | Clipperz.PM.BookmarkletProcessor.createRecordFromBookmarkletConfiguration = function(anUser, aConfiguration) { | 108 | Clipperz.PM.BookmarkletProcessor.createRecordFromBookmarkletConfiguration = function(anUser, aConfiguration) { |
112 | var processor; | 109 | var processor; |
113 | var record; | 110 | var record; |
114 | var recordVersion; | 111 | var recordVersion; |
115 | var directLogin; | 112 | var directLogin; |
116 | var bindings; | 113 | var bindings; |
117 | var i,c; | 114 | var i,c; |
118 | 115 | ||
119 | processor = new Clipperz.PM.BookmarkletProcessor(aConfiguration); | 116 | processor = new Clipperz.PM.BookmarkletProcessor(aConfiguration); |
120 | 117 | ||
121 | record = new Clipperz.PM.DataModel.Record({ | 118 | record = new Clipperz.PM.DataModel.Record({ |
122 | 'label':processor.pageTitle(), | 119 | 'label':processor.pageTitle(), |
123 | 'notes':"", | 120 | 'notes':"", |
124 | 'user': anUser | 121 | 'user': anUser |
125 | }); | 122 | }); |
126 | recordVersion = new Clipperz.PM.DataModel.Record.Version(record, {}) | 123 | recordVersion = new Clipperz.PM.DataModel.Record.Version(record, {}) |
127 | record.setCurrentVersion(recordVersion); | 124 | record.setCurrentVersion(recordVersion); |
128 | 125 | ||
129 | bindings = {}; | 126 | bindings = {}; |
130 | 127 | ||
131 | c = processor.editableFields().length; | 128 | c = processor.editableFields().length; |
132 | for (i=0; i<c; i++) { | 129 | for (i=0; i<c; i++) { |
133 | var formField; | 130 | var formField; |
134 | var recordField; | 131 | var recordField; |
135 | 132 | ||
136 | formField = processor.editableFields()[i]; | 133 | formField = processor.editableFields()[i]; |
137 | recordField = new Clipperz.PM.DataModel.RecordField({ | 134 | recordField = new Clipperz.PM.DataModel.RecordField({ |
138 | 'label':formField['name'], | 135 | 'label':formField['name'], |
139 | 'value':formField['value'], | 136 | 'value':formField['value'], |
140 | 'type': Clipperz.PM.Strings.inputTypeToRecordFieldType[formField['type']], | 137 | 'type': Clipperz.PM.Strings.inputTypeToRecordFieldType[formField['type']], |
141 | 'hidden': false, | 138 | 'hidden': false, |
142 | 'recordVersion':recordVersion | 139 | 'recordVersion':recordVersion |
143 | }); | 140 | }); |
144 | recordVersion.addField(recordField); | 141 | recordVersion.addField(recordField); |
145 | 142 | ||
146 | bindings[formField['name']] = recordField.key(); | 143 | bindings[formField['name']] = recordField.key(); |
147 | } | 144 | } |
148 | 145 | ||
149 | directLogin = new Clipperz.PM.DataModel.DirectLogin({ | 146 | directLogin = new Clipperz.PM.DataModel.DirectLogin({ |
150 | 'record': record, | 147 | 'record': record, |
151 | 'label': processor.pageTitle(), | 148 | 'label': processor.pageTitle(), |
152 | 'favicon': processor.favicon(), | 149 | 'favicon': processor.favicon(), |
diff --git a/frontend/gamma/js/Clipperz/PM/Connection.js b/frontend/gamma/js/Clipperz/PM/Connection.js index 6e58c60..b4e8aaa 100644 --- a/frontend/gamma/js/Clipperz/PM/Connection.js +++ b/frontend/gamma/js/Clipperz/PM/Connection.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //----------------------------------------------------------------------------- | 29 | //----------------------------------------------------------------------------- |
33 | // | 30 | // |
34 | // Abstract C O N N E C T I O N class | 31 | // Abstract C O N N E C T I O N class |
35 | // | 32 | // |
36 | //----------------------------------------------------------------------------- | 33 | //----------------------------------------------------------------------------- |
37 | 34 | ||
38 | Clipperz.PM.Connection = function (args) { | 35 | Clipperz.PM.Connection = function (args) { |
39 | args = args || {}; | 36 | args = args || {}; |
40 | 37 | ||
41 | this._proxy = args.proxy || Clipperz.PM.Proxy.defaultProxy; | 38 | this._proxy = args.proxy || Clipperz.PM.Proxy.defaultProxy; |
42 | this._getCredentialsFunction = args.getCredentialsFunction; | 39 | this._getCredentialsFunction = args.getCredentialsFunction; |
43 | 40 | ||
44 | this._clipperz_pm_crypto_version = null; | 41 | this._clipperz_pm_crypto_version = null; |
45 | this._connectionId = null; | 42 | this._connectionId = null; |
46 | this._sharedSecret = null; | 43 | this._sharedSecret = null; |
47 | 44 | ||
48 | return this; | 45 | return this; |
49 | } | 46 | } |
50 | 47 | ||
51 | Clipperz.PM.Connection.prototype = MochiKit.Base.update(null, { | 48 | Clipperz.PM.Connection.prototype = MochiKit.Base.update(null, { |
52 | 49 | ||
53 | 'toString': function() { | 50 | 'toString': function() { |
54 | return "Connection [" + this.version() + "]"; | 51 | return "Connection [" + this.version() + "]"; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //========================================================================= | 54 | //========================================================================= |
58 | 55 | ||
59 | 'version': function() { | 56 | 'version': function() { |
60 | throw Clipperz.Base.exception.AbstractMethod; | 57 | throw Clipperz.Base.exception.AbstractMethod; |
61 | }, | 58 | }, |
62 | 59 | ||
63 | 'clipperz_pm_crypto_version': function() { | 60 | 'clipperz_pm_crypto_version': function() { |
64 | if (this._clipperz_pm_crypto_version == null) { | 61 | if (this._clipperz_pm_crypto_version == null) { |
65 | var connectionVersions; | 62 | var connectionVersions; |
66 | varversions; | 63 | varversions; |
67 | varversion; | 64 | varversion; |
68 | var i, c; | 65 | var i, c; |
69 | 66 | ||
70 | version = null; | 67 | version = null; |
71 | connectionVersions = Clipperz.PM.Connection.communicationProtocol.versions; | 68 | connectionVersions = Clipperz.PM.Connection.communicationProtocol.versions; |
72 | versions = MochiKit.Base.keys(connectionVersions); | 69 | versions = MochiKit.Base.keys(connectionVersions); |
73 | c = versions.length; | 70 | c = versions.length; |
74 | for (i=0; i<c; i++) { | 71 | for (i=0; i<c; i++) { |
75 | if (! (versions[i] == 'current')) { | 72 | if (! (versions[i] == 'current')) { |
76 | if (this instanceof connectionVersions[versions[i]]) { | 73 | if (this instanceof connectionVersions[versions[i]]) { |
77 | version = versions[i]; | 74 | version = versions[i]; |
78 | }; | 75 | }; |
79 | } | 76 | } |
80 | } | 77 | } |
81 | 78 | ||
82 | this._clipperz_pm_crypto_version = version; | 79 | this._clipperz_pm_crypto_version = version; |
83 | } | 80 | } |
84 | 81 | ||
85 | return this._clipperz_pm_crypto_version; | 82 | return this._clipperz_pm_crypto_version; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //------------------------------------------------------------------------- | 85 | //------------------------------------------------------------------------- |
89 | 86 | ||
90 | 'defaultErrorHandler': function(anErrorString, anException) { | 87 | 'defaultErrorHandler': function(anErrorString, anException) { |
91 | MochiKit.Logging.logError("### Connection.defaultErrorHandler: " + anErrorString + " (" + anException + ")"); | 88 | MochiKit.Logging.logError("### Connection.defaultErrorHandler: " + anErrorString + " (" + anException + ")"); |
92 | }, | 89 | }, |
93 | 90 | ||
94 | //------------------------------------------------------------------------- | 91 | //------------------------------------------------------------------------- |
95 | 92 | ||
96 | 'getCredentialsFunction': function () { | 93 | 'getCredentialsFunction': function () { |
97 | return this._getCredentialsFunction; | 94 | return this._getCredentialsFunction; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | 'normalizedCredentials': function(someValues) { | 97 | 'normalizedCredentials': function(someValues) { |
101 | throw Clipperz.Base.exception.AbstractMethod; | 98 | throw Clipperz.Base.exception.AbstractMethod; |
102 | }, | 99 | }, |
103 | 100 | ||
104 | //========================================================================= | 101 | //========================================================================= |
105 | 102 | ||
106 | 'proxy': function () { | 103 | 'proxy': function () { |
107 | return this._proxy; | 104 | return this._proxy; |
108 | }, | 105 | }, |
109 | 106 | ||
110 | //========================================================================= | 107 | //========================================================================= |
111 | 108 | ||
112 | 'register': function () { | 109 | 'register': function () { |
113 | throw Clipperz.Base.exception.AbstractMethod; | 110 | throw Clipperz.Base.exception.AbstractMethod; |
114 | }, | 111 | }, |
115 | 112 | ||
116 | 'login': function() { | 113 | 'login': function() { |
117 | throw Clipperz.Base.exception.AbstractMethod; | 114 | throw Clipperz.Base.exception.AbstractMethod; |
118 | }, | 115 | }, |
119 | 116 | ||
120 | //------------------------------------------------------------------------- | 117 | //------------------------------------------------------------------------- |
121 | 118 | ||
122 | 'message': function(someArguments, aCallback) { | 119 | 'message': function(someArguments, aCallback) { |
123 | throw Clipperz.Base.exception.AbstractMethod; | 120 | throw Clipperz.Base.exception.AbstractMethod; |
124 | }, | 121 | }, |
125 | 122 | ||
126 | //------------------------------------------------------------------------- | 123 | //------------------------------------------------------------------------- |
127 | 124 | ||
128 | 'serverSideUserCredentials': function() { | 125 | 'serverSideUserCredentials': function() { |
129 | throw Clipperz.Base.exception.AbstractMethod; | 126 | throw Clipperz.Base.exception.AbstractMethod; |
130 | }, | 127 | }, |
131 | 128 | ||
132 | //========================================================================= | 129 | //========================================================================= |
133 | 130 | ||
134 | 'sharedSecret': function () { | 131 | 'sharedSecret': function () { |
135 | return this._sharedSecret; | 132 | return this._sharedSecret; |
136 | }, | 133 | }, |
137 | 134 | ||
138 | 'setSharedSecret': function (aValue) { | 135 | 'setSharedSecret': function (aValue) { |
139 | this._sharedSecret = aValue; | 136 | this._sharedSecret = aValue; |
140 | }, | 137 | }, |
141 | 138 | ||
142 | //------------------------------------------------------------------------- | 139 | //------------------------------------------------------------------------- |
143 | 140 | ||
144 | 'connectionId': function() { | 141 | 'connectionId': function() { |
145 | return this._connectionId; | 142 | return this._connectionId; |
146 | }, | 143 | }, |
147 | 144 | ||
148 | 'setConnectionId': function(aValue) { | 145 | 'setConnectionId': function(aValue) { |
149 | this._connectionId = aValue; | 146 | this._connectionId = aValue; |
150 | }, | 147 | }, |
151 | 148 | ||
152 | //========================================================================= | 149 | //========================================================================= |
diff --git a/frontend/gamma/js/Clipperz/PM/Crypto.js b/frontend/gamma/js/Clipperz/PM/Crypto.js index bfafbea..31fe349 100644 --- a/frontend/gamma/js/Clipperz/PM/Crypto.js +++ b/frontend/gamma/js/Clipperz/PM/Crypto.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Crypto) == 'undefined') { Clipperz.PM.Crypto = {}; } | 28 | if (typeof(Clipperz.PM.Crypto) == 'undefined') { Clipperz.PM.Crypto = {}; } |
32 | 29 | ||
33 | Clipperz.PM.Crypto.VERSION = "0.2"; | 30 | Clipperz.PM.Crypto.VERSION = "0.2"; |
34 | Clipperz.PM.Crypto.NAME = "Clipperz.PM.Crypto"; | 31 | Clipperz.PM.Crypto.NAME = "Clipperz.PM.Crypto"; |
35 | 32 | ||
36 | Clipperz.PM.Crypto.encryptingFunctions = {}; | 33 | Clipperz.PM.Crypto.encryptingFunctions = {}; |
37 | 34 | ||
38 | MochiKit.Base.update(Clipperz.PM.Crypto, { | 35 | MochiKit.Base.update(Clipperz.PM.Crypto, { |
39 | 36 | ||
40 | '__repr__': function () { | 37 | '__repr__': function () { |
41 | return "[" + this.NAME + " " + this.VERSION + "]"; | 38 | return "[" + this.NAME + " " + this.VERSION + "]"; |
42 | }, | 39 | }, |
43 | 40 | ||
44 | //------------------------------------------------------------------------- | 41 | //------------------------------------------------------------------------- |
45 | 42 | ||
46 | 'toString': function () { | 43 | 'toString': function () { |
47 | return this.__repr__(); | 44 | return this.__repr__(); |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | /* | 48 | /* |
52 | 'communicationProtocol': { | 49 | 'communicationProtocol': { |
53 | 'currentVersion': '0.2', | 50 | 'currentVersion': '0.2', |
54 | 'versions': { | 51 | 'versions': { |
55 | '0.1': Clipperz.PM.Connection.SRP['1.0'],//Clipperz.Crypto.SRP.versions['1.0'].Connection, | 52 | '0.1': Clipperz.PM.Connection.SRP['1.0'],//Clipperz.Crypto.SRP.versions['1.0'].Connection, |
56 | '0.2': Clipperz.PM.Connection.SRP['1.1']//Clipperz.Crypto.SRP.versions['1.1'].Connection | 53 | '0.2': Clipperz.PM.Connection.SRP['1.1']//Clipperz.Crypto.SRP.versions['1.1'].Connection |
57 | }, | 54 | }, |
58 | 'fallbackVersions': { | 55 | 'fallbackVersions': { |
59 | 'current':'0.1', | 56 | 'current':'0.1', |
60 | '0.2': '0.1', | 57 | '0.2': '0.1', |
61 | '0.1': null | 58 | '0.1': null |
62 | } | 59 | } |
63 | }, | 60 | }, |
64 | */ | 61 | */ |
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'encryptingFunctions': { | 64 | 'encryptingFunctions': { |
68 | 'currentVersion': '0.3', | 65 | 'currentVersion': '0.3', |
69 | 'versions': { | 66 | 'versions': { |
70 | 67 | ||
71 | //##################################################################### | 68 | //##################################################################### |
72 | 69 | ||
73 | '0.1': { | 70 | '0.1': { |
74 | 'encrypt': function(aKey, aValue) { | 71 | 'encrypt': function(aKey, aValue) { |
75 | return Clipperz.Crypto.Base.encryptUsingSecretKey(aKey, Clipperz.Base.serializeJSON(aValue)); | 72 | return Clipperz.Crypto.Base.encryptUsingSecretKey(aKey, Clipperz.Base.serializeJSON(aValue)); |
76 | }, | 73 | }, |
77 | 74 | ||
78 | 'deferredEncrypt': function(aKey, aValue) { | 75 | 'deferredEncrypt': function(aKey, aValue) { |
79 | var deferredResult; | 76 | var deferredResult; |
80 | 77 | ||
81 | deferredResult = new Clipperz.Async.Deferred("Crypto[0.1].deferredEncrypt"); | 78 | deferredResult = new Clipperz.Async.Deferred("Crypto[0.1].deferredEncrypt"); |
82 | deferredResult.addCallback(Clipperz.PM.Crypto.encryptingFunctions.versions['0.1'].encrypt, aKey, aValue); | 79 | deferredResult.addCallback(Clipperz.PM.Crypto.encryptingFunctions.versions['0.1'].encrypt, aKey, aValue); |
83 | deferredResult.callback(); | 80 | deferredResult.callback(); |
84 | 81 | ||
85 | return deferredResult; | 82 | return deferredResult; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | 'decrypt': function(aKey, aValue) { | 85 | 'decrypt': function(aKey, aValue) { |
89 | var result; | 86 | var result; |
90 | 87 | ||
91 | if (aValue != null) { | 88 | if (aValue != null) { |
92 | result = Clipperz.Base.evalJSON(Clipperz.Crypto.Base.decryptUsingSecretKey(aKey, aValue)); | 89 | result = Clipperz.Base.evalJSON(Clipperz.Crypto.Base.decryptUsingSecretKey(aKey, aValue)); |
93 | } else { | 90 | } else { |
94 | result = null; | 91 | result = null; |
95 | } | 92 | } |
96 | 93 | ||
97 | return result; | 94 | return result; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | 'deferredDecrypt': function(aKey, aValue) { | 97 | 'deferredDecrypt': function(aKey, aValue) { |
101 | var deferredResult; | 98 | var deferredResult; |
102 | 99 | ||
103 | deferredResult = new Clipperz.Async.Deferred("Crypto.[0.1].deferredDecrypt"); | 100 | deferredResult = new Clipperz.Async.Deferred("Crypto.[0.1].deferredDecrypt"); |
104 | deferredResult.addCallback(Clipperz.PM.Crypto.encryptingFunctions.versions['0.1'].decrypt, aKey, aValue); | 101 | deferredResult.addCallback(Clipperz.PM.Crypto.encryptingFunctions.versions['0.1'].decrypt, aKey, aValue); |
105 | deferredResult.callback(); | 102 | deferredResult.callback(); |
106 | 103 | ||
107 | return deferredResult; | 104 | return deferredResult; |
108 | }, | 105 | }, |
109 | 106 | ||
110 | 'hash': function(aValue) { | 107 | 'hash': function(aValue) { |
111 | var result; | 108 | var result; |
112 | var strngResult; | 109 | var strngResult; |
113 | 110 | ||
114 | stringResult = Clipperz.Crypto.Base.computeHashValue(aValue.asString()); //!!!!!!! | 111 | stringResult = Clipperz.Crypto.Base.computeHashValue(aValue.asString()); //!!!!!!! |
115 | result = new Clipperz.ByteArray("0x" + stringResult); | 112 | result = new Clipperz.ByteArray("0x" + stringResult); |
116 | 113 | ||
117 | return result; | 114 | return result; |
118 | }, | 115 | }, |
119 | 116 | ||
120 | 'deriveKey': function(aStringValue) { | 117 | 'deriveKey': function(aStringValue) { |
121 | return Clipperz.Crypto.Base.computeHashValue(aStringValue); | 118 | return Clipperz.Crypto.Base.computeHashValue(aStringValue); |
122 | } | 119 | } |
123 | }, | 120 | }, |
124 | 121 | ||
125 | //##################################################################### | 122 | //##################################################################### |
126 | 123 | ||
127 | '0.2': { | 124 | '0.2': { |
128 | 'encrypt': function(aKey, aValue, aNonce) { | 125 | 'encrypt': function(aKey, aValue, aNonce) { |
129 | var result; | 126 | var result; |
130 | varkey, value; | 127 | varkey, value; |
131 | var dataToEncrypt; | 128 | var dataToEncrypt; |
132 | var encryptedData; | 129 | var encryptedData; |
133 | 130 | ||
134 | key = Clipperz.Crypto.SHA.sha_d256(new Clipperz.ByteArray(aKey)); | 131 | key = Clipperz.Crypto.SHA.sha_d256(new Clipperz.ByteArray(aKey)); |
135 | value = new Clipperz.ByteArray(Clipperz.Base.serializeJSON(aValue)); | 132 | value = new Clipperz.ByteArray(Clipperz.Base.serializeJSON(aValue)); |
136 | dataToEncrypt = Clipperz.Crypto.SHA.sha_d256(value).appendBlock(value); | 133 | dataToEncrypt = Clipperz.Crypto.SHA.sha_d256(value).appendBlock(value); |
137 | encryptedData = Clipperz.Crypto.AES.encrypt(key, dataToEncrypt, aNonce); | 134 | encryptedData = Clipperz.Crypto.AES.encrypt(key, dataToEncrypt, aNonce); |
138 | result = encryptedData.toBase64String(); | 135 | result = encryptedData.toBase64String(); |
139 | 136 | ||
140 | return result; | 137 | return result; |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'deferredEncrypt': function(aKey, aValue, aNonce) { | 140 | 'deferredEncrypt': function(aKey, aValue, aNonce) { |
144 | var deferredResult; | 141 | var deferredResult; |
145 | varkey, value; | 142 | varkey, value; |
146 | var dataToEncrypt; | 143 | var dataToEncrypt; |
147 | // var encryptedData; | 144 | // var encryptedData; |
148 | 145 | ||
149 | key = Clipperz.Crypto.SHA.sha_d256(new Clipperz.ByteArray(aKey)); | 146 | key = Clipperz.Crypto.SHA.sha_d256(new Clipperz.ByteArray(aKey)); |
150 | value = new Clipperz.ByteArray(Clipperz.Base.serializeJSON(aValue)); | 147 | value = new Clipperz.ByteArray(Clipperz.Base.serializeJSON(aValue)); |
151 | dataToEncrypt = Clipperz.Crypto.SHA.sha_d256(value).appendBlock(value); | 148 | dataToEncrypt = Clipperz.Crypto.SHA.sha_d256(value).appendBlock(value); |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLogin.js b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLogin.js index 1d38509..8f8696d 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLogin.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLogin.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.DataModel'); | 26 | Clipperz.Base.module('Clipperz.PM.DataModel'); |
30 | 27 | ||
31 | Clipperz.PM.DataModel.DirectLogin = function(args) { | 28 | Clipperz.PM.DataModel.DirectLogin = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.DataModel.DirectLogin.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.DataModel.DirectLogin.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._reference =args.reference | 33 | this._reference =args.reference |
37 | ||Clipperz.PM.Crypto.randomKey(); | 34 | ||Clipperz.PM.Crypto.randomKey(); |
38 | this._record =args.record | 35 | this._record =args.record |
39 | ||Clipperz.Base.exception.raise('MandatoryParameter'); | 36 | ||Clipperz.Base.exception.raise('MandatoryParameter'); |
40 | 37 | ||
41 | this._retrieveIndexDataFunction = args.retrieveIndexDataFunction | 38 | this._retrieveIndexDataFunction = args.retrieveIndexDataFunction |
42 | ||this.record().retrieveDirectLoginIndexDataFunction() | 39 | ||this.record().retrieveDirectLoginIndexDataFunction() |
43 | ||Clipperz.Base.exception.raise('MandatoryParameter'); | 40 | ||Clipperz.Base.exception.raise('MandatoryParameter'); |
44 | this._setIndexDataFunction = args.setIndexDataFunction | 41 | this._setIndexDataFunction = args.setIndexDataFunction |
45 | ||this.record().setDirectLoginIndexDataFunction() | 42 | ||this.record().setDirectLoginIndexDataFunction() |
46 | ||Clipperz.Base.exception.raise('MandatoryParameter'); | 43 | ||Clipperz.Base.exception.raise('MandatoryParameter'); |
47 | this._removeIndexDataFunction =args.removeIndexDataFunction | 44 | this._removeIndexDataFunction =args.removeIndexDataFunction |
48 | ||this.record().removeDirectLoginIndexDataFunction() | 45 | ||this.record().removeDirectLoginIndexDataFunction() |
49 | ||Clipperz.Base.exception.raise('MandatoryParameter'); | 46 | ||Clipperz.Base.exception.raise('MandatoryParameter'); |
50 | 47 | ||
51 | this._inputs = null; | 48 | this._inputs = null; |
52 | this._bindings = null; | 49 | this._bindings = null; |
53 | this._formValues = null; | 50 | this._formValues = null; |
54 | 51 | ||
55 | // this._inputsDeferredLock = new MochiKit.Async.DeferredLock(); | 52 | // this._inputsDeferredLock = new MochiKit.Async.DeferredLock(); |
56 | // this._bindingsDeferredLock = new MochiKit.Async.DeferredLock(); | 53 | // this._bindingsDeferredLock = new MochiKit.Async.DeferredLock(); |
57 | // this._formValuesDeferredLock = new MochiKit.Async.DeferredLock(); | 54 | // this._formValuesDeferredLock = new MochiKit.Async.DeferredLock(); |
58 | 55 | ||
59 | this._transientState = null; | 56 | this._transientState = null; |
60 | 57 | ||
61 | this._isBrandNew = MochiKit.Base.isUndefinedOrNull(args.reference); | 58 | this._isBrandNew = MochiKit.Base.isUndefinedOrNull(args.reference); |
62 | 59 | ||
63 | this.record().addDirectLogin(this); | 60 | this.record().addDirectLogin(this); |
64 | 61 | ||
65 | return this; | 62 | return this; |
66 | } | 63 | } |
67 | 64 | ||
68 | Clipperz.Base.extend(Clipperz.PM.DataModel.DirectLogin, Object, { | 65 | Clipperz.Base.extend(Clipperz.PM.DataModel.DirectLogin, Object, { |
69 | 66 | ||
70 | 'toString': function() { | 67 | 'toString': function() { |
71 | return "DirectLogin (" + this.reference() + ")"; | 68 | return "DirectLogin (" + this.reference() + ")"; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | //========================================================================= | 71 | //========================================================================= |
75 | 72 | ||
76 | 'reference': function () { | 73 | 'reference': function () { |
77 | return this._reference; | 74 | return this._reference; |
78 | }, | 75 | }, |
79 | 76 | ||
80 | //------------------------------------------------------------------------- | 77 | //------------------------------------------------------------------------- |
81 | 78 | ||
82 | 'record': function () { | 79 | 'record': function () { |
83 | return this._record; | 80 | return this._record; |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //========================================================================= | 83 | //========================================================================= |
87 | 84 | ||
88 | 'isBrandNew': function () { | 85 | 'isBrandNew': function () { |
89 | return this._isBrandNew; | 86 | return this._isBrandNew; |
90 | }, | 87 | }, |
91 | 88 | ||
92 | //========================================================================= | 89 | //========================================================================= |
93 | 90 | ||
94 | 'removeIndexDataFunction': function () { | 91 | 'removeIndexDataFunction': function () { |
95 | return this._removeIndexDataFunction; | 92 | return this._removeIndexDataFunction; |
96 | }, | 93 | }, |
97 | 94 | ||
98 | 'remove': function () { | 95 | 'remove': function () { |
99 | return Clipperz.Async.callbacks("DirectLogin.remove", [ | 96 | return Clipperz.Async.callbacks("DirectLogin.remove", [ |
100 | MochiKit.Base.partial(this.removeIndexDataFunction(), this.reference()), | 97 | MochiKit.Base.partial(this.removeIndexDataFunction(), this.reference()), |
101 | MochiKit.Base.method(this.record(), 'removeDirectLogin', this) | 98 | MochiKit.Base.method(this.record(), 'removeDirectLogin', this) |
102 | ], {trace:false}); | 99 | ], {trace:false}); |
103 | }, | 100 | }, |
104 | 101 | ||
105 | //========================================================================= | 102 | //========================================================================= |
106 | /* | 103 | /* |
107 | 'inputsDeferredLock': function () { | 104 | 'inputsDeferredLock': function () { |
108 | return this._inputsDeferredLock; | 105 | return this._inputsDeferredLock; |
109 | }, | 106 | }, |
110 | 107 | ||
111 | 'bindingsDeferredLock': function () { | 108 | 'bindingsDeferredLock': function () { |
112 | return this._bindingsDeferredLock; | 109 | return this._bindingsDeferredLock; |
113 | }, | 110 | }, |
114 | 111 | ||
115 | 'formValuesDeferredLock': function () { | 112 | 'formValuesDeferredLock': function () { |
116 | return this._formValuesDeferredLock; | 113 | return this._formValuesDeferredLock; |
117 | }, | 114 | }, |
118 | */ | 115 | */ |
119 | //========================================================================= | 116 | //========================================================================= |
120 | 117 | ||
121 | 'label': function () { | 118 | 'label': function () { |
122 | return this.getIndexDataForKey('label'); | 119 | return this.getIndexDataForKey('label'); |
123 | }, | 120 | }, |
124 | 121 | ||
125 | 'setLabelKeepingBackwardCompatibilityWithBeta': function (aValue) { | 122 | 'setLabelKeepingBackwardCompatibilityWithBeta': function (aValue) { |
126 | return Clipperz.Async.callbacks("DirectLogin.setLabelKeepingBackwardCompatibilityWithBeta", [ | 123 | return Clipperz.Async.callbacks("DirectLogin.setLabelKeepingBackwardCompatibilityWithBeta", [ |
127 | MochiKit.Base.method(this, 'setIndexDataForKey', 'label', aValue), | 124 | MochiKit.Base.method(this, 'setIndexDataForKey', 'label', aValue), |
128 | MochiKit.Base.method(this, 'setValue', 'label', aValue) | 125 | MochiKit.Base.method(this, 'setValue', 'label', aValue) |
129 | ], {trace:false}); | 126 | ], {trace:false}); |
130 | }, | 127 | }, |
131 | 128 | ||
132 | 'setLabel': function (aValue) { | 129 | 'setLabel': function (aValue) { |
133 | return this.setLabelKeepingBackwardCompatibilityWithBeta(aValue); | 130 | return this.setLabelKeepingBackwardCompatibilityWithBeta(aValue); |
134 | // return this.setIndexDataForKey('label', aValue); | 131 | // return this.setIndexDataForKey('label', aValue); |
135 | }, | 132 | }, |
136 | 133 | ||
137 | //========================================================================= | 134 | //========================================================================= |
138 | 135 | ||
139 | 'favicon': function () { | 136 | 'favicon': function () { |
140 | return this.getIndexDataForKey('favicon'); | 137 | return this.getIndexDataForKey('favicon'); |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'setFavicon': function (aValue) { | 140 | 'setFavicon': function (aValue) { |
144 | return this.setIndexDataForKey('favicon', aValue); | 141 | return this.setIndexDataForKey('favicon', aValue); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | 'faviconUrlWithBookmarkletConfiguration': function (aBookmarkletConfiguration) { | 144 | 'faviconUrlWithBookmarkletConfiguration': function (aBookmarkletConfiguration) { |
148 | varresult; | 145 | varresult; |
149 | 146 | ||
150 | if (! MochiKit.Base.isUndefinedOrNull(aBookmarkletConfiguration['page']['favicon'])) { | 147 | if (! MochiKit.Base.isUndefinedOrNull(aBookmarkletConfiguration['page']['favicon'])) { |
151 | result = aBookmarkletConfiguration['page']['favicon']; | 148 | result = aBookmarkletConfiguration['page']['favicon']; |
152 | } else if (! MochiKit.Base.isUndefinedOrNull(aBookmarkletConfiguration['form']['attributes']['action'])) { | 149 | } else if (! MochiKit.Base.isUndefinedOrNull(aBookmarkletConfiguration['form']['attributes']['action'])) { |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginBinding.js b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginBinding.js index fd55c63..4377853 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginBinding.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginBinding.js | |||
@@ -1,125 +1,122 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | 30 | ||
34 | //############################################################################# | 31 | //############################################################################# |
35 | 32 | ||
36 | Clipperz.PM.DataModel.DirectLoginBinding = function(aDirectLogin, args) { | 33 | Clipperz.PM.DataModel.DirectLoginBinding = function(aDirectLogin, args) { |
37 | args = args || {}; | 34 | args = args || {}; |
38 | 35 | ||
39 | this._directLogin = aDirectLogin|| Clipperz.Base.exception.raise('MandatoryParameter'); | 36 | this._directLogin = aDirectLogin|| Clipperz.Base.exception.raise('MandatoryParameter'); |
40 | 37 | ||
41 | this._key = args.key|| Clipperz.Base.exception.raise('MandatoryParameter'); | 38 | this._key = args.key|| Clipperz.Base.exception.raise('MandatoryParameter'); |
42 | this._fieldKey = args.field || /* this.directLogin().fieldWithName(args.fieldName).reference() || */null; | 39 | this._fieldKey = args.field || /* this.directLogin().fieldWithName(args.fieldName).reference() || */null; |
43 | 40 | ||
44 | return this; | 41 | return this; |
45 | } | 42 | } |
46 | 43 | ||
47 | Clipperz.PM.DataModel.DirectLoginBinding.prototype = MochiKit.Base.update(null, { | 44 | Clipperz.PM.DataModel.DirectLoginBinding.prototype = MochiKit.Base.update(null, { |
48 | 45 | ||
49 | 'toString': function() { | 46 | 'toString': function() { |
50 | return "DirectLoginBinding (" + this.key() + ", " + this.fieldKey() + ")"; | 47 | return "DirectLoginBinding (" + this.key() + ", " + this.fieldKey() + ")"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'directLogin': function () { | 52 | 'directLogin': function () { |
56 | return this._directLogin; | 53 | return this._directLogin; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'key': function() { | 58 | 'key': function() { |
62 | return this._key; | 59 | return this._key; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'fieldKey': function() { | 64 | 'fieldKey': function() { |
68 | return this._fieldKey; | 65 | return this._fieldKey; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | 'setFieldKey': function(aValue) { | 68 | 'setFieldKey': function(aValue) { |
72 | this._fieldKey = aValue; | 69 | this._fieldKey = aValue; |
73 | 70 | ||
74 | return this.directLogin().setValue('bindingData' + '.' + this.key(), aValue); | 71 | return this.directLogin().setValue('bindingData' + '.' + this.key(), aValue); |
75 | }, | 72 | }, |
76 | 73 | ||
77 | //'fieldName': function() { | 74 | //'fieldName': function() { |
78 | // return this._fieldName; | 75 | // return this._fieldName; |
79 | //}, | 76 | //}, |
80 | 77 | ||
81 | //------------------------------------------------------------------------- | 78 | //------------------------------------------------------------------------- |
82 | 79 | ||
83 | 'field': function() { | 80 | 'field': function() { |
84 | var deferredResult; | 81 | var deferredResult; |
85 | 82 | ||
86 | if (this.fieldKey() != null) { | 83 | if (this.fieldKey() != null) { |
87 | deferredResult = Clipperz.Async.callbacks("DirectLoginBinding.field [1]", [ | 84 | deferredResult = Clipperz.Async.callbacks("DirectLoginBinding.field [1]", [ |
88 | MochiKit.Base.method(this.directLogin().record(), 'fields'), | 85 | MochiKit.Base.method(this.directLogin().record(), 'fields'), |
89 | MochiKit.Base.itemgetter(this.fieldKey()) | 86 | MochiKit.Base.itemgetter(this.fieldKey()) |
90 | ], {trace:false}); | 87 | ], {trace:false}); |
91 | // } else if (this.fieldName() != null) { | 88 | // } else if (this.fieldName() != null) { |
92 | // WTF = TODO; | 89 | // WTF = TODO; |
93 | // result = this.directLogin().record().fieldWithName(this.fieldName()); | 90 | // result = this.directLogin().record().fieldWithName(this.fieldName()); |
94 | // | 91 | // |
95 | // this.setFieldKey(result.key()); | 92 | // this.setFieldKey(result.key()); |
96 | } else { | 93 | } else { |
97 | deferredResult = MochiKit.Async.succeed(null); | 94 | deferredResult = MochiKit.Async.succeed(null); |
98 | } | 95 | } |
99 | 96 | ||
100 | return deferredResult; | 97 | return deferredResult; |
101 | }, | 98 | }, |
102 | 99 | ||
103 | 'setField': function (aField) { | 100 | 'setField': function (aField) { |
104 | this.setFieldKey(aField.reference()); | 101 | this.setFieldKey(aField.reference()); |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //------------------------------------------------------------------------- | 104 | //------------------------------------------------------------------------- |
108 | /* | 105 | /* |
109 | 'fieldValue': function () { | 106 | 'fieldValue': function () { |
110 | return Clipperz.Async.callbacks("DirectLoginBinding.fieldValue", [ | 107 | return Clipperz.Async.callbacks("DirectLoginBinding.fieldValue", [ |
111 | MochiKit.Base.method('field'), | 108 | MochiKit.Base.method('field'), |
112 | MochiKit.Base.methodcaller('value') | 109 | MochiKit.Base.methodcaller('value') |
113 | ], {trace:false}); | 110 | ], {trace:false}); |
114 | }, | 111 | }, |
115 | */ | 112 | */ |
116 | //------------------------------------------------------------------------- | 113 | //------------------------------------------------------------------------- |
117 | 114 | ||
118 | 'serializedData': function() { | 115 | 'serializedData': function() { |
119 | return this.fieldKey(); | 116 | return this.fieldKey(); |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //------------------------------------------------------------------------- | 119 | //------------------------------------------------------------------------- |
123 | __syntaxFix__: "syntax fix" | 120 | __syntaxFix__: "syntax fix" |
124 | }); | 121 | }); |
125 | 122 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginFormValue.js b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginFormValue.js index 939ab4b..a461197 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginFormValue.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginFormValue.js | |||
@@ -1,107 +1,104 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | 30 | ||
34 | //############################################################################# | 31 | //############################################################################# |
35 | 32 | ||
36 | Clipperz.PM.DataModel.DirectLoginFormValue = function(aDirectLogin, args) { | 33 | Clipperz.PM.DataModel.DirectLoginFormValue = function(aDirectLogin, args) { |
37 | args = args || {}; | 34 | args = args || {}; |
38 | 35 | ||
39 | this._directLogin = aDirectLogin|| Clipperz.Base.exception.raise('MandatoryParameter'); | 36 | this._directLogin = aDirectLogin|| Clipperz.Base.exception.raise('MandatoryParameter'); |
40 | 37 | ||
41 | this._key = args.key || Clipperz.Base.exception.raise('MandatoryParameter'); | 38 | this._key = args.key || Clipperz.Base.exception.raise('MandatoryParameter'); |
42 | this._fieldOptions = args.fieldOptions|| Clipperz.Base.exception.raise('MandatoryParameter'); | 39 | this._fieldOptions = args.fieldOptions|| Clipperz.Base.exception.raise('MandatoryParameter'); |
43 | this._value = args.value || null; | 40 | this._value = args.value || null; |
44 | 41 | ||
45 | return this; | 42 | return this; |
46 | } | 43 | } |
47 | 44 | ||
48 | Clipperz.PM.DataModel.DirectLoginFormValue.prototype = MochiKit.Base.update(null, { | 45 | Clipperz.PM.DataModel.DirectLoginFormValue.prototype = MochiKit.Base.update(null, { |
49 | 46 | ||
50 | 'toString': function() { | 47 | 'toString': function() { |
51 | return "DirectLoginFormValue (" + this.key() + ", " + this.value() + ")"; | 48 | return "DirectLoginFormValue (" + this.key() + ", " + this.value() + ")"; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | //------------------------------------------------------------------------- | 51 | //------------------------------------------------------------------------- |
55 | 52 | ||
56 | 'directLogin': function () { | 53 | 'directLogin': function () { |
57 | return this._directLogin; | 54 | return this._directLogin; |
58 | }, | 55 | }, |
59 | 56 | ||
60 | //------------------------------------------------------------------------- | 57 | //------------------------------------------------------------------------- |
61 | 58 | ||
62 | 'key': function() { | 59 | 'key': function() { |
63 | return this._key; | 60 | return this._key; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | //------------------------------------------------------------------------- | 63 | //------------------------------------------------------------------------- |
67 | 64 | ||
68 | 'fieldOptions': function() { | 65 | 'fieldOptions': function() { |
69 | return this._fieldOptions; | 66 | return this._fieldOptions; |
70 | }, | 67 | }, |
71 | 68 | ||
72 | //------------------------------------------------------------------------- | 69 | //------------------------------------------------------------------------- |
73 | 70 | ||
74 | 'type': function () { | 71 | 'type': function () { |
75 | return this.fieldOptions()['type']; | 72 | return this.fieldOptions()['type']; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //------------------------------------------------------------------------- | 75 | //------------------------------------------------------------------------- |
79 | 76 | ||
80 | 'value': function() { | 77 | 'value': function() { |
81 | varresult; | 78 | varresult; |
82 | 79 | ||
83 | result = this._value; | 80 | result = this._value; |
84 | 81 | ||
85 | // if ((result == null) && (this.type() == 'checkbox')) { | 82 | // if ((result == null) && (this.type() == 'checkbox')) { |
86 | // result = false; | 83 | // result = false; |
87 | // }; | 84 | // }; |
88 | 85 | ||
89 | return result; | 86 | return result; |
90 | }, | 87 | }, |
91 | 88 | ||
92 | 'setValue': function (aValue) { | 89 | 'setValue': function (aValue) { |
93 | //console.log("DirectLoginFormValue.setValue", aValue); | 90 | //console.log("DirectLoginFormValue.setValue", aValue); |
94 | this._value = aValue; | 91 | this._value = aValue; |
95 | return this.directLogin().setValue('formValues' + '.' + this.key(), aValue); | 92 | return this.directLogin().setValue('formValues' + '.' + this.key(), aValue); |
96 | }, | 93 | }, |
97 | 94 | ||
98 | //------------------------------------------------------------------------- | 95 | //------------------------------------------------------------------------- |
99 | /* | 96 | /* |
100 | 'serializedData': function() { | 97 | 'serializedData': function() { |
101 | return this.value(); | 98 | return this.value(); |
102 | }, | 99 | }, |
103 | */ | 100 | */ |
104 | //------------------------------------------------------------------------- | 101 | //------------------------------------------------------------------------- |
105 | __syntaxFix__: "syntax fix" | 102 | __syntaxFix__: "syntax fix" |
106 | }); | 103 | }); |
107 | 104 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginInput.js b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginInput.js index 673d5ee..8188389 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginInput.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/DirectLoginInput.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | //############################################################################# | 30 | //############################################################################# |
34 | 31 | ||
35 | Clipperz.PM.DataModel.DirectLoginInput = function(args) { | 32 | Clipperz.PM.DataModel.DirectLoginInput = function(args) { |
36 | this._args = args; | 33 | this._args = args; |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | Clipperz.PM.DataModel.DirectLoginInput.prototype = MochiKit.Base.update(null, { | 38 | Clipperz.PM.DataModel.DirectLoginInput.prototype = MochiKit.Base.update(null, { |
42 | 39 | ||
43 | 'args': function() { | 40 | 'args': function() { |
44 | return this._args; | 41 | return this._args; |
45 | }, | 42 | }, |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'name': function() { | 46 | 'name': function() { |
50 | return this.args()['name']; | 47 | return this.args()['name']; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'type': function() { | 52 | 'type': function() { |
56 | var result; | 53 | var result; |
57 | 54 | ||
58 | result = this.args()['type']; | 55 | result = this.args()['type']; |
59 | 56 | ||
60 | if (result != null) { | 57 | if (result != null) { |
61 | result = result.toLowerCase(); | 58 | result = result.toLowerCase(); |
62 | } | 59 | } |
63 | return result; | 60 | return result; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | //------------------------------------------------------------------------- | 63 | //------------------------------------------------------------------------- |
67 | 64 | ||
68 | 'options': function() { | 65 | 'options': function() { |
69 | return this.args()['options']; | 66 | return this.args()['options']; |
70 | }, | 67 | }, |
71 | 68 | ||
72 | //------------------------------------------------------------------------- | 69 | //------------------------------------------------------------------------- |
73 | 70 | ||
74 | 'value': function() { | 71 | 'value': function() { |
75 | return this.args()['value']; | 72 | return this.args()['value']; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //------------------------------------------------------------------------- | 75 | //------------------------------------------------------------------------- |
79 | /* | 76 | /* |
80 | 'formConfiguration': function(someFormValues, someBindings, someFields) { | 77 | 'formConfiguration': function(someFormValues, someBindings, someFields) { |
81 | var result; | 78 | var result; |
82 | //console.log("### DirectLoginInput.formConfiguration", someFields); | 79 | //console.log("### DirectLoginInput.formConfiguration", someFields); |
83 | if (this.shouldSetValue()) { | 80 | if (this.shouldSetValue()) { |
84 | switch (this.type()) { | 81 | switch (this.type()) { |
85 | case 'select': | 82 | case 'select': |
86 | var currentValue; | 83 | var currentValue; |
87 | var options; | 84 | var options; |
88 | 85 | ||
89 | // currentValue = this.directLogin()._configuration['formValues'][this.name()]; | 86 | // currentValue = this.directLogin()._configuration['formValues'][this.name()]; |
90 | currentValue = someFormValues[this.name()]; | 87 | currentValue = someFormValues[this.name()]; |
91 | options = this.args()['options']; | 88 | options = this.args()['options']; |
92 | 89 | ||
93 | result = MochiKit.DOM.SELECT({name:this.name()}, | 90 | result = MochiKit.DOM.SELECT({name:this.name()}, |
94 | MochiKit.Base.map(function(anOption) { | 91 | MochiKit.Base.map(function(anOption) { |
95 | var options; | 92 | var options; |
96 | 93 | ||
97 | options = {value:anOption['value']}; | 94 | options = {value:anOption['value']}; |
98 | if (currentValue == anOption['value']) { | 95 | if (currentValue == anOption['value']) { |
99 | options.selected = true; | 96 | options.selected = true; |
100 | } | 97 | } |
101 | 98 | ||
102 | return MochiKit.DOM.OPTION(options, anOption['label']) | 99 | return MochiKit.DOM.OPTION(options, anOption['label']) |
103 | }, options) | 100 | }, options) |
104 | ) | 101 | ) |
105 | break; | 102 | break; |
106 | case 'checkbox': | 103 | case 'checkbox': |
107 | var options; | 104 | var options; |
108 | 105 | ||
109 | options = {type:'checkbox', name: this.name()}; | 106 | options = {type:'checkbox', name: this.name()}; |
110 | // if (this.directLogin()._configuration['formValues'][this.name()] == true) { | 107 | // if (this.directLogin()._configuration['formValues'][this.name()] == true) { |
111 | if (someFormValues[this.name()] == true) { | 108 | if (someFormValues[this.name()] == true) { |
112 | options['checked'] = true; | 109 | options['checked'] = true; |
113 | }; | 110 | }; |
114 | 111 | ||
115 | result = MochiKit.DOM.INPUT(options, null); | 112 | result = MochiKit.DOM.INPUT(options, null); |
116 | break; | 113 | break; |
117 | case 'radio': | 114 | case 'radio': |
118 | var currentName; | 115 | var currentName; |
119 | var currentValue; | 116 | var currentValue; |
120 | var options; | 117 | var options; |
121 | 118 | ||
122 | currentName = this.name(); | 119 | currentName = this.name(); |
123 | // currentValue = this.directLogin()._configuration['formValues'][this.name()]; | 120 | // currentValue = this.directLogin()._configuration['formValues'][this.name()]; |
124 | currentValue = someFormValues[this.name()]; | 121 | currentValue = someFormValues[this.name()]; |
125 | options = this.args()['options']; | 122 | options = this.args()['options']; |
126 | 123 | ||
127 | result = MochiKit.DOM.DIV(null, | 124 | result = MochiKit.DOM.DIV(null, |
128 | MochiKit.Base.map(function(anOption) { | 125 | MochiKit.Base.map(function(anOption) { |
129 | var options; | 126 | var options; |
130 | var isChecked; | 127 | var isChecked; |
131 | var inputNode; | 128 | var inputNode; |
132 | var divNode; | 129 | var divNode; |
133 | 130 | ||
134 | options = {type:'radio', name:currentName, value:anOption['value']} | 131 | options = {type:'radio', name:currentName, value:anOption['value']} |
135 | isChecked = (currentValue == anOption['value']); | 132 | isChecked = (currentValue == anOption['value']); |
136 | if (isChecked) { | 133 | if (isChecked) { |
137 | options.checked = true; | 134 | options.checked = true; |
138 | } | 135 | } |
139 | 136 | ||
140 | if (Clipperz_IEisBroken == true) { | 137 | if (Clipperz_IEisBroken == true) { |
141 | var checkedValue; | 138 | var checkedValue; |
142 | 139 | ||
143 | checkedValue = (isChecked ? " CHECKED" : ""); | 140 | checkedValue = (isChecked ? " CHECKED" : ""); |
144 | inputNode = MochiKit.DOM.currentDocument().createElement("<INPUT TYPE='RADIO' NAME='" + currentName + "' VALUE='" + anOption['value'] + "'" + checkedValue + ">"); | 141 | inputNode = MochiKit.DOM.currentDocument().createElement("<INPUT TYPE='RADIO' NAME='" + currentName + "' VALUE='" + anOption['value'] + "'" + checkedValue + ">"); |
145 | } else { | 142 | } else { |
146 | inputNode = MochiKit.DOM.INPUT(options, anOption['value']); | 143 | inputNode = MochiKit.DOM.INPUT(options, anOption['value']); |
147 | } | 144 | } |
148 | divNode = MochiKit.DOM.DIV(null, inputNode); | 145 | divNode = MochiKit.DOM.DIV(null, inputNode); |
149 | 146 | ||
150 | return divNode; | 147 | return divNode; |
151 | }, options) | 148 | }, options) |
152 | ); | 149 | ); |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/EncryptedRemoteObject.js b/frontend/gamma/js/Clipperz/PM/DataModel/EncryptedRemoteObject.js index 3408b08..cdeec8b 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/EncryptedRemoteObject.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/EncryptedRemoteObject.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.KeyValueObjectStore) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.KeyValueObjectStore) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.EncryptedRemoteObject depends on Clipperz.KeyValueObjectStore!"; | 27 | throw "Clipperz.PM.DataModel.EncryptedRemoteObject depends on Clipperz.KeyValueObjectStore!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
34 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
35 | 32 | ||
36 | Clipperz.PM.DataModel.EncryptedRemoteObject = function(args) { | 33 | Clipperz.PM.DataModel.EncryptedRemoteObject = function(args) { |
37 | args = args || {}; | 34 | args = args || {}; |
38 | 35 | ||
39 | this._name = args.name || null; | 36 | this._name = args.name || null; |
40 | this._reference = args.reference || Clipperz.PM.Crypto.randomKey(); | 37 | this._reference = args.reference || Clipperz.PM.Crypto.randomKey(); |
41 | this._isBrandNew = ((args.reference == null) && (args.remoteData == null)); | 38 | this._isBrandNew = ((args.reference == null) && (args.remoteData == null)); |
42 | 39 | ||
43 | if ((this._isBrandNew == false) && (args['retrieveKeyFunction'] == null)) { | 40 | if ((this._isBrandNew == false) && (args['retrieveKeyFunction'] == null)) { |
44 | Clipperz.Base.exception.raise('MandatoryParameter'); | 41 | Clipperz.Base.exception.raise('MandatoryParameter'); |
45 | } else { | 42 | } else { |
46 | this._retrieveKeyFunction = args['retrieveKeyFunction']; | 43 | this._retrieveKeyFunction = args['retrieveKeyFunction']; |
47 | } | 44 | } |
48 | 45 | ||
49 | this._retrieveRemoteDataFunction = args.retrieveRemoteDataFunction|| null; | 46 | this._retrieveRemoteDataFunction = args.retrieveRemoteDataFunction|| null; |
50 | this._remoteData = args.remoteData || null; | 47 | this._remoteData = args.remoteData || null; |
51 | // this._remoteData = args.remoteData ? Clipperz.Base.deepClone(args.remoteData) : null; | 48 | // this._remoteData = args.remoteData ? Clipperz.Base.deepClone(args.remoteData) : null; |
52 | if ((!this._isBrandNew) && ((this._retrieveRemoteDataFunction == null) && (this._remoteData == null))) { | 49 | if ((!this._isBrandNew) && ((this._retrieveRemoteDataFunction == null) && (this._remoteData == null))) { |
53 | Clipperz.Base.exception.raise('MandatoryParameter'); | 50 | Clipperz.Base.exception.raise('MandatoryParameter'); |
54 | } | 51 | } |
55 | 52 | ||
56 | 53 | ||
57 | this._encryptedDataKeypath = args.encryptedDataKeypath || 'data'; //Clipperz.Base.exception.raise('MandatoryParameter'); | 54 | this._encryptedDataKeypath = args.encryptedDataKeypath || 'data'; //Clipperz.Base.exception.raise('MandatoryParameter'); |
58 | this._encryptedVersionKeypath = args.encryptedVersionKeypath || 'version';//Clipperz.Base.exception.raise('MandatoryParameter'); | 55 | this._encryptedVersionKeypath = args.encryptedVersionKeypath || 'version';//Clipperz.Base.exception.raise('MandatoryParameter'); |
59 | 56 | ||
60 | 57 | ||
61 | this._transientState = null; | 58 | this._transientState = null; |
62 | this._deferredLocks = {}; | 59 | this._deferredLocks = {}; |
63 | 60 | ||
64 | if (this._isBrandNew == true) { | 61 | if (this._isBrandNew == true) { |
65 | this._objectDataStore = new Clipperz.KeyValueObjectStore(/*{'name':'EncryptedRemoteObject.objectDataStore [1]'}*/); | 62 | this._objectDataStore = new Clipperz.KeyValueObjectStore(/*{'name':'EncryptedRemoteObject.objectDataStore [1]'}*/); |
66 | } else { | 63 | } else { |
67 | this._objectDataStore = null; | 64 | this._objectDataStore = null; |
68 | } | 65 | } |
69 | 66 | ||
70 | return this; | 67 | return this; |
71 | } | 68 | } |
72 | 69 | ||
73 | // | 70 | // |
74 | // Basic data workflow | 71 | // Basic data workflow |
75 | //======================= | 72 | //======================= |
76 | // | 73 | // |
77 | //getRemoteData | 74 | //getRemoteData |
78 | // unpackRemoteData | 75 | // unpackRemoteData |
79 | // getDecryptData [encryptedDataKeypath, encryptedVersionKeypath] | 76 | // getDecryptData [encryptedDataKeypath, encryptedVersionKeypath] |
80 | // unpackData | 77 | // unpackData |
81 | // | 78 | // |
82 | // | 79 | // |
83 | // ?? packData | 80 | // ?? packData |
84 | // ?? encryptDataWithKey | 81 | // ?? encryptDataWithKey |
85 | // ??packRemoteData [encryptedDataKeypath (?), encryptedVersionKeypath (?)] | 82 | // ??packRemoteData [encryptedDataKeypath (?), encryptedVersionKeypath (?)] |
86 | // | 83 | // |
87 | 84 | ||
88 | Clipperz.PM.DataModel.EncryptedRemoteObject.prototype = MochiKit.Base.update(null, { | 85 | Clipperz.PM.DataModel.EncryptedRemoteObject.prototype = MochiKit.Base.update(null, { |
89 | 86 | ||
90 | 'toString': function () { | 87 | 'toString': function () { |
91 | return "Clipperz.PM.DataModel.EncryptedRemoteObject" + (this.name() != null ? " - " + this.name() : ""); | 88 | return "Clipperz.PM.DataModel.EncryptedRemoteObject" + (this.name() != null ? " - " + this.name() : ""); |
92 | }, | 89 | }, |
93 | 90 | ||
94 | //------------------------------------------------------------------------- | 91 | //------------------------------------------------------------------------- |
95 | 92 | ||
96 | 'name': function () { | 93 | 'name': function () { |
97 | return this._name; | 94 | return this._name; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | //------------------------------------------------------------------------- | 97 | //------------------------------------------------------------------------- |
101 | 98 | ||
102 | 'reference': function () { | 99 | 'reference': function () { |
103 | return this._reference; | 100 | return this._reference; |
104 | }, | 101 | }, |
105 | 102 | ||
106 | 'setReference': function (aValue) { | 103 | 'setReference': function (aValue) { |
107 | this._reference = aValue; | 104 | this._reference = aValue; |
108 | 105 | ||
109 | return this._reference; | 106 | return this._reference; |
110 | }, | 107 | }, |
111 | 108 | ||
112 | //------------------------------------------------------------------------- | 109 | //------------------------------------------------------------------------- |
113 | 110 | ||
114 | 'transientState': function () { | 111 | 'transientState': function () { |
115 | if (this._transientState == null) { | 112 | if (this._transientState == null) { |
116 | this._transientState = new Clipperz.KeyValueObjectStore(/*{'name':'EncryptedRemoteObject.transientState [2]'}*/); | 113 | this._transientState = new Clipperz.KeyValueObjectStore(/*{'name':'EncryptedRemoteObject.transientState [2]'}*/); |
117 | } | 114 | } |
118 | 115 | ||
119 | return this._transientState; | 116 | return this._transientState; |
120 | }, | 117 | }, |
121 | 118 | ||
122 | 'resetTransientState': function (isCommitting) { | 119 | 'resetTransientState': function (isCommitting) { |
123 | if (this._transientState != null) { | 120 | if (this._transientState != null) { |
124 | this._transientState.removeAllData(); | 121 | this._transientState.removeAllData(); |
125 | } | 122 | } |
126 | 123 | ||
127 | this._transientState = null; | 124 | this._transientState = null; |
128 | }, | 125 | }, |
129 | 126 | ||
130 | //------------------------------------------------------------------------- | 127 | //------------------------------------------------------------------------- |
131 | 128 | ||
132 | 'isBrandNew': function () { | 129 | 'isBrandNew': function () { |
133 | return this._isBrandNew; | 130 | return this._isBrandNew; |
134 | }, | 131 | }, |
135 | 132 | ||
136 | //------------------------------------------------------------------------- | 133 | //------------------------------------------------------------------------- |
137 | 134 | ||
138 | 'getKey': function () { | 135 | 'getKey': function () { |
139 | var deferredResult; | 136 | var deferredResult; |
140 | var deferredLock; | 137 | var deferredLock; |
141 | 138 | ||
142 | deferredLock = this.getDeferredLockForKey('key'); | 139 | deferredLock = this.getDeferredLockForKey('key'); |
143 | 140 | ||
144 | deferredResult = new Clipperz.Async.Deferred("EncryptedRemoteObject.getKey", {trace:false}); | 141 | deferredResult = new Clipperz.Async.Deferred("EncryptedRemoteObject.getKey", {trace:false}); |
145 | deferredResult.acquireLock(deferredLock); | 142 | deferredResult.acquireLock(deferredLock); |
146 | deferredResult.addMethod( | 143 | deferredResult.addMethod( |
147 | this.decryptedDataStore(), | 144 | this.decryptedDataStore(), |
148 | 'deferredGetOrSet', | 145 | 'deferredGetOrSet', |
149 | 'decryptionKey', | 146 | 'decryptionKey', |
150 | MochiKit.Base.partial(this.retrieveKeyFunction(), this.reference()) | 147 | MochiKit.Base.partial(this.retrieveKeyFunction(), this.reference()) |
151 | ); | 148 | ); |
152 | deferredResult.releaseLock(deferredLock); | 149 | deferredResult.releaseLock(deferredLock); |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/OneTimePassword.js b/frontend/gamma/js/Clipperz/PM/DataModel/OneTimePassword.js index 9f1c197..834e21b 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/OneTimePassword.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/OneTimePassword.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | 30 | ||
34 | //############################################################################# | 31 | //############################################################################# |
35 | 32 | ||
36 | Clipperz.PM.DataModel.OneTimePassword = function(args) { | 33 | Clipperz.PM.DataModel.OneTimePassword = function(args) { |
37 | args = args || {}; | 34 | args = args || {}; |
38 | 35 | ||
39 | //this._user = args['user']; | 36 | //this._user = args['user']; |
40 | this._reference = args['reference']|| Clipperz.PM.Crypto.randomKey(); | 37 | this._reference = args['reference']|| Clipperz.PM.Crypto.randomKey(); |
41 | this._password = args['password']; | 38 | this._password = args['password']; |
42 | this._passwordValue = Clipperz.PM.DataModel.OneTimePassword.normalizedOneTimePassword(args['password']); | 39 | this._passwordValue = Clipperz.PM.DataModel.OneTimePassword.normalizedOneTimePassword(args['password']); |
43 | this._creationDate = args['created'] ? Clipperz.PM.Date.parseDateWithUTCFormat(args['created']) : new Date(); | 40 | this._creationDate = args['created'] ? Clipperz.PM.Date.parseDateWithUTCFormat(args['created']) : new Date(); |
44 | this._usageDate = args['used'] ? Clipperz.PM.Date.parseDateWithUTCFormat(args['used']) : null; | 41 | this._usageDate = args['used'] ? Clipperz.PM.Date.parseDateWithUTCFormat(args['used']) : null; |
45 | 42 | ||
46 | this._status = args['status'] || 'ACTIVE'; //'REQUESTED', 'USED', 'DISABLED' | 43 | this._status = args['status'] || 'ACTIVE'; //'REQUESTED', 'USED', 'DISABLED' |
47 | this._connectionInfo= null; | 44 | this._connectionInfo= null; |
48 | 45 | ||
49 | this._key = null; | 46 | this._key = null; |
50 | this._keyChecksum= null; | 47 | this._keyChecksum= null; |
51 | 48 | ||
52 | return this; | 49 | return this; |
53 | } | 50 | } |
54 | 51 | ||
55 | Clipperz.PM.DataModel.OneTimePassword.prototype = MochiKit.Base.update(null, { | 52 | Clipperz.PM.DataModel.OneTimePassword.prototype = MochiKit.Base.update(null, { |
56 | 53 | ||
57 | 'toString': function() { | 54 | 'toString': function() { |
58 | return "Clipperz.PM.DataModel.OneTimePassword"; | 55 | return "Clipperz.PM.DataModel.OneTimePassword"; |
59 | }, | 56 | }, |
60 | /* | 57 | /* |
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'user': function() { | 60 | 'user': function() { |
64 | return this._user; | 61 | return this._user; |
65 | }, | 62 | }, |
66 | 63 | ||
67 | //------------------------------------------------------------------------- | 64 | //------------------------------------------------------------------------- |
68 | 65 | ||
69 | 'password': function() { | 66 | 'password': function() { |
70 | return this._password; | 67 | return this._password; |
71 | }, | 68 | }, |
72 | 69 | ||
73 | //------------------------------------------------------------------------- | 70 | //------------------------------------------------------------------------- |
74 | 71 | ||
75 | 'passwordValue': function() { | 72 | 'passwordValue': function() { |
76 | return this._passwordValue; | 73 | return this._passwordValue; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | //------------------------------------------------------------------------- | 76 | //------------------------------------------------------------------------- |
80 | 77 | ||
81 | 'creationDate': function() { | 78 | 'creationDate': function() { |
82 | return this._creationDate; | 79 | return this._creationDate; |
83 | }, | 80 | }, |
84 | 81 | ||
85 | //------------------------------------------------------------------------- | 82 | //------------------------------------------------------------------------- |
86 | 83 | ||
87 | 'reference': function() { | 84 | 'reference': function() { |
88 | return this._reference; | 85 | return this._reference; |
89 | }, | 86 | }, |
90 | 87 | ||
91 | //------------------------------------------------------------------------- | 88 | //------------------------------------------------------------------------- |
92 | 89 | ||
93 | 'key': function() { | 90 | 'key': function() { |
94 | if (this._key == null) { | 91 | if (this._key == null) { |
95 | this._key = Clipperz.PM.DataModel.OneTimePassword.computeKeyWithUsernameAndPassword(this.user().username(), this.passwordValue()); | 92 | this._key = Clipperz.PM.DataModel.OneTimePassword.computeKeyWithUsernameAndPassword(this.user().username(), this.passwordValue()); |
96 | } | 93 | } |
97 | 94 | ||
98 | return this._key; | 95 | return this._key; |
99 | }, | 96 | }, |
100 | 97 | ||
101 | //------------------------------------------------------------------------- | 98 | //------------------------------------------------------------------------- |
102 | 99 | ||
103 | 'keyChecksum': function() { | 100 | 'keyChecksum': function() { |
104 | if (this._keyChecksum == null) { | 101 | if (this._keyChecksum == null) { |
105 | this._keyChecksum = Clipperz.PM.DataModel.OneTimePassword.computeKeyChecksumWithUsernameAndPassword(this.user().username(), this.passwordValue()); | 102 | this._keyChecksum = Clipperz.PM.DataModel.OneTimePassword.computeKeyChecksumWithUsernameAndPassword(this.user().username(), this.passwordValue()); |
106 | } | 103 | } |
107 | 104 | ||
108 | return this._keyChecksum; | 105 | return this._keyChecksum; |
109 | }, | 106 | }, |
110 | */ | 107 | */ |
111 | //------------------------------------------------------------------------- | 108 | //------------------------------------------------------------------------- |
112 | 109 | ||
113 | 'status': function() { | 110 | 'status': function() { |
114 | return this._status; | 111 | return this._status; |
115 | }, | 112 | }, |
116 | 113 | ||
117 | 'setStatus': function(aValue) { | 114 | 'setStatus': function(aValue) { |
118 | this._status = aValue; | 115 | this._status = aValue; |
119 | }, | 116 | }, |
120 | 117 | ||
121 | //------------------------------------------------------------------------- | 118 | //------------------------------------------------------------------------- |
122 | /* | 119 | /* |
123 | 'serializedData': function() { | 120 | 'serializedData': function() { |
124 | var result; | 121 | var result; |
125 | 122 | ||
126 | result = { | 123 | result = { |
127 | 'password': this.password(), | 124 | 'password': this.password(), |
128 | 'created': this.creationDate() ? Clipperz.PM.Date.formatDateWithUTCFormat(this.creationDate()) : null, | 125 | 'created': this.creationDate() ? Clipperz.PM.Date.formatDateWithUTCFormat(this.creationDate()) : null, |
129 | 'used': this.usageDate() ? Clipperz.PM.Date.formatDateWithUTCFormat(this.usageDate()) : null, | 126 | 'used': this.usageDate() ? Clipperz.PM.Date.formatDateWithUTCFormat(this.usageDate()) : null, |
130 | 'status': this.status() | 127 | 'status': this.status() |
131 | }; | 128 | }; |
132 | 129 | ||
133 | return result; | 130 | return result; |
134 | }, | 131 | }, |
135 | 132 | ||
136 | //------------------------------------------------------------------------- | 133 | //------------------------------------------------------------------------- |
137 | 134 | ||
138 | 'packedPassphrase': function() { | 135 | 'packedPassphrase': function() { |
139 | var result; | 136 | var result; |
140 | var packedPassphrase; | 137 | var packedPassphrase; |
141 | var encodedPassphrase; | 138 | var encodedPassphrase; |
142 | varprefixPadding; | 139 | varprefixPadding; |
143 | var suffixPadding; | 140 | var suffixPadding; |
144 | var getRandomBytes; | 141 | var getRandomBytes; |
145 | 142 | ||
146 | getRandomBytes = MochiKit.Base.method(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'getRandomBytes'); | 143 | getRandomBytes = MochiKit.Base.method(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'getRandomBytes'); |
147 | 144 | ||
148 | encodedPassphrase = new Clipperz.ByteArray(this.user().passphrase()).toBase64String(); | 145 | encodedPassphrase = new Clipperz.ByteArray(this.user().passphrase()).toBase64String(); |
149 | //MochiKit.Logging.logDebug("--- encodedPassphrase.length: " + encodedPassphrase.length); | 146 | //MochiKit.Logging.logDebug("--- encodedPassphrase.length: " + encodedPassphrase.length); |
150 | prefixPadding = getRandomBytes(getRandomBytes(1).byteAtIndex(0)).toBase64String(); | 147 | prefixPadding = getRandomBytes(getRandomBytes(1).byteAtIndex(0)).toBase64String(); |
151 | //MochiKit.Logging.logDebug("--- prefixPadding.length: " + prefixPadding.length); | 148 | //MochiKit.Logging.logDebug("--- prefixPadding.length: " + prefixPadding.length); |
152 | suffixPadding = getRandomBytes((500 - prefixPadding.length - encodedPassphrase.length) * 6 / 8).toBase64String(); | 149 | suffixPadding = getRandomBytes((500 - prefixPadding.length - encodedPassphrase.length) * 6 / 8).toBase64String(); |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.Field.js b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.Field.js index 147aa7d..f51bbc2 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.Field.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.Field.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.Record.Version) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.Record.Version) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.Record.Version.Field depends on Clipperz.PM.DataModel.Record.Version!"; | 27 | throw "Clipperz.PM.DataModel.Record.Version.Field depends on Clipperz.PM.DataModel.Record.Version!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | Clipperz.PM.DataModel.Record.Version.Field = function(args) { | 30 | Clipperz.PM.DataModel.Record.Version.Field = function(args) { |
34 | Clipperz.PM.DataModel.Record.Version.Field.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.DataModel.Record.Version.Field.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._recordVersion = args.recordVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._recordVersion = args.recordVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._reference = args.reference || Clipperz.PM.Crypto.randomKey(); | 34 | this._reference = args.reference || Clipperz.PM.Crypto.randomKey(); |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | 39 | ||
43 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version.Field, Object, { | 40 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version.Field, Object, { |
44 | 41 | ||
45 | 'toString': function() { | 42 | 'toString': function() { |
46 | return "Record.Version.Field (" + this.reference() + ")"; | 43 | return "Record.Version.Field (" + this.reference() + ")"; |
47 | }, | 44 | }, |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'recordVersion': function () { | 48 | 'recordVersion': function () { |
52 | return this._recordVersion; | 49 | return this._recordVersion; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'reference': function () { | 54 | 'reference': function () { |
58 | return this._reference; | 55 | return this._reference; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'getItem': function (aKey) { | 60 | 'getItem': function (aKey) { |
64 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ | 61 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ |
65 | MochiKit.Base.method(this, 'recordVersion'), | 62 | MochiKit.Base.method(this, 'recordVersion'), |
66 | MochiKit.Base.methodcaller('getValue', 'fields' + '.' + this.reference() + '.' + aKey) | 63 | MochiKit.Base.methodcaller('getValue', 'fields' + '.' + this.reference() + '.' + aKey) |
67 | ], {trace:false}); | 64 | ], {trace:false}); |
68 | }, | 65 | }, |
69 | 66 | ||
70 | 'setItem': function (aKey, aValue) { | 67 | 'setItem': function (aKey, aValue) { |
71 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ | 68 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.getItem", [ |
72 | MochiKit.Base.method(this, 'recordVersion'), | 69 | MochiKit.Base.method(this, 'recordVersion'), |
73 | MochiKit.Base.methodcaller('setValue', 'fields' + '.' + this.reference() + '.' + aKey, aValue) | 70 | MochiKit.Base.methodcaller('setValue', 'fields' + '.' + this.reference() + '.' + aKey, aValue) |
74 | ], {trace:false}); | 71 | ], {trace:false}); |
75 | }, | 72 | }, |
76 | 73 | ||
77 | //------------------------------------------------------------------------- | 74 | //------------------------------------------------------------------------- |
78 | 75 | ||
79 | 'label': function () { | 76 | 'label': function () { |
80 | return this.getItem('label'); | 77 | return this.getItem('label'); |
81 | }, | 78 | }, |
82 | 79 | ||
83 | 'setLabel': function (aValue) { | 80 | 'setLabel': function (aValue) { |
84 | return this.setItem('label', aValue); | 81 | return this.setItem('label', aValue); |
85 | }, | 82 | }, |
86 | 83 | ||
87 | //------------------------------------------------------------------------- | 84 | //------------------------------------------------------------------------- |
88 | 85 | ||
89 | 'value': function () { | 86 | 'value': function () { |
90 | return this.getItem('value'); | 87 | return this.getItem('value'); |
91 | }, | 88 | }, |
92 | 89 | ||
93 | 'setValue': function (aValue) { | 90 | 'setValue': function (aValue) { |
94 | return this.setItem('value', aValue); | 91 | return this.setItem('value', aValue); |
95 | }, | 92 | }, |
96 | 93 | ||
97 | //------------------------------------------------------------------------- | 94 | //------------------------------------------------------------------------- |
98 | 95 | ||
99 | 'actionType': function () { | 96 | 'actionType': function () { |
100 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.actionType", [ | 97 | return Clipperz.Async.callbacks("Clipperz.PM.DataModel.Record.Version.Field.actionType", [ |
101 | Clipperz.Async.collectResults("Clipperz.PM.DataModel.Record.Version.Field.actionType [collect results]", { | 98 | Clipperz.Async.collectResults("Clipperz.PM.DataModel.Record.Version.Field.actionType [collect results]", { |
102 | 'isHidden':MochiKit.Base.method(this, 'isHidden'), | 99 | 'isHidden':MochiKit.Base.method(this, 'isHidden'), |
103 | 'value':MochiKit.Base.method(this, 'value') | 100 | 'value':MochiKit.Base.method(this, 'value') |
104 | }, {trace:false}), | 101 | }, {trace:false}), |
105 | function (someValues) { | 102 | function (someValues) { |
106 | var result; //'NONE', 'URL', 'EMAIL', 'PASSWORD' | 103 | var result; //'NONE', 'URL', 'EMAIL', 'PASSWORD' |
107 | 104 | ||
108 | result = 'NONE'; | 105 | result = 'NONE'; |
109 | 106 | ||
110 | if (someValues['isHidden']) { | 107 | if (someValues['isHidden']) { |
111 | result = 'PASSWORD'; | 108 | result = 'PASSWORD'; |
112 | } else if (Clipperz.Base.isUrl(someValues['value'])) { | 109 | } else if (Clipperz.Base.isUrl(someValues['value'])) { |
113 | result = 'URL' | 110 | result = 'URL' |
114 | } else if (Clipperz.Base.isEmail(someValues['value'])) { | 111 | } else if (Clipperz.Base.isEmail(someValues['value'])) { |
115 | result = 'EMAIL' | 112 | result = 'EMAIL' |
116 | }; | 113 | }; |
117 | 114 | ||
118 | return result; | 115 | return result; |
119 | } | 116 | } |
120 | ], {trace:false}); | 117 | ], {trace:false}); |
121 | }, | 118 | }, |
122 | 119 | ||
123 | //------------------------------------------------------------------------- | 120 | //------------------------------------------------------------------------- |
124 | 121 | ||
125 | 'isHidden': function () { | 122 | 'isHidden': function () { |
126 | return this.getItem('hidden'); | 123 | return this.getItem('hidden'); |
127 | }, | 124 | }, |
128 | 125 | ||
129 | 'setIsHidden': function (aValue) { | 126 | 'setIsHidden': function (aValue) { |
130 | return this.setItem('hidden', aValue); | 127 | return this.setItem('hidden', aValue); |
131 | }, | 128 | }, |
132 | 129 | ||
133 | //------------------------------------------------------------------------- | 130 | //------------------------------------------------------------------------- |
134 | 131 | ||
135 | 'isEmpty': function () { | 132 | 'isEmpty': function () { |
136 | var deferredResult; | 133 | var deferredResult; |
137 | 134 | ||
138 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.Field.isEmpty", {trace:false}); | 135 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.Field.isEmpty", {trace:false}); |
139 | 136 | ||
140 | deferredResult.collectResults({ | 137 | deferredResult.collectResults({ |
141 | 'label': [ | 138 | 'label': [ |
142 | MochiKit.Base.method(this, 'label'), | 139 | MochiKit.Base.method(this, 'label'), |
143 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') | 140 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') |
144 | ], | 141 | ], |
145 | 'value': [ | 142 | 'value': [ |
146 | MochiKit.Base.method(this, 'value'), | 143 | MochiKit.Base.method(this, 'value'), |
147 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') | 144 | MochiKit.Base.partial(MochiKit.Base.operator.eq, '') |
148 | ], | 145 | ], |
149 | 'isHidden': [ | 146 | 'isHidden': [ |
150 | MochiKit.Base.method(this, 'isHidden'), | 147 | MochiKit.Base.method(this, 'isHidden'), |
151 | MochiKit.Base.partial(MochiKit.Base.operator.eq, false) | 148 | MochiKit.Base.partial(MochiKit.Base.operator.eq, false) |
152 | ] | 149 | ] |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js index 6e50f8e..dd35fc9 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/Record.Version.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.Record) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.Record) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.Record.Version depends on Clipperz.PM.DataModel.Record!"; | 27 | throw "Clipperz.PM.DataModel.Record.Version depends on Clipperz.PM.DataModel.Record!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | Clipperz.PM.DataModel.Record.Version = function(args) { | 30 | Clipperz.PM.DataModel.Record.Version = function(args) { |
34 | //console.log(">>> Record.new"); | 31 | //console.log(">>> Record.new"); |
35 | Clipperz.PM.DataModel.Record.Version.superclass.constructor.apply(this, arguments); | 32 | Clipperz.PM.DataModel.Record.Version.superclass.constructor.apply(this, arguments); |
36 | 33 | ||
37 | this._getVersionFunction = args.getVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._getVersionFunction = args.getVersion|| Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._fields = null; | 35 | this._fields = null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 41 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record.Version, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
45 | 42 | ||
46 | 'toString': function() { | 43 | 'toString': function() { |
47 | return "Record.Version (" + this.reference() + ")"; | 44 | return "Record.Version (" + this.reference() + ")"; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'reference': function () { | 49 | 'reference': function () { |
53 | return this._reference; | 50 | return this._reference; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //------------------------------------------------------------------------- | 53 | //------------------------------------------------------------------------- |
57 | /* | 54 | /* |
58 | 'hasPendingChanges': function () { | 55 | 'hasPendingChanges': function () { |
59 | var deferredResult; | 56 | var deferredResult; |
60 | 57 | ||
61 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChanges", {trace:false}); | 58 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChanges", {trace:false}); |
62 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.hasPendingChanges, this)); | 59 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.hasPendingChanges, this)); |
63 | deferredResult.callback(); | 60 | deferredResult.callback(); |
64 | 61 | ||
65 | return deferredResult; | 62 | return deferredResult; |
66 | }, | 63 | }, |
67 | */ | 64 | */ |
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | 67 | ||
71 | 'hasPendingChangesWhenBrandNew': function () { | 68 | 'hasPendingChangesWhenBrandNew': function () { |
72 | var deferredResult; | 69 | var deferredResult; |
73 | 70 | ||
74 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChangesWhenBrandNew", {trace:false}); | 71 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.hasPendingChangesWhenBrandNew", {trace:false}); |
75 | deferredResult.addMethod(this, 'fields'); | 72 | deferredResult.addMethod(this, 'fields'); |
76 | deferredResult.addCallback(MochiKit.Base.values); | 73 | deferredResult.addCallback(MochiKit.Base.values); |
77 | deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.methodcaller('isEmpty')) | 74 | deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.methodcaller('isEmpty')) |
78 | deferredResult.addCallback(Clipperz.Async.collectAll); | 75 | deferredResult.addCallback(Clipperz.Async.collectAll); |
79 | deferredResult.addCallback(function(someValues) { | 76 | deferredResult.addCallback(function(someValues) { |
80 | return MochiKit.Iter.every(someValues, MochiKit.Base.operator.identity); | 77 | return MochiKit.Iter.every(someValues, MochiKit.Base.operator.identity); |
81 | }); | 78 | }); |
82 | deferredResult.addCallback(MochiKit.Base.operator.lognot) | 79 | deferredResult.addCallback(MochiKit.Base.operator.lognot) |
83 | deferredResult.callback(); | 80 | deferredResult.callback(); |
84 | 81 | ||
85 | return deferredResult; | 82 | return deferredResult; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //========================================================================= | 85 | //========================================================================= |
89 | 86 | ||
90 | 'commitTransientState': function () { | 87 | 'commitTransientState': function () { |
91 | var deferredResult; | 88 | var deferredResult; |
92 | 89 | ||
93 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.commitTransientState", {trace:false}); | 90 | deferredResult = new Clipperz.Async.Deferred("Clipperz.PM.DataModel.Record.Version.commitTransientState", {trace:false}); |
94 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.commitTransientState, this)); | 91 | deferredResult.addCallback(MochiKit.Base.bind(Clipperz.PM.DataModel.Record.Version.superclass.commitTransientState, this)); |
95 | deferredResult.callback(); | 92 | deferredResult.callback(); |
96 | 93 | ||
97 | return deferredResult; | 94 | return deferredResult; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | //========================================================================= | 97 | //========================================================================= |
101 | 98 | ||
102 | 'unpackData': function (someData) { //++ | 99 | 'unpackData': function (someData) { //++ |
103 | varresult; | 100 | varresult; |
104 | 101 | ||
105 | //console.log("Record.Version - UNPACK DATA", this, someData); | 102 | //console.log("Record.Version - UNPACK DATA", this, someData); |
106 | result = someData; | 103 | result = someData; |
107 | if ((someData['fields'] != null) && (someData['fields'] instanceof Array)) { | 104 | if ((someData['fields'] != null) && (someData['fields'] instanceof Array)) { |
108 | varfields; | 105 | varfields; |
109 | var i,c; | 106 | var i,c; |
110 | 107 | ||
111 | fields = someData['fields']; | 108 | fields = someData['fields']; |
112 | delete someData['fields']; | 109 | delete someData['fields']; |
113 | 110 | ||
114 | someData['fields'] = {}; | 111 | someData['fields'] = {}; |
115 | c = fields.length; | 112 | c = fields.length; |
116 | for (i=0; i<c; i++) { | 113 | for (i=0; i<c; i++) { |
117 | someData['fields'][i] = fields[i]; | 114 | someData['fields'][i] = fields[i]; |
118 | } | 115 | } |
119 | } | 116 | } |
120 | 117 | ||
121 | 118 | ||
122 | 119 | ||
123 | return result; | 120 | return result; |
124 | }, | 121 | }, |
125 | 122 | ||
126 | //========================================================================= | 123 | //========================================================================= |
127 | 124 | ||
128 | 'fields': function () { | 125 | 'fields': function () { |
129 | vardeferredResult; | 126 | vardeferredResult; |
130 | var deferredLock; | 127 | var deferredLock; |
131 | 128 | ||
132 | deferredLock = this.getDeferredLockForKey('fields'); | 129 | deferredLock = this.getDeferredLockForKey('fields'); |
133 | 130 | ||
134 | deferredResult = new Clipperz.Async.Deferred("Record.Version.fields", {trace:false}); | 131 | deferredResult = new Clipperz.Async.Deferred("Record.Version.fields", {trace:false}); |
135 | deferredResult.acquireLock(deferredLock); | 132 | deferredResult.acquireLock(deferredLock); |
136 | deferredResult.addCallback(MochiKit.Base.bind(function () { | 133 | deferredResult.addCallback(MochiKit.Base.bind(function () { |
137 | var innerDeferredResult; | 134 | var innerDeferredResult; |
138 | 135 | ||
139 | if (this._fields == null) { | 136 | if (this._fields == null) { |
140 | innerDeferredResult = new Clipperz.Async.Deferred("Record.Version.fields <inner deferred>", {trace:false}); | 137 | innerDeferredResult = new Clipperz.Async.Deferred("Record.Version.fields <inner deferred>", {trace:false}); |
141 | innerDeferredResult.addMethod(this, 'getValue', 'fields'); | 138 | innerDeferredResult.addMethod(this, 'getValue', 'fields'); |
142 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { | 139 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { |
143 | var reference; | 140 | var reference; |
144 | 141 | ||
145 | this._fields = {}; | 142 | this._fields = {}; |
146 | 143 | ||
147 | for (reference in someObjectData) { | 144 | for (reference in someObjectData) { |
148 | varrecordVersionField; | 145 | varrecordVersionField; |
149 | 146 | ||
150 | recordVersionField = new Clipperz.PM.DataModel.Record.Version.Field({ | 147 | recordVersionField = new Clipperz.PM.DataModel.Record.Version.Field({ |
151 | 'recordVersion':this, | 148 | 'recordVersion':this, |
152 | 'reference': reference | 149 | 'reference': reference |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/Record.js b/frontend/gamma/js/Clipperz/PM/DataModel/Record.js index 85dd06b..b816f80 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/Record.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/Record.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | 30 | ||
34 | Clipperz.PM.DataModel.Record = function(args) { | 31 | Clipperz.PM.DataModel.Record = function(args) { |
35 | //console.log(">>> new Clipperz.PM.DataModel.Record", args); | 32 | //console.log(">>> new Clipperz.PM.DataModel.Record", args); |
36 | Clipperz.PM.DataModel.Record.superclass.constructor.apply(this, arguments); | 33 | Clipperz.PM.DataModel.Record.superclass.constructor.apply(this, arguments); |
37 | 34 | ||
38 | this._updateDate = (args.updateDate ? Clipperz.PM.Date.parse(args.updateDate) : Clipperz.Base.exception.raise('MandatoryParameter')); | 35 | this._updateDate = (args.updateDate ? Clipperz.PM.Date.parse(args.updateDate) : Clipperz.Base.exception.raise('MandatoryParameter')); |
39 | 36 | ||
40 | this._retrieveIndexDataFunction = args.retrieveIndexDataFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); | 37 | this._retrieveIndexDataFunction = args.retrieveIndexDataFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); |
41 | this._updateIndexDataFunction = args.updateIndexDataFunction || Clipperz.Base.exception.raise('MandatoryParameter'); | 38 | this._updateIndexDataFunction = args.updateIndexDataFunction || Clipperz.Base.exception.raise('MandatoryParameter'); |
42 | 39 | ||
43 | this._retrieveDirectLoginIndexDataFunction = args.retrieveDirectLoginIndexDataFunction|| null; | 40 | this._retrieveDirectLoginIndexDataFunction = args.retrieveDirectLoginIndexDataFunction|| null; |
44 | this._setDirectLoginIndexDataFunction = args.setDirectLoginIndexDataFunction || null; | 41 | this._setDirectLoginIndexDataFunction = args.setDirectLoginIndexDataFunction || null; |
45 | this._removeDirectLoginIndexDataFunction = args.removeDirectLoginIndexDataFunction|| null; | 42 | this._removeDirectLoginIndexDataFunction = args.removeDirectLoginIndexDataFunction|| null; |
46 | 43 | ||
47 | this._createNewDirectLoginFunction = args.createNewDirectLoginFunction || null; | 44 | this._createNewDirectLoginFunction = args.createNewDirectLoginFunction || null; |
48 | 45 | ||
49 | this._directLogins = {}; | 46 | this._directLogins = {}; |
50 | 47 | ||
51 | this._versions = {}; | 48 | this._versions = {}; |
52 | 49 | ||
53 | this._currentRecordVersion = null; | 50 | this._currentRecordVersion = null; |
54 | if (this.isBrandNew()) { | 51 | if (this.isBrandNew()) { |
55 | var newVersion; | 52 | var newVersion; |
56 | 53 | ||
57 | this.setNotes(''); | 54 | this.setNotes(''); |
58 | newVersion = new Clipperz.PM.DataModel.Record.Version({ | 55 | newVersion = new Clipperz.PM.DataModel.Record.Version({ |
59 | 'retrieveKeyFunction':MochiKit.Base.method(this, 'getVersionKey'), | 56 | 'retrieveKeyFunction':MochiKit.Base.method(this, 'getVersionKey'), |
60 | 'getVersion': MochiKit.Base.method(this, 'getVersion') | 57 | 'getVersion': MochiKit.Base.method(this, 'getVersion') |
61 | 58 | ||
62 | }); | 59 | }); |
63 | this._versions[newVersion.reference()] = newVersion; | 60 | this._versions[newVersion.reference()] = newVersion; |
64 | this._currentVersionReference = newVersion.reference(); | 61 | this._currentVersionReference = newVersion.reference(); |
65 | // this.setLabel(''); | 62 | // this.setLabel(''); |
66 | } | 63 | } |
67 | 64 | ||
68 | //console.log("<<< new Clipperz.PM.DataModel.Record", args); | 65 | //console.log("<<< new Clipperz.PM.DataModel.Record", args); |
69 | 66 | ||
70 | return this; | 67 | return this; |
71 | } | 68 | } |
72 | 69 | ||
73 | 70 | ||
74 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 71 | Clipperz.Base.extend(Clipperz.PM.DataModel.Record, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
75 | 72 | ||
76 | 'toString': function() { | 73 | 'toString': function() { |
77 | return "Record (" + this.reference() + ")"; | 74 | return "Record (" + this.reference() + ")"; |
78 | }, | 75 | }, |
79 | 76 | ||
80 | //------------------------------------------------------------------------- | 77 | //------------------------------------------------------------------------- |
81 | 78 | ||
82 | 'reference': function () { | 79 | 'reference': function () { |
83 | return this._reference; | 80 | return this._reference; |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //========================================================================= | 83 | //========================================================================= |
87 | 84 | ||
88 | 'getIndexData': function () { | 85 | 'getIndexData': function () { |
89 | return this._retrieveIndexDataFunction(this.reference()); | 86 | return this._retrieveIndexDataFunction(this.reference()); |
90 | }, | 87 | }, |
91 | 88 | ||
92 | //......................................................................... | 89 | //......................................................................... |
93 | 90 | ||
94 | 'getIndexDataForKey': function (aKey) { | 91 | 'getIndexDataForKey': function (aKey) { |
95 | return Clipperz.Async.callbacks("Record.getIndexDataForKey", [ | 92 | return Clipperz.Async.callbacks("Record.getIndexDataForKey", [ |
96 | MochiKit.Base.method(this, 'getIndexData'), | 93 | MochiKit.Base.method(this, 'getIndexData'), |
97 | MochiKit.Base.itemgetter(aKey) | 94 | MochiKit.Base.itemgetter(aKey) |
98 | ], {trace:false}); | 95 | ], {trace:false}); |
99 | }, | 96 | }, |
100 | 97 | ||
101 | //------------------------------------------------------------------------- | 98 | //------------------------------------------------------------------------- |
102 | 99 | ||
103 | 'setIndexDataForKey': function (aKey, aValue) { | 100 | 'setIndexDataForKey': function (aKey, aValue) { |
104 | // return this._updateIndexDataFunction(this.reference(), aKey, aValue); | 101 | // return this._updateIndexDataFunction(this.reference(), aKey, aValue); |
105 | 102 | ||
106 | var deferredResult; | 103 | var deferredResult; |
107 | 104 | ||
108 | deferredResult = new Clipperz.Async.Deferred("Record.setIndexDataForKey", {trace:false}); | 105 | deferredResult = new Clipperz.Async.Deferred("Record.setIndexDataForKey", {trace:false}); |
109 | deferredResult.addMethod(this, 'getIndexDataForKey', aKey); | 106 | deferredResult.addMethod(this, 'getIndexDataForKey', aKey); |
110 | deferredResult.addCallback(MochiKit.Base.bind(function (aCurrentValue) { | 107 | deferredResult.addCallback(MochiKit.Base.bind(function (aCurrentValue) { |
111 | var result; | 108 | var result; |
112 | var originalValue; | 109 | var originalValue; |
113 | 110 | ||
114 | originalValue = this.transientState().getValue('originalValues.indexData.' + aKey); | 111 | originalValue = this.transientState().getValue('originalValues.indexData.' + aKey); |
115 | if (originalValue == null) { | 112 | if (originalValue == null) { |
116 | originalValue = this.transientState().setValue('originalValues.indexData.' + aKey, aCurrentValue); | 113 | originalValue = this.transientState().setValue('originalValues.indexData.' + aKey, aCurrentValue); |
117 | } | 114 | } |
118 | 115 | ||
119 | if (aCurrentValue != aValue) { | 116 | if (aCurrentValue != aValue) { |
120 | if (originalValue != aValue) { | 117 | if (originalValue != aValue) { |
121 | this.transientState().setValue('hasPendingChanges.indexData.' + aKey, true); | 118 | this.transientState().setValue('hasPendingChanges.indexData.' + aKey, true); |
122 | } else { | 119 | } else { |
123 | this.transientState().setValue('hasPendingChanges.indexData.' + aKey, false); | 120 | this.transientState().setValue('hasPendingChanges.indexData.' + aKey, false); |
124 | } | 121 | } |
125 | 122 | ||
126 | result = this._updateIndexDataFunction(this.reference(), aKey, aValue); | 123 | result = this._updateIndexDataFunction(this.reference(), aKey, aValue); |
127 | } else { | 124 | } else { |
128 | result = MochiKit.Async.succeed(aValue); | 125 | result = MochiKit.Async.succeed(aValue); |
129 | } | 126 | } |
130 | 127 | ||
131 | return result; | 128 | return result; |
132 | }, this)); | 129 | }, this)); |
133 | 130 | ||
134 | deferredResult.callback(); | 131 | deferredResult.callback(); |
135 | 132 | ||
136 | return deferredResult; | 133 | return deferredResult; |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //========================================================================= | 136 | //========================================================================= |
140 | /* | 137 | /* |
141 | 'key': function () { | 138 | 'key': function () { |
142 | return this.getIndexDataForKey('key'); | 139 | return this.getIndexDataForKey('key'); |
143 | }, | 140 | }, |
144 | */ | 141 | */ |
145 | //========================================================================= | 142 | //========================================================================= |
146 | 143 | ||
147 | 'label': function () { | 144 | 'label': function () { |
148 | return this.getIndexDataForKey('label'); | 145 | return this.getIndexDataForKey('label'); |
149 | }, | 146 | }, |
150 | 147 | ||
151 | //......................................................................... | 148 | //......................................................................... |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Legacy.js b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Legacy.js index e675525..d6202ff 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Legacy.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Legacy.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.User.Header.Legacy depends on Clipperz.PM.DataModel.User!"; | 27 | throw "Clipperz.PM.DataModel.User.Header.Legacy depends on Clipperz.PM.DataModel.User!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } | 30 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } |
34 | 31 | ||
35 | Clipperz.PM.DataModel.User.Header.Legacy = function(args) { | 32 | Clipperz.PM.DataModel.User.Header.Legacy = function(args) { |
36 | //args = args || {}; | 33 | //args = args || {}; |
37 | Clipperz.PM.DataModel.User.Header.Legacy.superclass.constructor.apply(this, arguments); | 34 | Clipperz.PM.DataModel.User.Header.Legacy.superclass.constructor.apply(this, arguments); |
38 | 35 | ||
39 | this._retrieveRecordDetailFunction = args.retrieveRecordDetailFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); | 36 | this._retrieveRecordDetailFunction = args.retrieveRecordDetailFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); |
40 | this._records = null; | 37 | this._records = null; |
41 | //this._directLogins = null; | 38 | //this._directLogins = null; |
42 | 39 | ||
43 | return this; | 40 | return this; |
44 | } | 41 | } |
45 | 42 | ||
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.Legacy, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 44 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.Legacy, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
48 | 45 | ||
49 | 'toString': function() { | 46 | 'toString': function() { |
50 | return "Clipperz.PM.DataModel.User.Header.Legacy"; | 47 | return "Clipperz.PM.DataModel.User.Header.Legacy"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'retrieveRecordDetailFunction': function () { | 52 | 'retrieveRecordDetailFunction': function () { |
56 | return this._retrieveRecordDetailFunction; | 53 | return this._retrieveRecordDetailFunction; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'getRecordKey': function (aRecordReference) { | 58 | 'getRecordKey': function (aRecordReference) { |
62 | var deferredResult; | 59 | var deferredResult; |
63 | 60 | ||
64 | deferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.getRecordKey", {trace:false}); | 61 | deferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.getRecordKey", {trace:false}); |
65 | deferredResult.addMethod(this, 'getRecordIndexData'); | 62 | deferredResult.addMethod(this, 'getRecordIndexData'); |
66 | deferredResult.addCallback(MochiKit.Base.itemgetter('key')) | 63 | deferredResult.addCallback(MochiKit.Base.itemgetter('key')) |
67 | deferredResult.callback(); | 64 | deferredResult.callback(); |
68 | 65 | ||
69 | return deferredResult; | 66 | return deferredResult; |
70 | }, | 67 | }, |
71 | 68 | ||
72 | //========================================================================= | 69 | //========================================================================= |
73 | 70 | ||
74 | 'getRecordIndexData': function (aRecordReference) { | 71 | 'getRecordIndexData': function (aRecordReference) { |
75 | return this.getValue('records.' + aRecordReference); | 72 | return this.getValue('records.' + aRecordReference); |
76 | }, | 73 | }, |
77 | 74 | ||
78 | 'updateRecordIndexData': function (aRecordReference, aKey, aValue) { | 75 | 'updateRecordIndexData': function (aRecordReference, aKey, aValue) { |
79 | return this.setValue('records.' + aRecordReference + "." + aKey, aValue); | 76 | return this.setValue('records.' + aRecordReference + "." + aKey, aValue); |
80 | }, | 77 | }, |
81 | 78 | ||
82 | //------------------------------------------------------------------------- | 79 | //------------------------------------------------------------------------- |
83 | 80 | ||
84 | 'getDirectLoginIndexData': function (aDirectLoginReference) { | 81 | 'getDirectLoginIndexData': function (aDirectLoginReference) { |
85 | return this.getValue('directLogins.' + aDirectLoginReference); | 82 | return this.getValue('directLogins.' + aDirectLoginReference); |
86 | }, | 83 | }, |
87 | 84 | ||
88 | 'setDirectLoginIndexData': function (aDirectLoginReference, aKey, aValue) { | 85 | 'setDirectLoginIndexData': function (aDirectLoginReference, aKey, aValue) { |
89 | return this.setValue('directLogins.' + aDirectLoginReference + '.' + aKey, aValue); | 86 | return this.setValue('directLogins.' + aDirectLoginReference + '.' + aKey, aValue); |
90 | }, | 87 | }, |
91 | 88 | ||
92 | 'removeDirectLoginIndexData': function (aDirectLoginReference) { | 89 | 'removeDirectLoginIndexData': function (aDirectLoginReference) { |
93 | return this.removeValue('directLogins.' + aDirectLoginReference); | 90 | return this.removeValue('directLogins.' + aDirectLoginReference); |
94 | }, | 91 | }, |
95 | 92 | ||
96 | //========================================================================= | 93 | //========================================================================= |
97 | 94 | ||
98 | 'records': function () { | 95 | 'records': function () { |
99 | vardeferredResult; | 96 | vardeferredResult; |
100 | var deferredLock; | 97 | var deferredLock; |
101 | 98 | ||
102 | deferredLock = this.getDeferredLockForKey('records'); | 99 | deferredLock = this.getDeferredLockForKey('records'); |
103 | 100 | ||
104 | deferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.records", {trace:false}); | 101 | deferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.records", {trace:false}); |
105 | deferredResult.acquireLock(deferredLock); | 102 | deferredResult.acquireLock(deferredLock); |
106 | deferredResult.addCallback(MochiKit.Base.bind(function () { | 103 | deferredResult.addCallback(MochiKit.Base.bind(function () { |
107 | var innerDeferredResult; | 104 | var innerDeferredResult; |
108 | 105 | ||
109 | if (this._records == null) { | 106 | if (this._records == null) { |
110 | innerDeferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.records <inner deferred>", {trace:false}); | 107 | innerDeferredResult = new Clipperz.Async.Deferred("User.Header.Legacy.records <inner deferred>", {trace:false}); |
111 | innerDeferredResult.collectResults({ | 108 | innerDeferredResult.collectResults({ |
112 | 'header': [ | 109 | 'header': [ |
113 | // MochiKit.Base.method(this, 'getObjectDataStore'), | 110 | // MochiKit.Base.method(this, 'getObjectDataStore'), |
114 | // MochiKit.Base.methodcaller('values') | 111 | // MochiKit.Base.methodcaller('values') |
115 | MochiKit.Base.method(this, 'values') | 112 | MochiKit.Base.method(this, 'values') |
116 | ], | 113 | ], |
117 | 'recordsStats': [ | 114 | 'recordsStats': [ |
118 | MochiKit.Base.method(this, 'getRemoteData'), | 115 | MochiKit.Base.method(this, 'getRemoteData'), |
119 | MochiKit.Base.itemgetter('recordsStats') | 116 | MochiKit.Base.itemgetter('recordsStats') |
120 | ] | 117 | ] |
121 | }); | 118 | }); |
122 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { | 119 | innerDeferredResult.addCallback(MochiKit.Base.bind(function (someObjectData) { |
123 | var reference; | 120 | var reference; |
124 | 121 | ||
125 | this._records = {}; | 122 | this._records = {}; |
126 | // this._directLogins = {}; | 123 | // this._directLogins = {}; |
127 | 124 | ||
128 | for (reference in someObjectData['header']['records']) { | 125 | for (reference in someObjectData['header']['records']) { |
129 | varrecord; | 126 | varrecord; |
130 | 127 | ||
131 | record = new Clipperz.PM.DataModel.Record({ | 128 | record = new Clipperz.PM.DataModel.Record({ |
132 | 'reference': reference, | 129 | 'reference': reference, |
133 | 'retrieveKeyFunction': MochiKit.Base.method(this, 'getRecordKey'), | 130 | 'retrieveKeyFunction': MochiKit.Base.method(this, 'getRecordKey'), |
134 | 'retrieveRemoteDataFunction':this.retrieveRecordDetailFunction(), | 131 | 'retrieveRemoteDataFunction':this.retrieveRecordDetailFunction(), |
135 | // 'encryptedDataKeypath': 'data', | 132 | // 'encryptedDataKeypath': 'data', |
136 | // 'encryptedVersionKeypath': 'version', | 133 | // 'encryptedVersionKeypath': 'version', |
137 | 134 | ||
138 | 'retrieveIndexDataFunction':MochiKit.Base.method(this, 'getRecordIndexData'), | 135 | 'retrieveIndexDataFunction':MochiKit.Base.method(this, 'getRecordIndexData'), |
139 | 'updateIndexDataFunction': MochiKit.Base.method(this, 'updateRecordIndexData'), | 136 | 'updateIndexDataFunction': MochiKit.Base.method(this, 'updateRecordIndexData'), |
140 | 'updateDate': someObjectData['recordsStats'][reference]['updateDate'], | 137 | 'updateDate': someObjectData['recordsStats'][reference]['updateDate'], |
141 | 138 | ||
142 | 'retrieveDirectLoginIndexDataFunction':MochiKit.Base.method(this, 'getDirectLoginIndexData'), | 139 | 'retrieveDirectLoginIndexDataFunction':MochiKit.Base.method(this, 'getDirectLoginIndexData'), |
143 | 'setDirectLoginIndexDataFunction': MochiKit.Base.method(this, 'setDirectLoginIndexData'), | 140 | 'setDirectLoginIndexDataFunction': MochiKit.Base.method(this, 'setDirectLoginIndexData'), |
144 | 'removeDirectLoginIndexDataFunction':MochiKit.Base.method(this, 'removeDirectLoginIndexData') | 141 | 'removeDirectLoginIndexDataFunction':MochiKit.Base.method(this, 'removeDirectLoginIndexData') |
145 | }); | 142 | }); |
146 | 143 | ||
147 | this._records[reference] = record; | 144 | this._records[reference] = record; |
148 | } | 145 | } |
149 | 146 | ||
150 | for (reference in someObjectData['header']['directLogins']) { | 147 | for (reference in someObjectData['header']['directLogins']) { |
151 | vardirectLogin; | 148 | vardirectLogin; |
152 | var record; | 149 | var record; |
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.OneTimePasswords.js b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.OneTimePasswords.js index 0ee8599..3528db6 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.OneTimePasswords.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.OneTimePasswords.js | |||
@@ -1,128 +1,125 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.User.Header.OneTimePasswords depends on Clipperz.PM.DataModel.User!"; | 27 | throw "Clipperz.PM.DataModel.User.Header.OneTimePasswords depends on Clipperz.PM.DataModel.User!"; |
31 | } | 28 | } |
32 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } | 29 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } |
33 | 30 | ||
34 | //----------------------------------------------------------------------------- | 31 | //----------------------------------------------------------------------------- |
35 | 32 | ||
36 | Clipperz.PM.DataModel.User.Header.OneTimePasswords = function(args) { | 33 | Clipperz.PM.DataModel.User.Header.OneTimePasswords = function(args) { |
37 | Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.constructor.apply(this, arguments); | 34 | Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.constructor.apply(this, arguments); |
38 | 35 | ||
39 | this._oneTimePasswords = null; | 36 | this._oneTimePasswords = null; |
40 | 37 | ||
41 | return this; | 38 | return this; |
42 | } | 39 | } |
43 | 40 | ||
44 | //----------------------------------------------------------------------------- | 41 | //----------------------------------------------------------------------------- |
45 | 42 | ||
46 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.OneTimePasswords, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 43 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.OneTimePasswords, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
47 | 44 | ||
48 | 'toString': function() { | 45 | 'toString': function() { |
49 | return "Clipperz.PM.DataModel.User.Header.OneTimePasswords"; | 46 | return "Clipperz.PM.DataModel.User.Header.OneTimePasswords"; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //------------------------------------------------------------------------- | 49 | //------------------------------------------------------------------------- |
53 | /* | 50 | /* |
54 | 'packData': function (someData) { //++ | 51 | 'packData': function (someData) { //++ |
55 | var result; | 52 | var result; |
56 | 53 | ||
57 | console.log(">>> OneTimePasswords.packData", someData); | 54 | console.log(">>> OneTimePasswords.packData", someData); |
58 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.packData.apply(this, arguments); | 55 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.packData.apply(this, arguments); |
59 | console.log("<<< OneTimePasswords.packData"); | 56 | console.log("<<< OneTimePasswords.packData"); |
60 | 57 | ||
61 | return result; | 58 | return result; |
62 | }, | 59 | }, |
63 | */ | 60 | */ |
64 | //------------------------------------------------------------------------- | 61 | //------------------------------------------------------------------------- |
65 | /* | 62 | /* |
66 | 'packRemoteData': function (someData) { | 63 | 'packRemoteData': function (someData) { |
67 | var result; | 64 | var result; |
68 | 65 | ||
69 | console.log(">>> OneTimePasswords.packRemoteData", someData); | 66 | console.log(">>> OneTimePasswords.packRemoteData", someData); |
70 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.packRemoteData.apply(this, arguments); | 67 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.packRemoteData.apply(this, arguments); |
71 | console.log("<<< OneTimePasswords.packRemoteData"); | 68 | console.log("<<< OneTimePasswords.packRemoteData"); |
72 | 69 | ||
73 | return result; | 70 | return result; |
74 | }, | 71 | }, |
75 | */ | 72 | */ |
76 | //------------------------------------------------------------------------- | 73 | //------------------------------------------------------------------------- |
77 | /* | 74 | /* |
78 | 'prepareRemoteDataWithKey': function (aKey) { | 75 | 'prepareRemoteDataWithKey': function (aKey) { |
79 | var result; | 76 | var result; |
80 | 77 | ||
81 | console.log(">>> OneTimePasswords.prepareRemoteDataWithKey"); | 78 | console.log(">>> OneTimePasswords.prepareRemoteDataWithKey"); |
82 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.prepareRemoteDataWithKey.apply(this, arguments); | 79 | result = Clipperz.PM.DataModel.User.Header.OneTimePasswords.superclass.prepareRemoteDataWithKey.apply(this, arguments); |
83 | console.log("<<< OneTimePasswords.prepareRemoteDataWithKey"); | 80 | console.log("<<< OneTimePasswords.prepareRemoteDataWithKey"); |
84 | 81 | ||
85 | return result; | 82 | return result; |
86 | }, | 83 | }, |
87 | */ | 84 | */ |
88 | //========================================================================= | 85 | //========================================================================= |
89 | 86 | ||
90 | 'oneTimePasswords': function () { | 87 | 'oneTimePasswords': function () { |
91 | vardeferredResult; | 88 | vardeferredResult; |
92 | 89 | ||
93 | deferredResult = new Clipperz.Async.Deferred("User.Header.OneTimePasswords.oneTimePasswords", {trace:false}); | 90 | deferredResult = new Clipperz.Async.Deferred("User.Header.OneTimePasswords.oneTimePasswords", {trace:false}); |
94 | if (this._oneTimePasswords == null) { | 91 | if (this._oneTimePasswords == null) { |
95 | deferredResult.addMethod(this, 'values') | 92 | deferredResult.addMethod(this, 'values') |
96 | deferredResult.addCallback(MochiKit.Base.bind(function (someData) { | 93 | deferredResult.addCallback(MochiKit.Base.bind(function (someData) { |
97 | varotpKey; | 94 | varotpKey; |
98 | 95 | ||
99 | this._oneTimePasswords = {}; | 96 | this._oneTimePasswords = {}; |
100 | 97 | ||
101 | for (otpKey in someData) { | 98 | for (otpKey in someData) { |
102 | var otp; | 99 | var otp; |
103 | var otpParameters; | 100 | var otpParameters; |
104 | 101 | ||
105 | otpParameters = Clipperz.Base.deepClone(someData[otpKey]); | 102 | otpParameters = Clipperz.Base.deepClone(someData[otpKey]); |
106 | otpParameters['reference'] = otpKey; | 103 | otpParameters['reference'] = otpKey; |
107 | 104 | ||
108 | otp = new Clipperz.PM.DataModel.OneTimePassword(otpParameters); | 105 | otp = new Clipperz.PM.DataModel.OneTimePassword(otpParameters); |
109 | this._oneTimePasswords[otpKey] = otp; | 106 | this._oneTimePasswords[otpKey] = otp; |
110 | } | 107 | } |
111 | 108 | ||
112 | return this._oneTimePasswords; | 109 | return this._oneTimePasswords; |
113 | 110 | ||
114 | }, this)); | 111 | }, this)); |
115 | deferredResult.callback(); | 112 | deferredResult.callback(); |
116 | } else { | 113 | } else { |
117 | deferredResult = MochiKit.Async.succeed(this._oneTimePasswords); | 114 | deferredResult = MochiKit.Async.succeed(this._oneTimePasswords); |
118 | } | 115 | } |
119 | 116 | ||
120 | return deferredResult; | 117 | return deferredResult; |
121 | }, | 118 | }, |
122 | 119 | ||
123 | //========================================================================= | 120 | //========================================================================= |
124 | __syntaxFix__: "syntax fix" | 121 | __syntaxFix__: "syntax fix" |
125 | }); | 122 | }); |
126 | 123 | ||
127 | //----------------------------------------------------------------------------- | 124 | //----------------------------------------------------------------------------- |
128 | 125 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Preferences.js b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Preferences.js index 91b981e..b164889 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Preferences.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.Preferences.js | |||
@@ -1,53 +1,50 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.User.Header.Preferences depends on Clipperz.PM.DataModel.User!"; | 27 | throw "Clipperz.PM.DataModel.User.Header.Preferences depends on Clipperz.PM.DataModel.User!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } | 30 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } |
34 | 31 | ||
35 | Clipperz.PM.DataModel.User.Header.Preferences = function(args) { | 32 | Clipperz.PM.DataModel.User.Header.Preferences = function(args) { |
36 | Clipperz.PM.DataModel.User.Header.Preferences.superclass.constructor.apply(this, arguments); | 33 | Clipperz.PM.DataModel.User.Header.Preferences.superclass.constructor.apply(this, arguments); |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.Preferences, Clipperz.PM.DataModel.EncryptedRemoteObject, { | 39 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.Preferences, Clipperz.PM.DataModel.EncryptedRemoteObject, { |
43 | 40 | ||
44 | 'toString': function() { | 41 | 'toString': function() { |
45 | return "Clipperz.PM.DataModel.User.Header.Preferences"; | 42 | return "Clipperz.PM.DataModel.User.Header.Preferences"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | //========================================================================= | 46 | //========================================================================= |
50 | __syntaxFix__: "syntax fix" | 47 | __syntaxFix__: "syntax fix" |
51 | }); | 48 | }); |
52 | 49 | ||
53 | 50 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.RecordIndex.js b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.RecordIndex.js index 6ba58a8..f77ea80 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.RecordIndex.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/User.Header.RecordIndex.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.DataModel.User) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.DataModel.User.Header.RecordIndex depends on Clipperz.PM.DataModel.User!"; | 27 | throw "Clipperz.PM.DataModel.User.Header.RecordIndex depends on Clipperz.PM.DataModel.User!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } | 30 | if (typeof(Clipperz.PM.DataModel.User.Header) == 'undefined') { Clipperz.PM.DataModel.User.Header = {}; } |
34 | 31 | ||
35 | Clipperz.PM.DataModel.User.Header.RecordIndex = function(args) { | 32 | Clipperz.PM.DataModel.User.Header.RecordIndex = function(args) { |
36 | Clipperz.PM.DataModel.User.Header.RecordIndex.superclass.constructor.apply(this, arguments); | 33 | Clipperz.PM.DataModel.User.Header.RecordIndex.superclass.constructor.apply(this, arguments); |
37 | 34 | ||
38 | //console.log("NEW Clipperz.PM.DataModel.User.Header.RecordIndex", args); | 35 | //console.log("NEW Clipperz.PM.DataModel.User.Header.RecordIndex", args); |
39 | this._recordsData = new Clipperz.PM.DataModel.EncryptedRemoteObject({ | 36 | this._recordsData = new Clipperz.PM.DataModel.EncryptedRemoteObject({ |
40 | 'name':'recordsData', | 37 | 'name':'recordsData', |
41 | 'retrieveKeyFunction': args.retrieveKeyFunction, | 38 | 'retrieveKeyFunction': args.retrieveKeyFunction, |
42 | 'remoteData': { | 39 | 'remoteData': { |
43 | 'data': args.recordsData['data'], | 40 | 'data': args.recordsData['data'], |
44 | 'version': args.encryptedDataVersion, | 41 | 'version': args.encryptedDataVersion, |
45 | 'recordsStats': args.recordsStats | 42 | 'recordsStats': args.recordsStats |
46 | }//, | 43 | }//, |
47 | // 'encryptedDataKeypath': 'data', | 44 | // 'encryptedDataKeypath': 'data', |
48 | // 'encryptedVersionKeypath': 'version' | 45 | // 'encryptedVersionKeypath': 'version' |
49 | }); | 46 | }); |
50 | 47 | ||
51 | this._directLoginsData = new Clipperz.PM.DataModel.EncryptedRemoteObject({ | 48 | this._directLoginsData = new Clipperz.PM.DataModel.EncryptedRemoteObject({ |
52 | 'name':'directLoginsData', | 49 | 'name':'directLoginsData', |
53 | 'retrieveKeyFunction': args.retrieveKeyFunction, | 50 | 'retrieveKeyFunction': args.retrieveKeyFunction, |
54 | 'remoteData': { | 51 | 'remoteData': { |
55 | 'data': args.directLoginsData['data'], | 52 | 'data': args.directLoginsData['data'], |
56 | 'version': args.encryptedDataVersion | 53 | 'version': args.encryptedDataVersion |
57 | }//, | 54 | }//, |
58 | // 'encryptedDataKeypath': 'data', | 55 | // 'encryptedDataKeypath': 'data', |
59 | // 'encryptedVersionKeypath': 'version' | 56 | // 'encryptedVersionKeypath': 'version' |
60 | }); | 57 | }); |
61 | 58 | ||
62 | this._lock = new MochiKit.Async.DeferredLock(); | 59 | this._lock = new MochiKit.Async.DeferredLock(); |
63 | this._transientState = null; | 60 | this._transientState = null; |
64 | 61 | ||
65 | this._retrieveRecordDetailFunction = args.retrieveRecordDetailFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); | 62 | this._retrieveRecordDetailFunction = args.retrieveRecordDetailFunction|| Clipperz.Base.exception.raise('MandatoryParameter'); |
66 | this._recordsIndex = args.recordsData['index'] || Clipperz.Base.exception.raise('MandatoryParameter'); | 63 | this._recordsIndex = args.recordsData['index'] || Clipperz.Base.exception.raise('MandatoryParameter'); |
67 | this._directLoginsIndex = args.directLoginsData['index']|| Clipperz.Base.exception.raise('MandatoryParameter'); | 64 | this._directLoginsIndex = args.directLoginsData['index']|| Clipperz.Base.exception.raise('MandatoryParameter'); |
68 | 65 | ||
69 | this._records = null; | 66 | this._records = null; |
70 | 67 | ||
71 | return this; | 68 | return this; |
72 | } | 69 | } |
73 | 70 | ||
74 | 71 | ||
75 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.RecordIndex, Object, { | 72 | Clipperz.Base.extend(Clipperz.PM.DataModel.User.Header.RecordIndex, Object, { |
76 | 73 | ||
77 | 'toString': function() { | 74 | 'toString': function() { |
78 | return "Clipperz.PM.DataModel.User.Header.RecordIndex"; | 75 | return "Clipperz.PM.DataModel.User.Header.RecordIndex"; |
79 | }, | 76 | }, |
80 | 77 | ||
81 | //------------------------------------------------------------------------- | 78 | //------------------------------------------------------------------------- |
82 | 79 | ||
83 | 'retrieveRecordDetailFunction': function () { | 80 | 'retrieveRecordDetailFunction': function () { |
84 | return this._retrieveRecordDetailFunction; | 81 | return this._retrieveRecordDetailFunction; |
85 | }, | 82 | }, |
86 | 83 | ||
87 | //------------------------------------------------------------------------- | 84 | //------------------------------------------------------------------------- |
88 | 85 | ||
89 | 'recordsIndex': function () { | 86 | 'recordsIndex': function () { |
90 | return this._recordsIndex; | 87 | return this._recordsIndex; |
91 | }, | 88 | }, |
92 | 89 | ||
93 | 'recordsData': function () { | 90 | 'recordsData': function () { |
94 | return this._recordsData; | 91 | return this._recordsData; |
95 | }, | 92 | }, |
96 | 93 | ||
97 | //------------------------------------------------------------------------- | 94 | //------------------------------------------------------------------------- |
98 | 95 | ||
99 | 'directLoginsIndex': function () { | 96 | 'directLoginsIndex': function () { |
100 | return this._directLoginsIndex; | 97 | return this._directLoginsIndex; |
101 | }, | 98 | }, |
102 | 99 | ||
103 | 'directLoginsData': function () { | 100 | 'directLoginsData': function () { |
104 | return this._directLoginsData; | 101 | return this._directLoginsData; |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //------------------------------------------------------------------------- | 104 | //------------------------------------------------------------------------- |
108 | 105 | ||
109 | 'lock': function () { | 106 | 'lock': function () { |
110 | return this._lock; | 107 | return this._lock; |
111 | }, | 108 | }, |
112 | 109 | ||
113 | //------------------------------------------------------------------------- | 110 | //------------------------------------------------------------------------- |
114 | 111 | ||
115 | 'transientState': function () { | 112 | 'transientState': function () { |
116 | if (this._transientState == null) { | 113 | if (this._transientState == null) { |
117 | this._transientState = new Clipperz.KeyValueObjectStore(/*{'name':'User.Header.RecordIndex.transientState [1]'}*/); | 114 | this._transientState = new Clipperz.KeyValueObjectStore(/*{'name':'User.Header.RecordIndex.transientState [1]'}*/); |
118 | } | 115 | } |
119 | 116 | ||
120 | return this._transientState; | 117 | return this._transientState; |
121 | }, | 118 | }, |
122 | 119 | ||
123 | 'resetTransientState': function (isCommitting) { | 120 | 'resetTransientState': function (isCommitting) { |
124 | //console.log("######## UserHeaderRecordIndex - resetTransientState", Clipperz.Base.deepClone(this._transientState)); | 121 | //console.log("######## UserHeaderRecordIndex - resetTransientState", Clipperz.Base.deepClone(this._transientState)); |
125 | if (this._transientState != null) { | 122 | if (this._transientState != null) { |
126 | this._transientState.removeAllData(); | 123 | this._transientState.removeAllData(); |
127 | } | 124 | } |
128 | 125 | ||
129 | this._transientState = null; | 126 | this._transientState = null; |
130 | }, | 127 | }, |
131 | 128 | ||
132 | //------------------------------------------------------------------------- | 129 | //------------------------------------------------------------------------- |
133 | 130 | ||
134 | 'getRecordKey': function (aRecordReference) { | 131 | 'getRecordKey': function (aRecordReference) { |
135 | return Clipperz.Async.callbacks("User.Header.RecordIndex.getRecordKey", [ | 132 | return Clipperz.Async.callbacks("User.Header.RecordIndex.getRecordKey", [ |
136 | MochiKit.Base.method(this, 'getRecordIndexData', aRecordReference), | 133 | MochiKit.Base.method(this, 'getRecordIndexData', aRecordReference), |
137 | MochiKit.Base.itemgetter('key') | 134 | MochiKit.Base.itemgetter('key') |
138 | ], {trace:false}); | 135 | ], {trace:false}); |
139 | }, | 136 | }, |
140 | 137 | ||
141 | 'setRecordKey': function (aRecordReference, aValue) { | 138 | 'setRecordKey': function (aRecordReference, aValue) { |
142 | return this.updateRecordIndexData(aRecordReference, 'key', aValue); | 139 | return this.updateRecordIndexData(aRecordReference, 'key', aValue); |
143 | }, | 140 | }, |
144 | 141 | ||
145 | //------------------------------------------------------------------------- | 142 | //------------------------------------------------------------------------- |
146 | 143 | ||
147 | 'getRecordIndexData': function (aRecordReference) { | 144 | 'getRecordIndexData': function (aRecordReference) { |
148 | return this.recordsData().getValue(this.recordsIndex()[aRecordReference]); | 145 | return this.recordsData().getValue(this.recordsIndex()[aRecordReference]); |
149 | }, | 146 | }, |
150 | 147 | ||
151 | //......................................................................... | 148 | //......................................................................... |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/DataModel/User.js b/frontend/gamma/js/Clipperz/PM/DataModel/User.js index e8afa97..72d4006 100644 --- a/frontend/gamma/js/Clipperz/PM/DataModel/User.js +++ b/frontend/gamma/js/Clipperz/PM/DataModel/User.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } | 28 | if (typeof(Clipperz.PM.DataModel) == 'undefined') { Clipperz.PM.DataModel = {}; } |
32 | 29 | ||
33 | 30 | ||
34 | //############################################################################# | 31 | //############################################################################# |
35 | 32 | ||
36 | Clipperz.PM.DataModel.User = function (args) { | 33 | Clipperz.PM.DataModel.User = function (args) { |
37 | args = args || {}; | 34 | args = args || {}; |
38 | 35 | ||
39 | Clipperz.PM.DataModel.User.superclass.constructor.apply(this, arguments); | 36 | Clipperz.PM.DataModel.User.superclass.constructor.apply(this, arguments); |
40 | 37 | ||
41 | this._username = args.username || null; | 38 | this._username = args.username || null; |
42 | this._getPassphraseFunction = args.getPassphraseFunction || null; | 39 | this._getPassphraseFunction = args.getPassphraseFunction || null; |
43 | 40 | ||
44 | this._data = null; | 41 | this._data = null; |
45 | 42 | ||
46 | this._connection = null; | 43 | this._connection = null; |
47 | this._connectionVersion = 'current'; | 44 | this._connectionVersion = 'current'; |
48 | 45 | ||
49 | this._serverData = null; | 46 | this._serverData = null; |
50 | this._serverLockValue = null; | 47 | this._serverLockValue = null; |
51 | this._transientState = null; | 48 | this._transientState = null; |
52 | 49 | ||
53 | this._deferredLocks = { | 50 | this._deferredLocks = { |
54 | 'passphrase': new MochiKit.Async.DeferredLock(), | 51 | 'passphrase': new MochiKit.Async.DeferredLock(), |
55 | 'serverData': new MochiKit.Async.DeferredLock(), | 52 | 'serverData': new MochiKit.Async.DeferredLock(), |
56 | // 'recordsIndex': new MochiKit.Async.DeferredLock(), | 53 | // 'recordsIndex': new MochiKit.Async.DeferredLock(), |
57 | // 'directLoginsIndex':new MochiKit.Async.DeferredLock() | 54 | // 'directLoginsIndex':new MochiKit.Async.DeferredLock() |
58 | // 'preferences': new MochiKit.Async.DeferredLock() | 55 | // 'preferences': new MochiKit.Async.DeferredLock() |
59 | // 'oneTimePasswords': new MochiKit.Async.DeferredLock() | 56 | // 'oneTimePasswords': new MochiKit.Async.DeferredLock() |
60 | '__syntaxFix__': 'syntax fix' | 57 | '__syntaxFix__': 'syntax fix' |
61 | }; | 58 | }; |
62 | 59 | ||
63 | return this; | 60 | return this; |
64 | } | 61 | } |
65 | 62 | ||
66 | Clipperz.Base.extend(Clipperz.PM.DataModel.User, Object, { | 63 | Clipperz.Base.extend(Clipperz.PM.DataModel.User, Object, { |
67 | 64 | ||
68 | 'toString': function () { | 65 | 'toString': function () { |
69 | return "Clipperz.PM.DataModel.User - " + this.username(); | 66 | return "Clipperz.PM.DataModel.User - " + this.username(); |
70 | }, | 67 | }, |
71 | 68 | ||
72 | //------------------------------------------------------------------------- | 69 | //------------------------------------------------------------------------- |
73 | 70 | ||
74 | 'username': function () { | 71 | 'username': function () { |
75 | return this._username; | 72 | return this._username; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | 'setUsername': function (aValue) { | 75 | 'setUsername': function (aValue) { |
79 | this._username = aValue; | 76 | this._username = aValue; |
80 | }, | 77 | }, |
81 | 78 | ||
82 | //------------------------------------------------------------------------- | 79 | //------------------------------------------------------------------------- |
83 | 80 | ||
84 | 'displayName': function() { | 81 | 'displayName': function() { |
85 | return "" + this.username() + ""; | 82 | return "" + this.username() + ""; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //------------------------------------------------------------------------- | 85 | //------------------------------------------------------------------------- |
89 | 86 | ||
90 | 'data': function () { | 87 | 'data': function () { |
91 | if (this._data == null) { | 88 | if (this._data == null) { |
92 | this._data = new Clipperz.KeyValueObjectStore(/*{'name':'User.data [1]'}*/); | 89 | this._data = new Clipperz.KeyValueObjectStore(/*{'name':'User.data [1]'}*/); |
93 | }; | 90 | }; |
94 | 91 | ||
95 | return this._data; | 92 | return this._data; |
96 | }, | 93 | }, |
97 | 94 | ||
98 | //------------------------------------------------------------------------- | 95 | //------------------------------------------------------------------------- |
99 | 96 | ||
100 | 'serverLockValue': function () { | 97 | 'serverLockValue': function () { |
101 | return this._serverLockValue; | 98 | return this._serverLockValue; |
102 | }, | 99 | }, |
103 | 100 | ||
104 | 'setServerLockValue': function (aValue) { | 101 | 'setServerLockValue': function (aValue) { |
105 | this._serverLockValue = aValue; | 102 | this._serverLockValue = aValue; |
106 | }, | 103 | }, |
107 | 104 | ||
108 | //------------------------------------------------------------------------- | 105 | //------------------------------------------------------------------------- |
109 | 106 | ||
110 | 'transientState': function () { | 107 | 'transientState': function () { |
111 | if (this._transientState == null) { | 108 | if (this._transientState == null) { |
112 | this._transientState = {} | 109 | this._transientState = {} |
113 | } | 110 | } |
114 | 111 | ||
115 | return this._transientState; | 112 | return this._transientState; |
116 | }, | 113 | }, |
117 | 114 | ||
118 | 'resetTransientState': function (isCommitting) { | 115 | 'resetTransientState': function (isCommitting) { |
119 | this._transientState = null; | 116 | this._transientState = null; |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //------------------------------------------------------------------------- | 119 | //------------------------------------------------------------------------- |
123 | 120 | ||
124 | 'deferredLockForSection': function(aSectionName) { | 121 | 'deferredLockForSection': function(aSectionName) { |
125 | return this._deferredLocks[aSectionName]; | 122 | return this._deferredLocks[aSectionName]; |
126 | }, | 123 | }, |
127 | 124 | ||
128 | //------------------------------------------------------------------------- | 125 | //------------------------------------------------------------------------- |
129 | 126 | ||
130 | 'getPassphrase': function() { | 127 | 'getPassphrase': function() { |
131 | var deferredResult; | 128 | var deferredResult; |
132 | 129 | ||
133 | deferredResult = new Clipperz.Async.Deferred("User.getPassphrase", {trace:false}); | 130 | deferredResult = new Clipperz.Async.Deferred("User.getPassphrase", {trace:false}); |
134 | deferredResult.acquireLock(this.deferredLockForSection('passphrase')); | 131 | deferredResult.acquireLock(this.deferredLockForSection('passphrase')); |
135 | deferredResult.addMethod(this.data(), 'deferredGetOrSet', 'passphrase', this.getPassphraseFunction()); | 132 | deferredResult.addMethod(this.data(), 'deferredGetOrSet', 'passphrase', this.getPassphraseFunction()); |
136 | deferredResult.releaseLock(this.deferredLockForSection('passphrase')); | 133 | deferredResult.releaseLock(this.deferredLockForSection('passphrase')); |
137 | deferredResult.callback(); | 134 | deferredResult.callback(); |
138 | 135 | ||
139 | return deferredResult; | 136 | return deferredResult; |
140 | }, | 137 | }, |
141 | 138 | ||
142 | 'getPassphraseFunction': function () { | 139 | 'getPassphraseFunction': function () { |
143 | return this._getPassphraseFunction; | 140 | return this._getPassphraseFunction; |
144 | }, | 141 | }, |
145 | 142 | ||
146 | //------------------------------------------------------------------------- | 143 | //------------------------------------------------------------------------- |
147 | 144 | ||
148 | 'getCredentials': function () { | 145 | 'getCredentials': function () { |
149 | return Clipperz.Async.collectResults("User; get username and passphrase", { | 146 | return Clipperz.Async.collectResults("User; get username and passphrase", { |
150 | 'username': MochiKit.Base.method(this, 'username'), | 147 | 'username': MochiKit.Base.method(this, 'username'), |
151 | 'password': MochiKit.Base.method(this, 'getPassphrase') | 148 | 'password': MochiKit.Base.method(this, 'getPassphrase') |
152 | }, {trace:false})(); | 149 | }, {trace:false})(); |
diff --git a/frontend/gamma/js/Clipperz/PM/Date.js b/frontend/gamma/js/Clipperz/PM/Date.js index a131357..96a2700 100644 --- a/frontend/gamma/js/Clipperz/PM/Date.js +++ b/frontend/gamma/js/Clipperz/PM/Date.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; } | 28 | if (typeof(Clipperz.PM.Date) == 'undefined') { Clipperz.PM.Date = {}; } |
32 | 29 | ||
33 | Clipperz.PM.Date.VERSION = "0.1"; | 30 | Clipperz.PM.Date.VERSION = "0.1"; |
34 | Clipperz.PM.Date.NAME = "Clipperz.PM.Date"; | 31 | Clipperz.PM.Date.NAME = "Clipperz.PM.Date"; |
35 | 32 | ||
36 | MochiKit.Base.update(Clipperz.PM.Date, { | 33 | MochiKit.Base.update(Clipperz.PM.Date, { |
37 | 34 | ||
38 | '__repr__': function () { | 35 | '__repr__': function () { |
39 | return "[" + this.NAME + " " + this.VERSION + "]"; | 36 | return "[" + this.NAME + " " + this.VERSION + "]"; |
40 | }, | 37 | }, |
41 | 38 | ||
42 | //------------------------------------------------------------------------- | 39 | //------------------------------------------------------------------------- |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return this.__repr__(); | 42 | return this.__repr__(); |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'locale': function() { | 47 | 'locale': function() { |
51 | return { | 48 | return { |
52 | 'amDesignation':Clipperz.PM.Strings.getValue('calendarStrings.amDesignation'), | 49 | 'amDesignation':Clipperz.PM.Strings.getValue('calendarStrings.amDesignation'), |
53 | 'pmDesignation':Clipperz.PM.Strings.getValue('calendarStrings.pmDesignation'), | 50 | 'pmDesignation':Clipperz.PM.Strings.getValue('calendarStrings.pmDesignation'), |
54 | 'days': Clipperz.PM.Strings.getValue('calendarStrings.days'), | 51 | 'days': Clipperz.PM.Strings.getValue('calendarStrings.days'), |
55 | 'shortDays': Clipperz.PM.Strings.getValue('calendarStrings.shortDays'), | 52 | 'shortDays': Clipperz.PM.Strings.getValue('calendarStrings.shortDays'), |
56 | 'shortMonths': Clipperz.PM.Strings.getValue('calendarStrings.shortMonths'), | 53 | 'shortMonths': Clipperz.PM.Strings.getValue('calendarStrings.shortMonths'), |
57 | 'months': Clipperz.PM.Strings.getValue('calendarStrings.months') | 54 | 'months': Clipperz.PM.Strings.getValue('calendarStrings.months') |
58 | } | 55 | } |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //========================================================================= | 58 | //========================================================================= |
62 | /* | 59 | /* |
63 | 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) { | 60 | 'formatDateWithPHPLikeTemplate': function(aDate, aTemplate) { |
64 | return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 61 | return Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
65 | }, | 62 | }, |
66 | 63 | ||
67 | 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) { | 64 | 'parseDateWithPHPLikeTemplate': function(aDate, aTemplate) { |
68 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 65 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
69 | }, | 66 | }, |
70 | 67 | ||
71 | //========================================================================= | 68 | //========================================================================= |
72 | 69 | ||
73 | 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) { | 70 | 'formatDateWithJavaLikeTemplate': function(aDate, aTemplate) { |
74 | return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 71 | return Clipperz.Date.formatDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
75 | }, | 72 | }, |
76 | 73 | ||
77 | 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) { | 74 | 'parseDateWithJavaLikeTemplate': function(aDate, aTemplate) { |
78 | return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 75 | return Clipperz.Date.parseDateWithJavaLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
79 | }, | 76 | }, |
80 | */ | 77 | */ |
81 | //========================================================================= | 78 | //========================================================================= |
82 | 79 | ||
83 | 'formatWithTemplate': function (aTemplate, aDate) { | 80 | 'formatWithTemplate': function (aTemplate, aDate) { |
84 | return Clipperz.PM.Date.formatDateWithTemplate(aDate, aTemplate); | 81 | return Clipperz.PM.Date.formatDateWithTemplate(aDate, aTemplate); |
85 | }, | 82 | }, |
86 | 83 | ||
87 | 'formatDateWithTemplate': function(aDate, aTemplate) { | 84 | 'formatDateWithTemplate': function(aDate, aTemplate) { |
88 | var result; | 85 | var result; |
89 | 86 | ||
90 | if (aDate == null) { | 87 | if (aDate == null) { |
91 | result = "" | 88 | result = "" |
92 | } else { | 89 | } else { |
93 | result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); | 90 | result = Clipperz.Date.formatDateWithPHPLikeTemplateAndLocale(aDate, aTemplate, Clipperz.PM.Date.locale()); |
94 | }; | 91 | }; |
95 | 92 | ||
96 | return result; | 93 | return result; |
97 | }, | 94 | }, |
98 | 95 | ||
99 | 'parseDateWithTemplate': function(aValue, aTemplate) { | 96 | 'parseDateWithTemplate': function(aValue, aTemplate) { |
100 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale()); | 97 | return Clipperz.Date.parseDateWithPHPTemplateAndLocale(aValue, aTemplate, Clipperz.PM.Date.locale()); |
101 | }, | 98 | }, |
102 | 99 | ||
103 | //========================================================================= | 100 | //========================================================================= |
104 | 101 | ||
105 | 'formatDateWithUTCFormat': function(aDate) { | 102 | 'formatDateWithUTCFormat': function(aDate) { |
106 | return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale()); | 103 | return Clipperz.Date.formatDateWithUTCFormatAndLocale(aDate, Clipperz.PM.Date.locale()); |
107 | }, | 104 | }, |
108 | 105 | ||
109 | 'parseDateWithUTCFormat': function(aValue) { | 106 | 'parseDateWithUTCFormat': function(aValue) { |
110 | var result; | 107 | var result; |
111 | 108 | ||
112 | if (aValue == null) { | 109 | if (aValue == null) { |
113 | result = null; | 110 | result = null; |
114 | } else { | 111 | } else { |
115 | result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale()); | 112 | result = Clipperz.Date.parseDateWithUTCFormatAndLocale(aValue, Clipperz.PM.Date.locale()); |
116 | } | 113 | } |
117 | 114 | ||
118 | return result; | 115 | return result; |
119 | }, | 116 | }, |
120 | 117 | ||
121 | //========================================================================= | 118 | //========================================================================= |
122 | 119 | ||
123 | 'getElapsedTimeDescription': function(aDate) { | 120 | 'getElapsedTimeDescription': function(aDate) { |
124 | var result; | 121 | var result; |
125 | 122 | ||
126 | result = "" | 123 | result = "" |
127 | 124 | ||
128 | if (aDate != null) { | 125 | if (aDate != null) { |
129 | var now; | 126 | var now; |
130 | var elapsedTime; | 127 | var elapsedTime; |
131 | 128 | ||
132 | var millisencondsInAMinute; | 129 | var millisencondsInAMinute; |
133 | var millisencondsInAnHour; | 130 | var millisencondsInAnHour; |
134 | var millisencondsInADay; | 131 | var millisencondsInADay; |
135 | var millisencondsInAWeek; | 132 | var millisencondsInAWeek; |
136 | var millisencondsInAMonth; | 133 | var millisencondsInAMonth; |
137 | 134 | ||
138 | now = new Date(); | 135 | now = new Date(); |
139 | elapsedTime = now.getTime() - aDate.getTime(); | 136 | elapsedTime = now.getTime() - aDate.getTime(); |
140 | 137 | ||
141 | millisencondsInAMinute = 60 * 1000; | 138 | millisencondsInAMinute = 60 * 1000; |
142 | millisencondsInAnHour = millisencondsInAMinute * 60; | 139 | millisencondsInAnHour = millisencondsInAMinute * 60; |
143 | millisencondsInADay = millisencondsInAnHour * 24; | 140 | millisencondsInADay = millisencondsInAnHour * 24; |
144 | millisencondsInAWeek = millisencondsInADay * 7; | 141 | millisencondsInAWeek = millisencondsInADay * 7; |
145 | millisencondsInAMonth = millisencondsInAWeek * 5; | 142 | millisencondsInAMonth = millisencondsInAWeek * 5; |
146 | 143 | ||
147 | if ((elapsedTime / millisencondsInAMonth) > 1) { | 144 | if ((elapsedTime / millisencondsInAMonth) > 1) { |
148 | result = Clipperz.PM.Strings.getValue('elapsedTimeDescriptions.MORE_THAN_A_MONTH_AGO'); | 145 | result = Clipperz.PM.Strings.getValue('elapsedTimeDescriptions.MORE_THAN_A_MONTH_AGO'); |
149 | } else if ((elapsedTime / millisencondsInAWeek) > 1) { | 146 | } else if ((elapsedTime / millisencondsInAWeek) > 1) { |
150 | var elapsedWeeks; | 147 | var elapsedWeeks; |
151 | 148 | ||
152 | elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek)); | 149 | elapsedWeeks = Math.floor((elapsedTime / millisencondsInAWeek)); |
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy.js b/frontend/gamma/js/Clipperz/PM/Proxy.js index d90bcb7..190bffd 100644 --- a/frontend/gamma/js/Clipperz/PM/Proxy.js +++ b/frontend/gamma/js/Clipperz/PM/Proxy.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //============================================================================= | 29 | //============================================================================= |
33 | 30 | ||
34 | Clipperz.PM.Proxy = function(args) { | 31 | Clipperz.PM.Proxy = function(args) { |
35 | args = args || {}; | 32 | args = args || {}; |
36 | 33 | ||
37 | this._shouldPayTolls = args.shouldPayTolls || false; | 34 | this._shouldPayTolls = args.shouldPayTolls || false; |
38 | 35 | ||
39 | this._tolls = { | 36 | this._tolls = { |
40 | 'CONNECT':[], | 37 | 'CONNECT':[], |
41 | 'REGISTER':[], | 38 | 'REGISTER':[], |
42 | 'MESSAGE':[] | 39 | 'MESSAGE':[] |
43 | }; | 40 | }; |
44 | 41 | ||
45 | if (args.isDefault === true) { | 42 | if (args.isDefault === true) { |
46 | Clipperz.PM.Proxy.defaultProxy = this; | 43 | Clipperz.PM.Proxy.defaultProxy = this; |
47 | } | 44 | } |
48 | 45 | ||
49 | return this; | 46 | return this; |
50 | } | 47 | } |
51 | 48 | ||
52 | Clipperz.PM.Proxy.prototype = MochiKit.Base.update(null, { | 49 | Clipperz.PM.Proxy.prototype = MochiKit.Base.update(null, { |
53 | 50 | ||
54 | 'toString': function() { | 51 | 'toString': function() { |
55 | return "Clipperz.PM.Proxy"; | 52 | return "Clipperz.PM.Proxy"; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | //========================================================================= | 55 | //========================================================================= |
59 | 56 | ||
60 | 'shouldPayTolls': function() { | 57 | 'shouldPayTolls': function() { |
61 | return this._shouldPayTolls; | 58 | return this._shouldPayTolls; |
62 | }, | 59 | }, |
63 | 60 | ||
64 | //------------------------------------------------------------------------- | 61 | //------------------------------------------------------------------------- |
65 | 62 | ||
66 | 'tolls': function() { | 63 | 'tolls': function() { |
67 | return this._tolls; | 64 | return this._tolls; |
68 | }, | 65 | }, |
69 | 66 | ||
70 | //------------------------------------------------------------------------- | 67 | //------------------------------------------------------------------------- |
71 | 68 | ||
72 | 'payToll': function(aRequestType, someParameters) { | 69 | 'payToll': function(aRequestType, someParameters) { |
73 | vardeferredResult; | 70 | vardeferredResult; |
74 | 71 | ||
75 | //console.log(">>> Proxy.payToll", aRequestType, someParameters); | 72 | //console.log(">>> Proxy.payToll", aRequestType, someParameters); |
76 | if (this.shouldPayTolls()) { | 73 | if (this.shouldPayTolls()) { |
77 | deferredResult = new Clipperz.Async.Deferred("Proxy.payToll", {trace:false}); | 74 | deferredResult = new Clipperz.Async.Deferred("Proxy.payToll", {trace:false}); |
78 | 75 | ||
79 | if (this.tolls()[aRequestType].length == 0) { | 76 | if (this.tolls()[aRequestType].length == 0) { |
80 | deferredResult.addMethod(this, 'sendMessage', 'knock', {requestType:aRequestType}); | 77 | deferredResult.addMethod(this, 'sendMessage', 'knock', {requestType:aRequestType}); |
81 | deferredResult.addMethod(this, 'setTollCallback'); | 78 | deferredResult.addMethod(this, 'setTollCallback'); |
82 | } | 79 | } |
83 | deferredResult.addMethod(this.tolls()[aRequestType], 'pop'); | 80 | deferredResult.addMethod(this.tolls()[aRequestType], 'pop'); |
84 | deferredResult.addCallback(MochiKit.Base.methodcaller('deferredPay')); | 81 | deferredResult.addCallback(MochiKit.Base.methodcaller('deferredPay')); |
85 | deferredResult.addCallback(function(aToll) { | 82 | deferredResult.addCallback(function(aToll) { |
86 | var result; | 83 | var result; |
87 | 84 | ||
88 | result = { | 85 | result = { |
89 | parameters: someParameters, | 86 | parameters: someParameters, |
90 | toll: aToll | 87 | toll: aToll |
91 | } | 88 | } |
92 | 89 | ||
93 | return result; | 90 | return result; |
94 | }); | 91 | }); |
95 | 92 | ||
96 | deferredResult.callback(); | 93 | deferredResult.callback(); |
97 | } else { | 94 | } else { |
98 | deferredResult = MochiKit.Async.succeed({parameters:someParameters}); | 95 | deferredResult = MochiKit.Async.succeed({parameters:someParameters}); |
99 | } | 96 | } |
100 | //console.log("<<< Proxy.payToll"); | 97 | //console.log("<<< Proxy.payToll"); |
101 | 98 | ||
102 | return deferredResult; | 99 | return deferredResult; |
103 | }, | 100 | }, |
104 | 101 | ||
105 | //------------------------------------------------------------------------- | 102 | //------------------------------------------------------------------------- |
106 | 103 | ||
107 | 'addToll': function(aToll) { | 104 | 'addToll': function(aToll) { |
108 | //console.log(">>> Proxy.addToll", aToll); | 105 | //console.log(">>> Proxy.addToll", aToll); |
109 | this.tolls()[aToll.requestType()].push(aToll); | 106 | this.tolls()[aToll.requestType()].push(aToll); |
110 | //console.log("<<< Proxy.addToll"); | 107 | //console.log("<<< Proxy.addToll"); |
111 | }, | 108 | }, |
112 | 109 | ||
113 | //========================================================================= | 110 | //========================================================================= |
114 | 111 | ||
115 | 'setTollCallback': function(someParameters) { | 112 | 'setTollCallback': function(someParameters) { |
116 | //console.log(">>> Proxy.setTollCallback", someParameters); | 113 | //console.log(">>> Proxy.setTollCallback", someParameters); |
117 | if (typeof(someParameters['toll']) != 'undefined') { | 114 | if (typeof(someParameters['toll']) != 'undefined') { |
118 | //console.log("added a new toll", someParameters['toll']); | 115 | //console.log("added a new toll", someParameters['toll']); |
119 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); | 116 | this.addToll(new Clipperz.PM.Toll(someParameters['toll'])); |
120 | } | 117 | } |
121 | //console.log("<<< Proxy.setTallCallback", someParameters['result']); | 118 | //console.log("<<< Proxy.setTallCallback", someParameters['result']); |
122 | return someParameters['result']; | 119 | return someParameters['result']; |
123 | }, | 120 | }, |
124 | 121 | ||
125 | //========================================================================= | 122 | //========================================================================= |
126 | 123 | ||
127 | 'registration': function (someParameters) { | 124 | 'registration': function (someParameters) { |
128 | return this.processMessage('registration', someParameters, 'REGISTER'); | 125 | return this.processMessage('registration', someParameters, 'REGISTER'); |
129 | }, | 126 | }, |
130 | 127 | ||
131 | 'handshake': function (someParameters) { | 128 | 'handshake': function (someParameters) { |
132 | return this.processMessage('handshake', someParameters, 'CONNECT'); | 129 | return this.processMessage('handshake', someParameters, 'CONNECT'); |
133 | }, | 130 | }, |
134 | 131 | ||
135 | 'message': function (someParameters) { | 132 | 'message': function (someParameters) { |
136 | return this.processMessage('message', someParameters, 'MESSAGE'); | 133 | return this.processMessage('message', someParameters, 'MESSAGE'); |
137 | }, | 134 | }, |
138 | 135 | ||
139 | 'logout': function (someParameters) { | 136 | 'logout': function (someParameters) { |
140 | return this.processMessage('logout', someParameters, 'MESSAGE'); | 137 | return this.processMessage('logout', someParameters, 'MESSAGE'); |
141 | }, | 138 | }, |
142 | 139 | ||
143 | //========================================================================= | 140 | //========================================================================= |
144 | 141 | ||
145 | 'processMessage': function (aFunctionName, someParameters, aRequestType) { | 142 | 'processMessage': function (aFunctionName, someParameters, aRequestType) { |
146 | vardeferredResult; | 143 | vardeferredResult; |
147 | 144 | ||
148 | deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:false}); | 145 | deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:false}); |
149 | deferredResult.addMethod(this, 'payToll', aRequestType); | 146 | deferredResult.addMethod(this, 'payToll', aRequestType); |
150 | deferredResult.addMethod(this, 'sendMessage', aFunctionName); | 147 | deferredResult.addMethod(this, 'sendMessage', aFunctionName); |
151 | deferredResult.addMethod(this, 'setTollCallback'); | 148 | deferredResult.addMethod(this, 'setTollCallback'); |
152 | deferredResult.callback(someParameters); | 149 | deferredResult.callback(someParameters); |
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.JSON.js b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.JSON.js index 65b46de..5b39b4a 100755 --- a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.JSON.js +++ b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.JSON.js | |||
@@ -1,94 +1,91 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //============================================================================= | 29 | //============================================================================= |
33 | 30 | ||
34 | Clipperz.PM.Proxy.JSON = function(args) { | 31 | Clipperz.PM.Proxy.JSON = function(args) { |
35 | Clipperz.PM.Proxy.JSON.superclass.constructor.call(this, args); | 32 | Clipperz.PM.Proxy.JSON.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | this._url = args.url || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._url = args.url || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { | 39 | Clipperz.Base.extend(Clipperz.PM.Proxy.JSON, Clipperz.PM.Proxy, { |
43 | 40 | ||
44 | 'toString': function() { | 41 | 'toString': function() { |
45 | return "Clipperz.PM.Proxy.JSON"; | 42 | return "Clipperz.PM.Proxy.JSON"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //========================================================================= | 45 | //========================================================================= |
49 | 46 | ||
50 | 'url': function () { | 47 | 'url': function () { |
51 | return this._url; | 48 | return this._url; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | //========================================================================= | 51 | //========================================================================= |
55 | 52 | ||
56 | 'sendMessage': function(aFunctionName, someParameters) { | 53 | 'sendMessage': function(aFunctionName, someParameters) { |
57 | vardeferredResult; | 54 | vardeferredResult; |
58 | var parameters; | 55 | var parameters; |
59 | 56 | ||
60 | parameters = { | 57 | parameters = { |
61 | method: aFunctionName, | 58 | method: aFunctionName, |
62 | // version: someParameters['version'], | 59 | // version: someParameters['version'], |
63 | // message: someParameters['message'], | 60 | // message: someParameters['message'], |
64 | parameters: Clipperz.Base.serializeJSON(someParameters) | 61 | parameters: Clipperz.Base.serializeJSON(someParameters) |
65 | }; | 62 | }; |
66 | 63 | ||
67 | deferredResult = new Clipperz.Async.Deferred("Proxy.JSON.sendMessage", {trace:false}); | 64 | deferredResult = new Clipperz.Async.Deferred("Proxy.JSON.sendMessage", {trace:false}); |
68 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'remoteRequestSent'); | 65 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'remoteRequestSent'); |
69 | deferredResult.addCallback(MochiKit.Async.doXHR, this.url(), { | 66 | deferredResult.addCallback(MochiKit.Async.doXHR, this.url(), { |
70 | method:'POST', | 67 | method:'POST', |
71 | sendContent:MochiKit.Base.queryString(parameters), | 68 | sendContent:MochiKit.Base.queryString(parameters), |
72 | headers:{"Content-Type":"application/x-www-form-urlencoded"} | 69 | headers:{"Content-Type":"application/x-www-form-urlencoded"} |
73 | }); | 70 | }); |
74 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'remoteRequestReceived'); | 71 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'remoteRequestReceived'); |
75 | // deferredResult.addCallback(MochiKit.Async.evalJSONRequest); | 72 | // deferredResult.addCallback(MochiKit.Async.evalJSONRequest); |
76 | deferredResult.addCallback(MochiKit.Base.itemgetter('responseText')); | 73 | deferredResult.addCallback(MochiKit.Base.itemgetter('responseText')); |
77 | deferredResult.addCallback(Clipperz.Base.evalJSON); | 74 | deferredResult.addCallback(Clipperz.Base.evalJSON); |
78 | deferredResult.addCallback(function (someValues) { | 75 | deferredResult.addCallback(function (someValues) { |
79 | if (someValues['result'] == 'EXCEPTION') { | 76 | if (someValues['result'] == 'EXCEPTION') { |
80 | throw someValues['message']; | 77 | throw someValues['message']; |
81 | } | 78 | } |
82 | 79 | ||
83 | return someValues; | 80 | return someValues; |
84 | }) | 81 | }) |
85 | // return MochiKit.Base.evalJSON(req.responseText); | 82 | // return MochiKit.Base.evalJSON(req.responseText); |
86 | deferredResult.callback(); | 83 | deferredResult.callback(); |
87 | 84 | ||
88 | return deferredResult; | 85 | return deferredResult; |
89 | }, | 86 | }, |
90 | 87 | ||
91 | //========================================================================= | 88 | //========================================================================= |
92 | __syntaxFix__: "syntax fix" | 89 | __syntaxFix__: "syntax fix" |
93 | 90 | ||
94 | }); | 91 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js index de8e7f6..01ba122 100644 --- a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js +++ b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.DataStore.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | try { if (typeof(Clipperz.PM.Proxy.Offline) == 'undefined') { throw ""; }} catch (e) { | 26 | try { if (typeof(Clipperz.PM.Proxy.Offline) == 'undefined') { throw ""; }} catch (e) { |
30 | throw "Clipperz.PM.Proxy.Offline.DataStore depends on Clipperz.PM.Proxy.Offline!"; | 27 | throw "Clipperz.PM.Proxy.Offline.DataStore depends on Clipperz.PM.Proxy.Offline!"; |
31 | } | 28 | } |
32 | 29 | ||
33 | //============================================================================= | 30 | //============================================================================= |
34 | 31 | ||
35 | Clipperz.PM.Proxy.Offline.DataStore = function(args) { | 32 | Clipperz.PM.Proxy.Offline.DataStore = function(args) { |
36 | args = args || {}; | 33 | args = args || {}; |
37 | 34 | ||
38 | this._data = args.data || (typeof(_clipperz_dump_data_) != 'undefined' ? _clipperz_dump_data_ : null); | 35 | this._data = args.data || (typeof(_clipperz_dump_data_) != 'undefined' ? _clipperz_dump_data_ : null); |
39 | this._isReadOnly = (typeof(args.readOnly) == 'undefined' ? true : args.readOnly); | 36 | this._isReadOnly = (typeof(args.readOnly) == 'undefined' ? true : args.readOnly); |
40 | this._shouldPayTolls = args.shouldPayTolls || false; | 37 | this._shouldPayTolls = args.shouldPayTolls || false; |
41 | 38 | ||
42 | this._tolls = {}; | 39 | this._tolls = {}; |
43 | this._currentStaticConnection = null; | 40 | this._currentStaticConnection = null; |
44 | 41 | ||
45 | return this; | 42 | return this; |
46 | } | 43 | } |
47 | 44 | ||
48 | Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { | 45 | Clipperz.Base.extend(Clipperz.PM.Proxy.Offline.DataStore, Object, { |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'isReadOnly': function () { | 49 | 'isReadOnly': function () { |
53 | return this._isReadOnly; | 50 | return this._isReadOnly; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //------------------------------------------------------------------------- | 53 | //------------------------------------------------------------------------- |
57 | 54 | ||
58 | 'shouldPayTolls': function() { | 55 | 'shouldPayTolls': function() { |
59 | return this._shouldPayTolls; | 56 | return this._shouldPayTolls; |
60 | }, | 57 | }, |
61 | 58 | ||
62 | //------------------------------------------------------------------------- | 59 | //------------------------------------------------------------------------- |
63 | 60 | ||
64 | 'data': function () { | 61 | 'data': function () { |
65 | return this._data; | 62 | return this._data; |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | 'tolls': function () { | 67 | 'tolls': function () { |
71 | return this._tolls; | 68 | return this._tolls; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | //========================================================================= | 71 | //========================================================================= |
75 | 72 | ||
76 | 'resetData': function() { | 73 | 'resetData': function() { |
77 | this._data = { | 74 | this._data = { |
78 | 'users': { | 75 | 'users': { |
79 | 'catchAllUser': { | 76 | 'catchAllUser': { |
80 | __masterkey_test_value__: 'masterkey', | 77 | __masterkey_test_value__: 'masterkey', |
81 | s: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00', | 78 | s: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00', |
82 | v: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00' | 79 | v: '112233445566778899aabbccddeeff00112233445566778899aabbccddeeff00' |
83 | } | 80 | } |
84 | } | 81 | } |
85 | }; | 82 | }; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //------------------------------------------------------------------------- | 85 | //------------------------------------------------------------------------- |
89 | 86 | ||
90 | 'setupWithEncryptedData': function(someData) { | 87 | 'setupWithEncryptedData': function(someData) { |
91 | this._data = Clipperz.Base.deepClone(someData); | 88 | this._data = Clipperz.Base.deepClone(someData); |
92 | }, | 89 | }, |
93 | 90 | ||
94 | //------------------------------------------------------------------------- | 91 | //------------------------------------------------------------------------- |
95 | 92 | ||
96 | 'setupWithData': function(someData) { | 93 | 'setupWithData': function(someData) { |
97 | var deferredResult; | 94 | var deferredResult; |
98 | var resultData; | 95 | var resultData; |
99 | var i, c; | 96 | var i, c; |
100 | 97 | ||
101 | //Clipperz.log(">>> Proxy.Test.setupWithData"); | 98 | //Clipperz.log(">>> Proxy.Test.setupWithData"); |
102 | resultData = this._data; | 99 | resultData = this._data; |
103 | 100 | ||
104 | deferredResult = new Clipperz.Async.Deferred("Proxy.Test.seupWithData", {trace:false}); | 101 | deferredResult = new Clipperz.Async.Deferred("Proxy.Test.seupWithData", {trace:false}); |
105 | c = someData['users'].length; | 102 | c = someData['users'].length; |
106 | 103 | ||
107 | for (i=0; i<c; i++) { | 104 | for (i=0; i<c; i++) { |
108 | varnewConnection; | 105 | varnewConnection; |
109 | varrecordConfiguration; | 106 | varrecordConfiguration; |
110 | 107 | ||
111 | deferredResult.addMethod(this, 'userSerializedEncryptedData', someData['users'][i]); | 108 | deferredResult.addMethod(this, 'userSerializedEncryptedData', someData['users'][i]); |
112 | deferredResult.addCallback(MochiKit.Base.bind(function(aUserSerializationContext) { | 109 | deferredResult.addCallback(MochiKit.Base.bind(function(aUserSerializationContext) { |
113 | //console.log("SERIALIZED USER", aUserSerializationContext); | 110 | //console.log("SERIALIZED USER", aUserSerializationContext); |
114 | resultData['users'][aUserSerializationContext['credentials']['C']] = { | 111 | resultData['users'][aUserSerializationContext['credentials']['C']] = { |
115 | 's': aUserSerializationContext['credentials']['s'], | 112 | 's': aUserSerializationContext['credentials']['s'], |
116 | 'v': aUserSerializationContext['credentials']['v'], | 113 | 'v': aUserSerializationContext['credentials']['v'], |
117 | 'version': aUserSerializationContext['data']['connectionVersion'], | 114 | 'version': aUserSerializationContext['data']['connectionVersion'], |
118 | 'userDetails': aUserSerializationContext['encryptedData']['user']['header'], | 115 | 'userDetails': aUserSerializationContext['encryptedData']['user']['header'], |
119 | 'userDetailsVersion':aUserSerializationContext['encryptedData']['user']['version'], | 116 | 'userDetailsVersion':aUserSerializationContext['encryptedData']['user']['version'], |
120 | 'statistics': aUserSerializationContext['encryptedData']['user']['statistics'], | 117 | 'statistics': aUserSerializationContext['encryptedData']['user']['statistics'], |
121 | 'lock': aUserSerializationContext['encryptedData']['user']['lock'], | 118 | 'lock': aUserSerializationContext['encryptedData']['user']['lock'], |
122 | 'records': this.rearrangeRecordsData(aUserSerializationContext['encryptedData']['records']) | 119 | 'records': this.rearrangeRecordsData(aUserSerializationContext['encryptedData']['records']) |
123 | } | 120 | } |
124 | }, this)); | 121 | }, this)); |
125 | } | 122 | } |
126 | 123 | ||
127 | deferredResult.addCallback(MochiKit.Base.bind(function() { | 124 | deferredResult.addCallback(MochiKit.Base.bind(function() { |
128 | //console.log("this._data", resultData); | 125 | //console.log("this._data", resultData); |
129 | this._data = resultData; | 126 | this._data = resultData; |
130 | }, this)); | 127 | }, this)); |
131 | 128 | ||
132 | deferredResult.callback(); | 129 | deferredResult.callback(); |
133 | //Clipperz.log("<<< Proxy.Test.setupWithData"); | 130 | //Clipperz.log("<<< Proxy.Test.setupWithData"); |
134 | 131 | ||
135 | return deferredResult; | 132 | return deferredResult; |
136 | }, | 133 | }, |
137 | 134 | ||
138 | //========================================================================= | 135 | //========================================================================= |
139 | 136 | ||
140 | 'getTollForRequestType': function (aRequestType) { | 137 | 'getTollForRequestType': function (aRequestType) { |
141 | varresult; | 138 | varresult; |
142 | vartargetValue; | 139 | vartargetValue; |
143 | var cost; | 140 | var cost; |
144 | 141 | ||
145 | targetValue = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32).toHexString().substring(2); | 142 | targetValue = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32).toHexString().substring(2); |
146 | switch (aRequestType) { | 143 | switch (aRequestType) { |
147 | case 'REGISTER': | 144 | case 'REGISTER': |
148 | cost = 5; | 145 | cost = 5; |
149 | break; | 146 | break; |
150 | case 'CONNECT': | 147 | case 'CONNECT': |
151 | cost = 5; | 148 | cost = 5; |
152 | break; | 149 | break; |
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.js b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.js index a15b223..a86ac4f 100644 --- a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.js +++ b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Offline.js | |||
@@ -1,67 +1,64 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //============================================================================= | 29 | //============================================================================= |
33 | 30 | ||
34 | Clipperz.PM.Proxy.Offline = function(args) { | 31 | Clipperz.PM.Proxy.Offline = function(args) { |
35 | args = args || {}; | 32 | args = args || {}; |
36 | 33 | ||
37 | Clipperz.PM.Proxy.Offline.superclass.constructor.call(this, args); | 34 | Clipperz.PM.Proxy.Offline.superclass.constructor.call(this, args); |
38 | 35 | ||
39 | this._dataStore = args.dataStore || new Clipperz.PM.Proxy.Offline.DataStore(args); | 36 | this._dataStore = args.dataStore || new Clipperz.PM.Proxy.Offline.DataStore(args); |
40 | 37 | ||
41 | return this; | 38 | return this; |
42 | } | 39 | } |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.Proxy.Offline, Clipperz.PM.Proxy, { | 41 | Clipperz.Base.extend(Clipperz.PM.Proxy.Offline, Clipperz.PM.Proxy, { |
45 | 42 | ||
46 | 'toString': function () { | 43 | 'toString': function () { |
47 | return "Clipperz.PM.Proxy.Offline"; | 44 | return "Clipperz.PM.Proxy.Offline"; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'dataStore': function () { | 49 | 'dataStore': function () { |
53 | return this._dataStore; | 50 | return this._dataStore; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //------------------------------------------------------------------------- | 53 | //------------------------------------------------------------------------- |
57 | 54 | ||
58 | 'sendMessage': function(aFunctionName, someParameters) { | 55 | 'sendMessage': function(aFunctionName, someParameters) { |
59 | return this.dataStore().processMessage(aFunctionName, someParameters); | 56 | return this.dataStore().processMessage(aFunctionName, someParameters); |
60 | }, | 57 | }, |
61 | 58 | ||
62 | //------------------------------------------------------------------------- | 59 | //------------------------------------------------------------------------- |
63 | 60 | ||
64 | __syntaxFix__: "syntax fix" | 61 | __syntaxFix__: "syntax fix" |
65 | 62 | ||
66 | }); | 63 | }); |
67 | 64 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Test.js b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Test.js index be1c337..d554c6a 100644 --- a/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Test.js +++ b/frontend/gamma/js/Clipperz/PM/Proxy/Proxy.Test.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Proxy) == 'undefined') { Clipperz.PM.Proxy = {}; } | 28 | if (typeof(Clipperz.PM.Proxy) == 'undefined') { Clipperz.PM.Proxy = {}; } |
32 | 29 | ||
33 | //============================================================================= | 30 | //============================================================================= |
34 | 31 | ||
35 | Clipperz.PM.Proxy.Test = function(args) { | 32 | Clipperz.PM.Proxy.Test = function(args) { |
36 | Clipperz.PM.Proxy.Test.superclass.constructor.call(this, args); | 33 | Clipperz.PM.Proxy.Test.superclass.constructor.call(this, args); |
37 | 34 | ||
38 | args = args || {}; | 35 | args = args || {}; |
39 | 36 | ||
40 | this._expectedRequests = (args.shouldCheckExpectedRequests === true) ? [] : null; | 37 | this._expectedRequests = (args.shouldCheckExpectedRequests === true) ? [] : null; |
41 | this._isExpectingRequests = true; | 38 | this._isExpectingRequests = true; |
42 | this._unexpectedRequests = []; | 39 | this._unexpectedRequests = []; |
43 | 40 | ||
44 | this.dataStore().resetData(); | 41 | this.dataStore().resetData(); |
45 | 42 | ||
46 | return this; | 43 | return this; |
47 | } | 44 | } |
48 | 45 | ||
49 | Clipperz.Base.extend(Clipperz.PM.Proxy.Test, Clipperz.PM.Proxy.Offline, { | 46 | Clipperz.Base.extend(Clipperz.PM.Proxy.Test, Clipperz.PM.Proxy.Offline, { |
50 | 47 | ||
51 | 'toString': function() { | 48 | 'toString': function() { |
52 | return "Clipperz.PM.Proxy.Test"; | 49 | return "Clipperz.PM.Proxy.Test"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //========================================================================= | 52 | //========================================================================= |
56 | 53 | ||
57 | 'expectedRequests': function () { | 54 | 'expectedRequests': function () { |
58 | return this._expectedRequests; | 55 | return this._expectedRequests; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'shouldCheckExpectedRequests': function () { | 60 | 'shouldCheckExpectedRequests': function () { |
64 | return (this._expectedRequests != null); | 61 | return (this._expectedRequests != null); |
65 | }, | 62 | }, |
66 | 63 | ||
67 | 'setShouldCheckExpectedRequests': function(aValue) { | 64 | 'setShouldCheckExpectedRequests': function(aValue) { |
68 | if (aValue) { | 65 | if (aValue) { |
69 | this._expectedRequests = aValue; | 66 | this._expectedRequests = aValue; |
70 | } else { | 67 | } else { |
71 | this._expectedRequests = null; | 68 | this._expectedRequests = null; |
72 | } | 69 | } |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //------------------------------------------------------------------------- | 72 | //------------------------------------------------------------------------- |
76 | 73 | ||
77 | 'shouldNotReceiveAnyFurtherRequest': function () { | 74 | 'shouldNotReceiveAnyFurtherRequest': function () { |
78 | this._isExpectingRequests = false; | 75 | this._isExpectingRequests = false; |
79 | }, | 76 | }, |
80 | 77 | ||
81 | 'mayReceiveMoreRequests': function () { | 78 | 'mayReceiveMoreRequests': function () { |
82 | this._isExpectingRequests = true; | 79 | this._isExpectingRequests = true; |
83 | this.resetUnexpectedRequests(); | 80 | this.resetUnexpectedRequests(); |
84 | }, | 81 | }, |
85 | 82 | ||
86 | 'isExpectingRequests': function () { | 83 | 'isExpectingRequests': function () { |
87 | return this._isExpectingRequests; | 84 | return this._isExpectingRequests; |
88 | }, | 85 | }, |
89 | 86 | ||
90 | //------------------------------------------------------------------------- | 87 | //------------------------------------------------------------------------- |
91 | 88 | ||
92 | 'unexpectedRequests': function () { | 89 | 'unexpectedRequests': function () { |
93 | return this._unexpectedRequests; | 90 | return this._unexpectedRequests; |
94 | }, | 91 | }, |
95 | 92 | ||
96 | 'resetUnexpectedRequests': function () { | 93 | 'resetUnexpectedRequests': function () { |
97 | this._unexpectedRequests = []; | 94 | this._unexpectedRequests = []; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | //------------------------------------------------------------------------- | 97 | //------------------------------------------------------------------------- |
101 | 98 | ||
102 | 'testExpectedRequestParameters': function (aPath, anActualRequest, anExpectedRequest) { | 99 | 'testExpectedRequestParameters': function (aPath, anActualRequest, anExpectedRequest) { |
103 | var aKey; | 100 | var aKey; |
104 | //console.log(">>> Proxy.testExpectedRequestParameters [" + aPath + "]", anActualRequest, anExpectedRequest); | 101 | //console.log(">>> Proxy.testExpectedRequestParameters [" + aPath + "]", anActualRequest, anExpectedRequest); |
105 | for (aKey in anExpectedRequest) { | 102 | for (aKey in anExpectedRequest) { |
106 | if (typeof(anActualRequest[aKey]) == 'undefined') { | 103 | if (typeof(anActualRequest[aKey]) == 'undefined') { |
107 | throw "the expected paramter [" + aKey + "] is missing from the actual request"; | 104 | throw "the expected paramter [" + aKey + "] is missing from the actual request"; |
108 | } | 105 | } |
109 | if (typeof(anExpectedRequest[aKey]) == 'object') { | 106 | if (typeof(anExpectedRequest[aKey]) == 'object') { |
110 | this.testExpectedRequestParameters(aPath + "." + aKey, anActualRequest[aKey], anExpectedRequest[aKey]) | 107 | this.testExpectedRequestParameters(aPath + "." + aKey, anActualRequest[aKey], anExpectedRequest[aKey]) |
111 | } else { | 108 | } else { |
112 | if (! anExpectedRequest[aKey](anActualRequest[aKey])) { | 109 | if (! anExpectedRequest[aKey](anActualRequest[aKey])) { |
113 | throw "wrong value for paramter [" + aKey + "]; got '" + anActualRequest[aKey] + "'"; | 110 | throw "wrong value for paramter [" + aKey + "]; got '" + anActualRequest[aKey] + "'"; |
114 | } | 111 | } |
115 | } | 112 | } |
116 | } | 113 | } |
117 | //console.log("<<< Proxy.testExpectedRequestParameters"); | 114 | //console.log("<<< Proxy.testExpectedRequestParameters"); |
118 | }, | 115 | }, |
119 | 116 | ||
120 | //------------------------------------------------------------------------- | 117 | //------------------------------------------------------------------------- |
121 | 118 | ||
122 | 'checkRequest': function(aFunctionName, someParameters) { | 119 | 'checkRequest': function(aFunctionName, someParameters) { |
123 | if (this.shouldCheckExpectedRequests()) { | 120 | if (this.shouldCheckExpectedRequests()) { |
124 | var expectedRequest; | 121 | var expectedRequest; |
125 | 122 | ||
126 | //console.log(">>> Proxy.Test.checkRequest - " + aFunctionName, someParameters); | 123 | //console.log(">>> Proxy.Test.checkRequest - " + aFunctionName, someParameters); |
127 | expectedRequest = this.expectedRequests().pop(); | 124 | expectedRequest = this.expectedRequests().pop(); |
128 | //console.log("--- Proxy.Test.checkRequest - expectedRequest", expectedRequest); | 125 | //console.log("--- Proxy.Test.checkRequest - expectedRequest", expectedRequest); |
129 | if (expectedRequest == null) { | 126 | if (expectedRequest == null) { |
130 | throw "Proxy.Test.sentMessage: no expected result specified. Got request '" + aFunctionName + "': " + someParameters; | 127 | throw "Proxy.Test.sentMessage: no expected result specified. Got request '" + aFunctionName + "': " + someParameters; |
131 | } | 128 | } |
132 | 129 | ||
133 | try { | 130 | try { |
134 | if (aFunctionName != expectedRequest.functionName) { | 131 | if (aFunctionName != expectedRequest.functionName) { |
135 | throw "wrong function name. Got '" + aFunctionName + "', expected '" + expectedRequest.request.functionName + "'"; | 132 | throw "wrong function name. Got '" + aFunctionName + "', expected '" + expectedRequest.request.functionName + "'"; |
136 | } | 133 | } |
137 | 134 | ||
138 | this.testExpectedRequestParameters("parameters", someParameters, expectedRequest.parameters); | 135 | this.testExpectedRequestParameters("parameters", someParameters, expectedRequest.parameters); |
139 | } catch(exception) { | 136 | } catch(exception) { |
140 | //console.log("EXCEPTION: Proxy.Test.sentMessage[" + expectedRequest.name + "]", exception) | 137 | //console.log("EXCEPTION: Proxy.Test.sentMessage[" + expectedRequest.name + "]", exception) |
141 | throw "Proxy.Test.sentMessage[" + expectedRequest.name + "]: " + exception; | 138 | throw "Proxy.Test.sentMessage[" + expectedRequest.name + "]: " + exception; |
142 | } | 139 | } |
143 | } | 140 | } |
144 | //console.log("<<< Proxy.Test.checkRequest"); | 141 | //console.log("<<< Proxy.Test.checkRequest"); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | //========================================================================= | 144 | //========================================================================= |
148 | 145 | ||
149 | 'sendMessage': function(aFunctionName, someParameters) { | 146 | 'sendMessage': function(aFunctionName, someParameters) { |
150 | var result; | 147 | var result; |
151 | 148 | ||
152 | if (this.isExpectingRequests() == false) { | 149 | if (this.isExpectingRequests() == false) { |
diff --git a/frontend/gamma/js/Clipperz/PM/Strings.js b/frontend/gamma/js/Clipperz/PM/Strings.js index 43ef21f..a051365 100644 --- a/frontend/gamma/js/Clipperz/PM/Strings.js +++ b/frontend/gamma/js/Clipperz/PM/Strings.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } | 28 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } |
32 | if (typeof(Clipperz.PM.Strings.Languages) == 'undefined') { Clipperz.PM.Strings.Languages = {}; } | 29 | if (typeof(Clipperz.PM.Strings.Languages) == 'undefined') { Clipperz.PM.Strings.Languages = {}; } |
33 | 30 | ||
34 | //----------------------------------------------------------------------------- | 31 | //----------------------------------------------------------------------------- |
35 | /* | 32 | /* |
36 | Clipperz.PM.Strings.standardStrings = { | 33 | Clipperz.PM.Strings.standardStrings = { |
37 | 'loginPanelSwitchLanguageSelectOptions':[ | 34 | 'loginPanelSwitchLanguageSelectOptions':[ |
38 | / * | 35 | / * |
39 | {tag:'option', html:"Arabic (Oman) (العربية)", value:'ar-OM', disabled:true}, | 36 | {tag:'option', html:"Arabic (Oman) (العربية)", value:'ar-OM', disabled:true}, |
40 | {tag:'option', html:"Arabic (Syria) (العربية)", value:'ar-SY', disabled:true}, | 37 | {tag:'option', html:"Arabic (Syria) (العربية)", value:'ar-SY', disabled:true}, |
41 | {tag:'option', html:"Bahasa Indonesia", value:'id-ID', disabled:true}, | 38 | {tag:'option', html:"Bahasa Indonesia", value:'id-ID', disabled:true}, |
42 | {tag:'option', html:"Bulgarian (Български)", value:'bg-BG', disabled:true}, | 39 | {tag:'option', html:"Bulgarian (Български)", value:'bg-BG', disabled:true}, |
43 | {tag:'option', html:"Català", value:'ca-ES', disabled:true}, | 40 | {tag:'option', html:"Català", value:'ca-ES', disabled:true}, |
44 | {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN', disabled:true}, | 41 | {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN', disabled:true}, |
45 | {tag:'option', html:"Chinese (Traditional) (正體中文)", value:'zh-TW', disabled:true}, | 42 | {tag:'option', html:"Chinese (Traditional) (正體中文)", value:'zh-TW', disabled:true}, |
46 | {tag:'option', html:"Czech (Česky)", value:'cs-CZ', disabled:true}, | 43 | {tag:'option', html:"Czech (Česky)", value:'cs-CZ', disabled:true}, |
47 | {tag:'option', html:"Dansk", value:'da-DK', disabled:true}, | 44 | {tag:'option', html:"Dansk", value:'da-DK', disabled:true}, |
48 | {tag:'option', html:"Deutsch", value:'de-DE'/ *, disabled:true* /}, | 45 | {tag:'option', html:"Deutsch", value:'de-DE'/ *, disabled:true* /}, |
49 | {tag:'option', html:"English (American)", value:'en-US'/ *, disabled:true* /}, | 46 | {tag:'option', html:"English (American)", value:'en-US'/ *, disabled:true* /}, |
50 | {tag:'option', html:"English (British)", value:'en-GB'/ *, disabled:true* /}, | 47 | {tag:'option', html:"English (British)", value:'en-GB'/ *, disabled:true* /}, |
51 | {tag:'option', html:"English (Canadian)", value:'en-CA'/ *, disabled:true* /}, | 48 | {tag:'option', html:"English (Canadian)", value:'en-CA'/ *, disabled:true* /}, |
52 | {tag:'option', html:"Español", value:'es-ES', disabled:true}, | 49 | {tag:'option', html:"Español", value:'es-ES', disabled:true}, |
53 | {tag:'option', html:"Eesti", value:'et-EE', disabled:true}, | 50 | {tag:'option', html:"Eesti", value:'et-EE', disabled:true}, |
54 | {tag:'option', html:"Français", value:'fr-FR', disabled:true}, | 51 | {tag:'option', html:"Français", value:'fr-FR', disabled:true}, |
55 | {tag:'option', html:"Galego", value:'gl-ES', disabled:true}, | 52 | {tag:'option', html:"Galego", value:'gl-ES', disabled:true}, |
56 | {tag:'option', html:"Greek (Ελληνικά)", value:'el-GR', disabled:true}, | 53 | {tag:'option', html:"Greek (Ελληνικά)", value:'el-GR', disabled:true}, |
57 | {tag:'option', html:"Íslenska", value:'is-IS', disabled:true}, | 54 | {tag:'option', html:"Íslenska", value:'is-IS', disabled:true}, |
58 | {tag:'option', html:"Italiano", value:'it-IT'/ *, disabled:true* /}, | 55 | {tag:'option', html:"Italiano", value:'it-IT'/ *, disabled:true* /}, |
59 | {tag:'option', html:"Japanese (日本語)", value:'ja-JP', disabled:true}, | 56 | {tag:'option', html:"Japanese (日本語)", value:'ja-JP', disabled:true}, |
60 | {tag:'option', html:"Korean (한국어)", value:'ko-KR', disabled:true}, | 57 | {tag:'option', html:"Korean (한국어)", value:'ko-KR', disabled:true}, |
61 | {tag:'option', html:"Latviešu", value:'lv-LV', disabled:true}, | 58 | {tag:'option', html:"Latviešu", value:'lv-LV', disabled:true}, |
62 | {tag:'option', html:"Lietuvių", value:'lt-LT', disabled:true}, | 59 | {tag:'option', html:"Lietuvių", value:'lt-LT', disabled:true}, |
63 | {tag:'option', html:"Macedonian (Македонски)", value:'mk-MK', disabled:true}, | 60 | {tag:'option', html:"Macedonian (Македонски)", value:'mk-MK', disabled:true}, |
64 | {tag:'option', html:"Magyar", value:'hu-HU', disabled:true}, | 61 | {tag:'option', html:"Magyar", value:'hu-HU', disabled:true}, |
65 | {tag:'option', html:"Nederlands", value:'nl-NL', disabled:true}, | 62 | {tag:'option', html:"Nederlands", value:'nl-NL', disabled:true}, |
66 | {tag:'option', html:"Norsk bokmål", value:'nb-NO', disabled:true}, | 63 | {tag:'option', html:"Norsk bokmål", value:'nb-NO', disabled:true}, |
67 | {tag:'option', html:"Norsk nynorsk", value:'nn-NO', disabled:true}, | 64 | {tag:'option', html:"Norsk nynorsk", value:'nn-NO', disabled:true}, |
68 | {tag:'option', html:"Persian (Western) (فارسى)", value:'fa-IR', disabled:true}, | 65 | {tag:'option', html:"Persian (Western) (فارسى)", value:'fa-IR', disabled:true}, |
69 | {tag:'option', html:"Polski", value:'pl-PL', disabled:true}, | 66 | {tag:'option', html:"Polski", value:'pl-PL', disabled:true}, |
70 | {tag:'option', html:"Português", value:'pt-PT'/ *, disabled:true* /}, | 67 | {tag:'option', html:"Português", value:'pt-PT'/ *, disabled:true* /}, |
71 | {tag:'option', html:"Português Brasileiro", value:'pt-BR'/ *, disabled:true* /}, | 68 | {tag:'option', html:"Português Brasileiro", value:'pt-BR'/ *, disabled:true* /}, |
72 | {tag:'option', html:"Românä", value:'ro-RO', disabled:true}, | 69 | {tag:'option', html:"Românä", value:'ro-RO', disabled:true}, |
73 | {tag:'option', html:"Russian (Русский)", value:'ru-RU', disabled:true}, | 70 | {tag:'option', html:"Russian (Русский)", value:'ru-RU', disabled:true}, |
74 | {tag:'option', html:"Slovak (Slovenčina)", value:'sk-SK', disabled:true}, | 71 | {tag:'option', html:"Slovak (Slovenčina)", value:'sk-SK', disabled:true}, |
75 | {tag:'option', html:"Slovenian (Slovenščina)", value:'sl-SI', disabled:true}, | 72 | {tag:'option', html:"Slovenian (Slovenščina)", value:'sl-SI', disabled:true}, |
76 | {tag:'option', html:"Suomi", value:'fi-FI', disabled:true}, | 73 | {tag:'option', html:"Suomi", value:'fi-FI', disabled:true}, |
77 | {tag:'option', html:"Svenska", value:'sv-SE', disabled:true}, | 74 | {tag:'option', html:"Svenska", value:'sv-SE', disabled:true}, |
78 | {tag:'option', html:"Thai (ไทย)", value:'th-TH', disabled:true}, | 75 | {tag:'option', html:"Thai (ไทย)", value:'th-TH', disabled:true}, |
79 | {tag:'option', html:"Türkçe", value:'tr-TR', disabled:true}, | 76 | {tag:'option', html:"Türkçe", value:'tr-TR', disabled:true}, |
80 | {tag:'option', html:"Ukrainian (Українська)", value:'uk-UA', disabled:true} | 77 | {tag:'option', html:"Ukrainian (Українська)", value:'uk-UA', disabled:true} |
81 | * / | 78 | * / |
82 | {tag:'option', html:"Arabic (العربية)", value:"ar", disabled:true, cls:'disabledOption'}, | 79 | {tag:'option', html:"Arabic (العربية)", value:"ar", disabled:true, cls:'disabledOption'}, |
83 | // {tag:'option', html:"Chinese (中文)", value:"zh", disabled:true}, | 80 | // {tag:'option', html:"Chinese (中文)", value:"zh", disabled:true}, |
84 | {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN'}, | 81 | {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN'}, |
85 | {tag:'option', html:"Dutch (Nederlands)", value:"nl-NL", disabled:true, cls:'disabledOption'}, | 82 | {tag:'option', html:"Dutch (Nederlands)", value:"nl-NL", disabled:true, cls:'disabledOption'}, |
86 | {tag:'option', html:"English", value:"en-US"}, | 83 | {tag:'option', html:"English", value:"en-US"}, |
87 | {tag:'option', html:"French (Français)", value:"fr-FR"}, | 84 | {tag:'option', html:"French (Français)", value:"fr-FR"}, |
88 | {tag:'option', html:"German (Deutsch)", value:"de-DE", disabled:true, cls:'disabledOption'}, | 85 | {tag:'option', html:"German (Deutsch)", value:"de-DE", disabled:true, cls:'disabledOption'}, |
89 | {tag:'option', html:"Greek (Ελληνικά)", value:"el-GR", disabled:true, cls:'disabledOption'}, | 86 | {tag:'option', html:"Greek (Ελληνικά)", value:"el-GR", disabled:true, cls:'disabledOption'}, |
90 | {tag:'option', html:"Hebrew (עברית)", value:"he-IL", disabled:true, cls:'disabledOption'}, | 87 | {tag:'option', html:"Hebrew (עברית)", value:"he-IL", disabled:true, cls:'disabledOption'}, |
91 | {tag:'option', html:"Italian (Italiano)", value:"it-IT"}, | 88 | {tag:'option', html:"Italian (Italiano)", value:"it-IT"}, |
92 | {tag:'option', html:"Japanese (日本語)", value:"ja-JP"}, | 89 | {tag:'option', html:"Japanese (日本語)", value:"ja-JP"}, |
93 | {tag:'option', html:"Korean (한국어)", value:"ko-KR", disabled:true, cls:'disabledOption'}, | 90 | {tag:'option', html:"Korean (한국어)", value:"ko-KR", disabled:true, cls:'disabledOption'}, |
94 | {tag:'option', html:"Norwegian (Norsk)", value:"no", disabled:true, cls:'disabledOption'}, | 91 | {tag:'option', html:"Norwegian (Norsk)", value:"no", disabled:true, cls:'disabledOption'}, |
95 | {tag:'option', html:"Persian (فارسی)", value:"fa-IR", disabled:true, cls:'disabledOption'}, | 92 | {tag:'option', html:"Persian (فارسی)", value:"fa-IR", disabled:true, cls:'disabledOption'}, |
96 | {tag:'option', html:"Polish (Polski)", value:"pl-PL", disabled:true, cls:'disabledOption'}, | 93 | {tag:'option', html:"Polish (Polski)", value:"pl-PL", disabled:true, cls:'disabledOption'}, |
97 | {tag:'option', html:"Portuguese (Português)", value:"pt-BR"}, | 94 | {tag:'option', html:"Portuguese (Português)", value:"pt-BR"}, |
98 | {tag:'option', html:"Russian (Русский)", value:"ru-RU", disabled:true, cls:'disabledOption'}, | 95 | {tag:'option', html:"Russian (Русский)", value:"ru-RU", disabled:true, cls:'disabledOption'}, |
99 | {tag:'option', html:"Spanish (Español)", value:"es-ES"}, | 96 | {tag:'option', html:"Spanish (Español)", value:"es-ES"}, |
100 | {tag:'option', html:"Swedish (Svenska)", value:"sv-SE", disabled:true, cls:'disabledOption'}, | 97 | {tag:'option', html:"Swedish (Svenska)", value:"sv-SE", disabled:true, cls:'disabledOption'}, |
101 | {tag:'option', html:"Turkish (Türkçe)", value:"tr-TR", disabled:true, cls:'disabledOption'}, | 98 | {tag:'option', html:"Turkish (Türkçe)", value:"tr-TR", disabled:true, cls:'disabledOption'}, |
102 | {tag:'option', html:"Vietnamese (Tiếng Việt)", value:"vi-VN", disabled:true, cls:'disabledOption'} | 99 | {tag:'option', html:"Vietnamese (Tiếng Việt)", value:"vi-VN", disabled:true, cls:'disabledOption'} |
103 | ] | 100 | ] |
104 | } | 101 | } |
105 | */ | 102 | */ |
106 | 103 | ||
107 | Clipperz.PM.Strings.GeneralSettings = { | 104 | Clipperz.PM.Strings.GeneralSettings = { |
108 | 'defaults': { | 105 | 'defaults': { |
109 | // 'loginFormAarghThatsBadUrl':"http://www.clipperz.com/support/faq/account_faq", | 106 | // 'loginFormAarghThatsBadUrl':"http://www.clipperz.com/support/faq/account_faq", |
110 | // 'loginFormVerifyTheCodeUrl':"http://www.clipperz.com/learn_more/reviewing_the_code", | 107 | // 'loginFormVerifyTheCodeUrl':"http://www.clipperz.com/learn_more/reviewing_the_code", |
111 | 108 | ||
112 | // 'donateHeaderLinkUrl': "http://www.clipperz.com/donations", | 109 | // 'donateHeaderLinkUrl': "http://www.clipperz.com/donations", |
113 | // 'creditsHeaderLinkUrl': "http://www.clipperz.com/credits", | 110 | // 'creditsHeaderLinkUrl': "http://www.clipperz.com/credits", |
114 | // 'feedbackHeaderLinkUrl': "http://www.clipperz.com/contact", | 111 | // 'feedbackHeaderLinkUrl': "http://www.clipperz.com/contact", |
115 | // 'helpHeaderLinkUrl': "http://www.clipperz.com/support/user_guide", | 112 | // 'helpHeaderLinkUrl': "http://www.clipperz.com/support/user_guide", |
116 | // 'forumHeaderLinkUrl': "http://www.clipperz.com/forum", | 113 | // 'forumHeaderLinkUrl': "http://www.clipperz.com/forum", |
117 | 114 | ||
118 | // 'httpAuthBookmarkletConfiguration':{tag:'textarea', id:'httpAuthDefaultConfiguration', html:"" + | 115 | // 'httpAuthBookmarkletConfiguration':{tag:'textarea', id:'httpAuthDefaultConfiguration', html:"" + |
119 | // "{ \"page\":{\"title\":\"HTTP authentication\"}," + "\n" + | 116 | // "{ \"page\":{\"title\":\"HTTP authentication\"}," + "\n" + |
120 | // " \"form\":{\"attributes\": {" + "\n" + | 117 | // " \"form\":{\"attributes\": {" + "\n" + |
121 | // " \"action\":\"\"," + "\n" + | 118 | // " \"action\":\"\"," + "\n" + |
122 | // " \"type\":\"http_auth\"" + "\n" + | 119 | // " \"type\":\"http_auth\"" + "\n" + |
123 | // " }, \"inputs\": [" + "\n" + | 120 | // " }, \"inputs\": [" + "\n" + |
124 | // " {\"type\":\"text\",\"name\":\"url\",\"value\":\"\"}," + "\n" + | 121 | // " {\"type\":\"text\",\"name\":\"url\",\"value\":\"\"}," + "\n" + |
125 | // " {\"type\":\"text\",\"name\":\"username\",\"value\":\"\"}," + "\n" + | 122 | // " {\"type\":\"text\",\"name\":\"username\",\"value\":\"\"}," + "\n" + |
126 | // " {\"type\":\"password\",\"name\":\"password\",\"value\":\"\"}" + "\n" + | 123 | // " {\"type\":\"password\",\"name\":\"password\",\"value\":\"\"}" + "\n" + |
127 | // " ]}, \"version\":\"0.2.3\"}" | 124 | // " ]}, \"version\":\"0.2.3\"}" |
128 | // }, | 125 | // }, |
129 | 126 | ||
130 | 'directLoginJumpPageUrl':"", | 127 | 'directLoginJumpPageUrl':"", |
131 | 'defaultFaviconUrl': "data:application/octet-stream;charset=utf-8;base64,AAABAAEAFxcAAAEAGAD8BgAAFgAAACgAAAAXAAAALgAAAAEAGAAAAAAAAAAAABIXAAASFwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////9zAC////////////////////////////////////////////////////////////////////////////////////////////9pAG////////////////////////////////////////////////////////////////////////////////////////////9rAC////////////////////////////////////////////////////////////////////////////////////////////9yAHP////////////////////////IyMizs7O6urrq6ur////////////Ozs6zs7Ozs7Pq6ur///////////////////////8AAAD////////////////////V1dWXl5eXl5eXl5elpaX4+Pj////Ozs6Xl5eXl5eXl5eenp7///////////////////////8AAAD////////////////////Ozs6Xl5eXl5eXl5eXl5fBwcHq6uqenp6Xl5eXl5eXl5eXl5f///////////////////////8AAAD////////////////////j4+OXl5eXl5eXl5eXl5eXl5elpaWXl5eXl5eXl5eXl5ezs7P///////////////////////8AAAD////////////////////////IyMiXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eenp7x8fH////////////////////////////////////////////////////4+PilpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5fOzs7////////////////////////////////////////////////////////q6uq6urqXl5eXl5eXl5eXl5eXl5eXl5eenp7V1dX4+Pj///////////////////////8AAAD////////////4+PjOzs6lpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e6urrj4+P///////////////8AAAD////////////BwcGXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fx8fH///////////8AAAD///////////+zs7OXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fj4+P///////////8AAAD////////////IyMiXl5eXl5eXl5eXl5e6urqXl5eXl5eXl5eXl5esrKylpaWXl5eXl5eXl5eenp7x8fH///////////8AAAD////////////////Ozs7Ozs7V1dX4+Pj///+Xl5eXl5eXl5eXl5fOzs7////q6urOzs7Ozs7q6ur///////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD////////////////////////////////////IyMiXl5eXl5eenp7x8fH///////////////////////////////////8AAAD////////////////////////////////////////j4+Pj4+Px8fH///////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=", | 128 | 'defaultFaviconUrl': "data:application/octet-stream;charset=utf-8;base64,AAABAAEAFxcAAAEAGAD8BgAAFgAAACgAAAAXAAAALgAAAAEAGAAAAAAAAAAAABIXAAASFwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////9zAC////////////////////////////////////////////////////////////////////////////////////////////9pAG////////////////////////////////////////////////////////////////////////////////////////////9rAC////////////////////////////////////////////////////////////////////////////////////////////9yAHP////////////////////////IyMizs7O6urrq6ur////////////Ozs6zs7Ozs7Pq6ur///////////////////////8AAAD////////////////////V1dWXl5eXl5eXl5elpaX4+Pj////Ozs6Xl5eXl5eXl5eenp7///////////////////////8AAAD////////////////////Ozs6Xl5eXl5eXl5eXl5fBwcHq6uqenp6Xl5eXl5eXl5eXl5f///////////////////////8AAAD////////////////////j4+OXl5eXl5eXl5eXl5eXl5elpaWXl5eXl5eXl5eXl5ezs7P///////////////////////8AAAD////////////////////////IyMiXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eenp7x8fH////////////////////////////////////////////////////4+PilpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5fOzs7////////////////////////////////////////////////////////q6uq6urqXl5eXl5eXl5eXl5eXl5eXl5eenp7V1dX4+Pj///////////////////////8AAAD////////////4+PjOzs6lpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e6urrj4+P///////////////8AAAD////////////BwcGXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fx8fH///////////8AAAD///////////+zs7OXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fj4+P///////////8AAAD////////////IyMiXl5eXl5eXl5eXl5e6urqXl5eXl5eXl5eXl5esrKylpaWXl5eXl5eXl5eenp7x8fH///////////8AAAD////////////////Ozs7Ozs7V1dX4+Pj///+Xl5eXl5eXl5eXl5fOzs7////q6urOzs7Ozs7q6ur///////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD////////////////////////////////////IyMiXl5eXl5eenp7x8fH///////////////////////////////////8AAAD////////////////////////////////////////j4+Pj4+Px8fH///////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=", |
132 | 'defaultFaviconUrl_IE': "https://www.clipperz.com/images/icons/misc/favicon.ico", | 129 | 'defaultFaviconUrl_IE': "https://www.clipperz.com/images/icons/misc/favicon.ico", |
133 | 130 | ||
134 | // 'icons_baseUrl':"https://www.clipperz.com/images/icons", | 131 | // 'icons_baseUrl':"https://www.clipperz.com/images/icons", |
135 | 132 | ||
136 | // 'passwordGeneratorLowercaseCharset':"abcdefghijklmnopqrstuvwxyz", | 133 | // 'passwordGeneratorLowercaseCharset':"abcdefghijklmnopqrstuvwxyz", |
137 | // 'passwordGeneratorUppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ", | 134 | // 'passwordGeneratorUppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ", |
138 | // 'passwordGeneratorNumberCharset': "0123456789", | 135 | // 'passwordGeneratorNumberCharset': "0123456789", |
139 | // 'passwordGeneratorSymbolCharset': "!@#$%^&*+?[]{}/|\\<>,.;:~=-_", | 136 | // 'passwordGeneratorSymbolCharset': "!@#$%^&*+?[]{}/|\\<>,.;:~=-_", |
140 | 137 | ||
141 | // 'passwordGenerator': { | 138 | // 'passwordGenerator': { |
142 | // 'lowercaseCharset':"abcdefghijklmnopqrstuvwxyz", | 139 | // 'lowercaseCharset':"abcdefghijklmnopqrstuvwxyz", |
143 | // 'uppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ", | 140 | // 'uppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ", |
144 | // 'numberCharset':"0123456789", | 141 | // 'numberCharset':"0123456789", |
145 | // 'symbolCharset':"!@#$%^&*+?[]{}/|\\<>,.;:~=-_", | 142 | // 'symbolCharset':"!@#$%^&*+?[]{}/|\\<>,.;:~=-_", |
146 | // }, | 143 | // }, |
147 | 144 | ||
148 | '_': "" | 145 | '_': "" |
149 | } | 146 | } |
150 | } | 147 | } |
151 | 148 | ||
152 | Clipperz.PM.Strings.defaultLanguages = { | 149 | Clipperz.PM.Strings.defaultLanguages = { |
diff --git a/frontend/gamma/js/Clipperz/PM/Strings/MessagePanelConfigurations.js b/frontend/gamma/js/Clipperz/PM/Strings/MessagePanelConfigurations.js index 446e96c..7f6c52f 100644 --- a/frontend/gamma/js/Clipperz/PM/Strings/MessagePanelConfigurations.js +++ b/frontend/gamma/js/Clipperz/PM/Strings/MessagePanelConfigurations.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } | 28 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } |
32 | 29 | ||
33 | Clipperz.PM.Strings.messagePanelConfigurations = { | 30 | Clipperz.PM.Strings.messagePanelConfigurations = { |
34 | 31 | ||
35 | 32 | ||
36 | //------------------------------------------------------------------------- | 33 | //------------------------------------------------------------------------- |
37 | // | 34 | // |
38 | // Registration - connection | 35 | // Registration - connection |
39 | // | 36 | // |
40 | 'registration_verify': function() { | 37 | 'registration_verify': function() { |
41 | return { | 38 | return { |
42 | 'title': null, | 39 | 'title': null, |
43 | 'text': Clipperz.PM.Strings['connectionRegistrationSendingRequestMessageText'] | 40 | 'text': Clipperz.PM.Strings['connectionRegistrationSendingRequestMessageText'] |
44 | } | 41 | } |
45 | }, | 42 | }, |
46 | 43 | ||
47 | 'registration_sendingCredentials': function() { | 44 | 'registration_sendingCredentials': function() { |
48 | return { | 45 | return { |
49 | 'title': null, | 46 | 'title': null, |
50 | 'text': Clipperz.PM.Strings['connectionRegistrationSendingCredentialsMessageText'] | 47 | 'text': Clipperz.PM.Strings['connectionRegistrationSendingCredentialsMessageText'] |
51 | } | 48 | } |
52 | }, | 49 | }, |
53 | 50 | ||
54 | //------------------------------------------------------------------------- | 51 | //------------------------------------------------------------------------- |
55 | // | 52 | // |
56 | // One Time Password login message panel | 53 | // One Time Password login message panel |
57 | // | 54 | // |
58 | 55 | ||
59 | 'OTP_login_start': function() { | 56 | 'OTP_login_start': function() { |
60 | return { | 57 | return { |
61 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelInitialTitle'], | 58 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelInitialTitle'], |
62 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelInitialText'], | 59 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelInitialText'], |
63 | 'steps': '+3', | 60 | 'steps': '+3', |
64 | 'buttons': {} | 61 | 'buttons': {} |
65 | } | 62 | } |
66 | }, | 63 | }, |
67 | 64 | ||
68 | 'OTP_login_loadingOTP': function() { | 65 | 'OTP_login_loadingOTP': function() { |
69 | return { | 66 | return { |
70 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelLoadingTitle'], | 67 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelLoadingTitle'], |
71 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelLoadingText'] | 68 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelLoadingText'] |
72 | } | 69 | } |
73 | }, | 70 | }, |
74 | 71 | ||
75 | 'OTP_login_extractingPassphrase': function() { | 72 | 'OTP_login_extractingPassphrase': function() { |
76 | return { | 73 | return { |
77 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelProcessingTitle'], | 74 | 'title': Clipperz.PM.Strings['OTPloginMessagePanelProcessingTitle'], |
78 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelProcessingText'] | 75 | 'text': Clipperz.PM.Strings['OTPloginMessagePanelProcessingText'] |
79 | } | 76 | } |
80 | }, | 77 | }, |
81 | 78 | ||
82 | 79 | ||
83 | //------------------------------------------------------------------------- | 80 | //------------------------------------------------------------------------- |
84 | // | 81 | // |
85 | // Login message panel | 82 | // Login message panel |
86 | // | 83 | // |
87 | 'login_start': function() { | 84 | 'login_start': function() { |
88 | return { | 85 | return { |
89 | 'title': Clipperz.PM.Strings['loginMessagePanelInitialTitle'], | 86 | 'title': Clipperz.PM.Strings['loginMessagePanelInitialTitle'], |
90 | 'text': Clipperz.PM.Strings['loginMessagePanelInitialText'], | 87 | 'text': Clipperz.PM.Strings['loginMessagePanelInitialText'], |
91 | 'steps': '+7', | 88 | 'steps': '+7', |
92 | 'buttons': { | 89 | 'buttons': { |
93 | 'ok': Clipperz.PM.Strings['loginMessagePanelInitialButtonLabel'] | 90 | 'ok': Clipperz.PM.Strings['loginMessagePanelInitialButtonLabel'] |
94 | } | 91 | } |
95 | } | 92 | } |
96 | }, | 93 | }, |
97 | 94 | ||
98 | 'login_connected': function() { | 95 | 'login_connected': function() { |
99 | return { | 96 | return { |
100 | 'title': Clipperz.PM.Strings['loginMessagePanelConnectedTitle'], | 97 | 'title': Clipperz.PM.Strings['loginMessagePanelConnectedTitle'], |
101 | 'text': Clipperz.PM.Strings['loginMessagePanelConnectedText'], | 98 | 'text': Clipperz.PM.Strings['loginMessagePanelConnectedText'], |
102 | 'buttons': {} | 99 | 'buttons': {} |
103 | } | 100 | } |
104 | }, | 101 | }, |
105 | 102 | ||
106 | 'login_failed':function() { | 103 | 'login_failed':function() { |
107 | return { | 104 | return { |
108 | 'title': Clipperz.PM.Strings['loginMessagePanelFailureTitle'], | 105 | 'title': Clipperz.PM.Strings['loginMessagePanelFailureTitle'], |
109 | 'text': Clipperz.PM.Strings['loginMessagePanelFailureText'], | 106 | 'text': Clipperz.PM.Strings['loginMessagePanelFailureText'], |
110 | 'button': Clipperz.PM.Strings['loginMessagePanelFailureButtonLabel'] | 107 | 'button': Clipperz.PM.Strings['loginMessagePanelFailureButtonLabel'] |
111 | } | 108 | } |
112 | }, | 109 | }, |
113 | 110 | ||
114 | //------------------------------------------------------------------------- | 111 | //------------------------------------------------------------------------- |
115 | // | 112 | // |
116 | // Login message panel - connection | 113 | // Login message panel - connection |
117 | // | 114 | // |
118 | 'connection_sendingCredentials': function() { | 115 | 'connection_sendingCredentials': function() { |
119 | return { | 116 | return { |
120 | 'title': Clipperz.PM.Strings['connectionLoginSendingCredentialsMessageTitle'], | 117 | 'title': Clipperz.PM.Strings['connectionLoginSendingCredentialsMessageTitle'], |
121 | 'text': Clipperz.PM.Strings['connectionLoginSendingCredentialsMessageText'] | 118 | 'text': Clipperz.PM.Strings['connectionLoginSendingCredentialsMessageText'] |
122 | } | 119 | } |
123 | }, | 120 | }, |
124 | 121 | ||
125 | 'connection_credentialVerification': function() { | 122 | 'connection_credentialVerification': function() { |
126 | return { | 123 | return { |
127 | 'title': Clipperz.PM.Strings['connectionLoginCredentialsVerificationMessageTitle'], | 124 | 'title': Clipperz.PM.Strings['connectionLoginCredentialsVerificationMessageTitle'], |
128 | 'text': Clipperz.PM.Strings['connectionLoginCredentialsVerificationMessageText'] | 125 | 'text': Clipperz.PM.Strings['connectionLoginCredentialsVerificationMessageText'] |
129 | } | 126 | } |
130 | }, | 127 | }, |
131 | 128 | ||
132 | 'connection_loggedIn': function() { | 129 | 'connection_loggedIn': function() { |
133 | return { | 130 | return { |
134 | 'title': Clipperz.PM.Strings['connectionLoginDoneMessageTitle'], | 131 | 'title': Clipperz.PM.Strings['connectionLoginDoneMessageTitle'], |
135 | 'text': Clipperz.PM.Strings['connectionLoginDoneMessageText'] | 132 | 'text': Clipperz.PM.Strings['connectionLoginDoneMessageText'] |
136 | } | 133 | } |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //------------------------------------------------------------------------- | 136 | //------------------------------------------------------------------------- |
140 | // | 137 | // |
141 | //Login message panel - user | 138 | //Login message panel - user |
142 | // | 139 | // |
143 | 'connection_upgrading': function() { | 140 | 'connection_upgrading': function() { |
144 | return { | 141 | return { |
145 | 'title': Clipperz.PM.Strings['userLoginPanelUpgradingUserCredentialsMessageTitle'], | 142 | 'title': Clipperz.PM.Strings['userLoginPanelUpgradingUserCredentialsMessageTitle'], |
146 | 'text': Clipperz.PM.Strings['userLoginPanelUpgradingUserCredentialsMessageText'], | 143 | 'text': Clipperz.PM.Strings['userLoginPanelUpgradingUserCredentialsMessageText'], |
147 | 'steps': '+1' | 144 | 'steps': '+1' |
148 | } | 145 | } |
149 | }, | 146 | }, |
150 | 147 | ||
151 | 'connection_done': function() { | 148 | 'connection_done': function() { |
152 | return { | 149 | return { |
diff --git a/frontend/gamma/js/Clipperz/PM/Strings/Strings_defaults.js b/frontend/gamma/js/Clipperz/PM/Strings/Strings_defaults.js index 1ad2696..101ed3f 100644 --- a/frontend/gamma/js/Clipperz/PM/Strings/Strings_defaults.js +++ b/frontend/gamma/js/Clipperz/PM/Strings/Strings_defaults.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } | 28 | if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; } |
32 | if (typeof(Clipperz.PM.Strings.Languages) == 'undefined') { Clipperz.PM.Strings.Languages = {}; } | 29 | if (typeof(Clipperz.PM.Strings.Languages) == 'undefined') { Clipperz.PM.Strings.Languages = {}; } |
33 | 30 | ||
34 | //============================================================================= | 31 | //============================================================================= |
35 | // | 32 | // |
36 | // D E F A U L T S ( defaults ) | 33 | // D E F A U L T S ( defaults ) |
37 | // | 34 | // |
38 | //============================================================================= | 35 | //============================================================================= |
39 | 36 | ||
40 | Clipperz.PM.Strings.Languages['defaults'] = { | 37 | Clipperz.PM.Strings.Languages['defaults'] = { |
41 | 38 | ||
42 | 'elapsedTimeDescriptions': { | 39 | 'elapsedTimeDescriptions': { |
43 | 'MORE_THAN_A_MONTH_AGO': "more than a month ago", | 40 | 'MORE_THAN_A_MONTH_AGO': "more than a month ago", |
44 | 'MORE_THAN_A_WEEK_AGO': "more than a week ago", | 41 | 'MORE_THAN_A_WEEK_AGO': "more than a week ago", |
45 | 'MORE_THAN_*_WEEKS_AGO': "more than __elapsed__ weeks ago", | 42 | 'MORE_THAN_*_WEEKS_AGO': "more than __elapsed__ weeks ago", |
46 | 'YESTERDAY': "yesterday", | 43 | 'YESTERDAY': "yesterday", |
47 | '*_DAYS_AGO': "__elapsed__ days ago", | 44 | '*_DAYS_AGO': "__elapsed__ days ago", |
48 | 'ABOUT_AN_HOUR_AGO': "about an hour ago", | 45 | 'ABOUT_AN_HOUR_AGO': "about an hour ago", |
49 | '*_HOURS_AGO': "__elapsed__ hours ago", | 46 | '*_HOURS_AGO': "__elapsed__ hours ago", |
50 | 'JUST_A_FEW_MINUTES_AGO': "just a few minutes ago", | 47 | 'JUST_A_FEW_MINUTES_AGO': "just a few minutes ago", |
51 | 'ABOUT_*_MINUTES_AGO': "about __elapsed__ minutes ago" | 48 | 'ABOUT_*_MINUTES_AGO': "about __elapsed__ minutes ago" |
52 | }, | 49 | }, |
53 | /* | 50 | /* |
54 | 'unknown_ip': "unknown", | 51 | 'unknown_ip': "unknown", |
55 | 52 | ||
56 | 'countries': { | 53 | 'countries': { |
57 | '--': "unknown", | 54 | '--': "unknown", |
58 | 'AD': "Andorra", | 55 | 'AD': "Andorra", |
59 | 'AE': "United Arab Emirates", | 56 | 'AE': "United Arab Emirates", |
60 | 'AF': "Afghanistan", | 57 | 'AF': "Afghanistan", |
61 | 'AG': "Antigua and Barbuda", | 58 | 'AG': "Antigua and Barbuda", |
62 | 'AI': "Anguilla", | 59 | 'AI': "Anguilla", |
63 | 'AL': "Albania", | 60 | 'AL': "Albania", |
64 | 'AM': "Armenia", | 61 | 'AM': "Armenia", |
65 | 'AN': "Netherlands Antilles", | 62 | 'AN': "Netherlands Antilles", |
66 | 'AO': "Angola", | 63 | 'AO': "Angola", |
67 | 'AP': "Non-Spec Asia Pas Location", | 64 | 'AP': "Non-Spec Asia Pas Location", |
68 | 'AR': "Argentina", | 65 | 'AR': "Argentina", |
69 | 'AS': "American Samoa", | 66 | 'AS': "American Samoa", |
70 | 'AT': "Austria", | 67 | 'AT': "Austria", |
71 | 'AU': "Australia", | 68 | 'AU': "Australia", |
72 | 'AW': "Aruba", | 69 | 'AW': "Aruba", |
73 | 'AX': "Aland Islands", | 70 | 'AX': "Aland Islands", |
74 | 'AZ': "Azerbaijan", | 71 | 'AZ': "Azerbaijan", |
75 | 'BA': "Bosnia and Herzegowina", | 72 | 'BA': "Bosnia and Herzegowina", |
76 | 'BB': "Barbados", | 73 | 'BB': "Barbados", |
77 | 'BD': "Bangladesh", | 74 | 'BD': "Bangladesh", |
78 | 'BE': "Belgium", | 75 | 'BE': "Belgium", |
79 | 'BF': "Burkina Faso", | 76 | 'BF': "Burkina Faso", |
80 | 'BG': "Bulgaria", | 77 | 'BG': "Bulgaria", |
81 | 'BH': "Bahrain", | 78 | 'BH': "Bahrain", |
82 | 'BI': "Burundi", | 79 | 'BI': "Burundi", |
83 | 'BJ': "Benin", | 80 | 'BJ': "Benin", |
84 | 'BM': "Bermuda", | 81 | 'BM': "Bermuda", |
85 | 'BN': "Brunei Darussalam", | 82 | 'BN': "Brunei Darussalam", |
86 | 'BO': "Bolivia", | 83 | 'BO': "Bolivia", |
87 | 'BR': "Brazil", | 84 | 'BR': "Brazil", |
88 | 'BS': "Bahamas", | 85 | 'BS': "Bahamas", |
89 | 'BT': "Bhutan", | 86 | 'BT': "Bhutan", |
90 | 'BW': "Botswana", | 87 | 'BW': "Botswana", |
91 | 'BY': "Belarus", | 88 | 'BY': "Belarus", |
92 | 'BZ': "Belize", | 89 | 'BZ': "Belize", |
93 | 'CA': "Canada", | 90 | 'CA': "Canada", |
94 | 'CD': "Congo the Democratic Republic of the", | 91 | 'CD': "Congo the Democratic Republic of the", |
95 | 'CF': "Central African Republic", | 92 | 'CF': "Central African Republic", |
96 | 'CH': "Switzerland", | 93 | 'CH': "Switzerland", |
97 | 'CI': "Cote D'ivoire", | 94 | 'CI': "Cote D'ivoire", |
98 | 'CK': "Cook Islands", | 95 | 'CK': "Cook Islands", |
99 | 'CL': "Chile", | 96 | 'CL': "Chile", |
100 | 'CM': "Cameroon", | 97 | 'CM': "Cameroon", |
101 | 'CN': "China", | 98 | 'CN': "China", |
102 | 'CO': "Colombia", | 99 | 'CO': "Colombia", |
103 | 'CR': "Costa Rica", | 100 | 'CR': "Costa Rica", |
104 | 'CS': "Serbia and Montenegro", | 101 | 'CS': "Serbia and Montenegro", |
105 | 'CU': "Cuba", | 102 | 'CU': "Cuba", |
106 | 'CY': "Cyprus", | 103 | 'CY': "Cyprus", |
107 | 'CZ': "Czech Republic", | 104 | 'CZ': "Czech Republic", |
108 | 'DE': "Germany", | 105 | 'DE': "Germany", |
109 | 'DJ': "Djibouti", | 106 | 'DJ': "Djibouti", |
110 | 'DK': "Denmark", | 107 | 'DK': "Denmark", |
111 | 'DO': "Dominican Republic", | 108 | 'DO': "Dominican Republic", |
112 | 'DZ': "Algeria", | 109 | 'DZ': "Algeria", |
113 | 'EC': "Ecuador", | 110 | 'EC': "Ecuador", |
114 | 'EE': "Estonia", | 111 | 'EE': "Estonia", |
115 | 'EG': "Egypt", | 112 | 'EG': "Egypt", |
116 | 'ER': "Eritrea", | 113 | 'ER': "Eritrea", |
117 | 'ES': "Spain", | 114 | 'ES': "Spain", |
118 | 'ET': "Ethiopia", | 115 | 'ET': "Ethiopia", |
119 | 'EU': "European Union", | 116 | 'EU': "European Union", |
120 | 'FI': "Finland", | 117 | 'FI': "Finland", |
121 | 'FJ': "Fiji", | 118 | 'FJ': "Fiji", |
122 | 'FM': "Micronesia Federated States of", | 119 | 'FM': "Micronesia Federated States of", |
123 | 'FO': "Faroe Islands", | 120 | 'FO': "Faroe Islands", |
124 | 'FR': "France", | 121 | 'FR': "France", |
125 | 'GA': "Gabon", | 122 | 'GA': "Gabon", |
126 | 'GB': "United Kingdom", | 123 | 'GB': "United Kingdom", |
127 | 'GD': "Grenada", | 124 | 'GD': "Grenada", |
128 | 'GE': "Georgia", | 125 | 'GE': "Georgia", |
129 | 'GF': "French Guiana", | 126 | 'GF': "French Guiana", |
130 | 'GG': "Guernsey", | 127 | 'GG': "Guernsey", |
131 | 'GH': "Ghana", | 128 | 'GH': "Ghana", |
132 | 'GI': "Gibraltar", | 129 | 'GI': "Gibraltar", |
133 | 'GL': "Greenland", | 130 | 'GL': "Greenland", |
134 | 'GM': "Gambia", | 131 | 'GM': "Gambia", |
135 | 'GP': "Guadeloupe", | 132 | 'GP': "Guadeloupe", |
136 | 'GR': "Greece", | 133 | 'GR': "Greece", |
137 | 'GT': "Guatemala", | 134 | 'GT': "Guatemala", |
138 | 'GU': "Guam", | 135 | 'GU': "Guam", |
139 | 'GW': "Guinea-Bissau", | 136 | 'GW': "Guinea-Bissau", |
140 | 'GY': "Guyana", | 137 | 'GY': "Guyana", |
141 | 'HK': "Hong Kong", | 138 | 'HK': "Hong Kong", |
142 | 'HN': "Honduras", | 139 | 'HN': "Honduras", |
143 | 'HR': "Croatia (Local Name: Hrvatska)", | 140 | 'HR': "Croatia (Local Name: Hrvatska)", |
144 | 'HT': "Haiti", | 141 | 'HT': "Haiti", |
145 | 'HU': "Hungary", | 142 | 'HU': "Hungary", |
146 | 'ID': "Indonesia", | 143 | 'ID': "Indonesia", |
147 | 'IE': "Ireland", | 144 | 'IE': "Ireland", |
148 | 'IL': "Israel", | 145 | 'IL': "Israel", |
149 | 'IM': "Isle of Man", | 146 | 'IM': "Isle of Man", |
150 | 'IN': "India", | 147 | 'IN': "India", |
151 | 'IO': "British Indian Ocean Territory", | 148 | 'IO': "British Indian Ocean Territory", |
152 | 'IQ': "Iraq", | 149 | 'IQ': "Iraq", |
diff --git a/frontend/gamma/js/Clipperz/PM/Strings/Strings_en-US.js b/frontend/gamma/js/Clipperz/PM/Strings/Strings_en-US.js index eebdb16..b540633 100644 --- a/frontend/gamma/js/Clipperz/PM/Strings/Strings_en-US.js +++ b/frontend/gamma/js/Clipperz/PM/Strings/Strings_en-US.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | //============================================================================= | 26 | //============================================================================= |
30 | // | 27 | // |
31 | // E N G L I S H A M E R I C A N ( en_US ) | 28 | // E N G L I S H A M E R I C A N ( en_US ) |
32 | // | 29 | // |
33 | //============================================================================= | 30 | //============================================================================= |
34 | 31 | ||
35 | Clipperz.PM.Strings.Languages['en-us'] = { | 32 | Clipperz.PM.Strings.Languages['en-us'] = { |
36 | /* | 33 | /* |
37 | //Login page - description | 34 | //Login page - description |
38 | 'clipperzServiceDescription': "\ | 35 | 'clipperzServiceDescription': "\ |
39 | <!-- FIX CSS DONE -->\ | 36 | <!-- FIX CSS DONE -->\ |
40 | <h2>Keep it to yourself!</h2>\ | 37 | <h2>Keep it to yourself!</h2>\ |
41 | <ul>\ | 38 | <ul>\ |
42 | <li>\ | 39 | <li>\ |
43 | <h3>Clipperz is:</h3>\ | 40 | <h3>Clipperz is:</h3>\ |
44 | <ul>\ | 41 | <ul>\ |
45 | <li><p>a secure and simple password manager</p></li>\ | 42 | <li><p>a secure and simple password manager</p></li>\ |
46 | <li><p>an effective single sign-on solution</p></li>\ | 43 | <li><p>an effective single sign-on solution</p></li>\ |
47 | <li><p>a digital vault for your personal data</p></li>\ | 44 | <li><p>a digital vault for your personal data</p></li>\ |
48 | </ul>\ | 45 | </ul>\ |
49 | </li>\ | 46 | </li>\ |
50 | <li>\ | 47 | <li>\ |
51 | <h3>With Clipperz you can:</h3>\ | 48 | <h3>With Clipperz you can:</h3>\ |
52 | <ul>\ | 49 | <ul>\ |
53 | <li><p>store and manage your passwords and online credentials</p></li>\ | 50 | <li><p>store and manage your passwords and online credentials</p></li>\ |
54 | <li><p>login to your web services without entering any username or password</p></li>\ | 51 | <li><p>login to your web services without entering any username or password</p></li>\ |
55 | <li><p>protect all your sensitive data: codes for burglar alarms, PINs, credit card numbers, …</p></li>\ | 52 | <li><p>protect all your sensitive data: codes for burglar alarms, PINs, credit card numbers, …</p></li>\ |
56 | <li><p>share secrets with family members and associates (coming soon)</p></li>\ | 53 | <li><p>share secrets with family members and associates (coming soon)</p></li>\ |
57 | </ul>\ | 54 | </ul>\ |
58 | </li>\ | 55 | </li>\ |
59 | <li>\ | 56 | <li>\ |
60 | <h3>Clipperz benefits:</h3>\ | 57 | <h3>Clipperz benefits:</h3>\ |
61 | <ul>\ | 58 | <ul>\ |
62 | <li><p>free and completely anonymous</p></li>\ | 59 | <li><p>free and completely anonymous</p></li>\ |
63 | <li><p>access it any time from any computer</p></li>\ | 60 | <li><p>access it any time from any computer</p></li>\ |
64 | <li><p>no software to download and nothing to install</p></li>\ | 61 | <li><p>no software to download and nothing to install</p></li>\ |
65 | <li><p>avoid keeping secrets on your PC or on paper</p></li>\ | 62 | <li><p>avoid keeping secrets on your PC or on paper</p></li>\ |
66 | </ul>\ | 63 | </ul>\ |
67 | </li>\ | 64 | </li>\ |
68 | <li>\ | 65 | <li>\ |
69 | <h3>Clipperz security:</h3>\ | 66 | <h3>Clipperz security:</h3>\ |
70 | <ul>\ | 67 | <ul>\ |
71 | <li><p>your secrets are locally encrypted by your browser before being uploaded to Clipperz</p></li>\ | 68 | <li><p>your secrets are locally encrypted by your browser before being uploaded to Clipperz</p></li>\ |
72 | <li><p>the encryption key is a passphrase known only to you</p></li>\ | 69 | <li><p>the encryption key is a passphrase known only to you</p></li>\ |
73 | <li><p>Clipperz hosts your sensitive data in encrypted form and could never actually access the data in its plain form</p></li>\ | 70 | <li><p>Clipperz hosts your sensitive data in encrypted form and could never actually access the data in its plain form</p></li>\ |
74 | <li><p>Clipperz is built upon standard encryption schemes, nothing fancies or homemade</p></li>\ | 71 | <li><p>Clipperz is built upon standard encryption schemes, nothing fancies or homemade</p></li>\ |
75 | <li><p>you can review the source code anytime you like, but you need to know nothing about cryptography to be an happy user!</p></li>\ | 72 | <li><p>you can review the source code anytime you like, but you need to know nothing about cryptography to be an happy user!</p></li>\ |
76 | </ul>\ | 73 | </ul>\ |
77 | </li>\ | 74 | </li>\ |
78 | <li>\ | 75 | <li>\ |
79 | <a href=\"http://www.clipperz.com\" target=\"_blank\">Learn more</a>\ | 76 | <a href=\"http://www.clipperz.com\" target=\"_blank\">Learn more</a>\ |
80 | </li>\ | 77 | </li>\ |
81 | </ul>", | 78 | </ul>", |
82 | 79 | ||
83 | 80 | ||
84 | 'loginFormTitle': "login with your Clipperz account", | 81 | 'loginFormTitle': "login with your Clipperz account", |
85 | 'loginFormUsernameLabel': "username", | 82 | 'loginFormUsernameLabel': "username", |
86 | 'loginFormPassphraseLabel': "passphrase", | 83 | 'loginFormPassphraseLabel': "passphrase", |
87 | 'loginFormDontHaveAnAccountLabel': "don\'t have an account?", | 84 | 'loginFormDontHaveAnAccountLabel': "don\'t have an account?", |
88 | 'loginFormCreateOneLabel': "create one", | 85 | 'loginFormCreateOneLabel': "create one", |
89 | 'loginFormForgotYourCredentialsLabel': "forgot your credentials?", | 86 | 'loginFormForgotYourCredentialsLabel': "forgot your credentials?", |
90 | 'loginFormAarghThatsBadLabel': "aargh! that\'s bad!", | 87 | 'loginFormAarghThatsBadLabel': "aargh! that\'s bad!", |
91 | 'loginFormAfraidOfMaliciousScriptsLabel': "afraid of malicious scripts?", | 88 | 'loginFormAfraidOfMaliciousScriptsLabel': "afraid of malicious scripts?", |
92 | 'loginFormVerifyTheCodeLabel': "verify the code", | 89 | 'loginFormVerifyTheCodeLabel': "verify the code", |
93 | 'loginFormButtonLabel': "Login", | 90 | 'loginFormButtonLabel': "Login", |
94 | 'loginFormOneTimePasswordCheckboxLabel': "use a one-time passphrase", | 91 | 'loginFormOneTimePasswordCheckboxLabel': "use a one-time passphrase", |
95 | 'loginFormOneTimePasswordCheckboxDescription': "", | 92 | 'loginFormOneTimePasswordCheckboxDescription': "", |
96 | 93 | ||
97 | // Login page - language selection | 94 | // Login page - language selection |
98 | 'loginPanelSwithLanguageDescription': "<h5>Switch to your preferred language</h5>", | 95 | 'loginPanelSwithLanguageDescription': "<h5>Switch to your preferred language</h5>", |
99 | 96 | ||
100 | // Login page - browser compatibility | 97 | // Login page - browser compatibility |
101 | 'browserCompatibilityDescription': "<p>Have a better and safer Clipperz experience with Firefox. However Clipperz works just fine also with Opera, Safari and MS Internet Explorer!</p>", | 98 | 'browserCompatibilityDescription': "<p>Have a better and safer Clipperz experience with Firefox. However Clipperz works just fine also with Opera, Safari and MS Internet Explorer!</p>", |
102 | 99 | ||
103 | // Login with OTP - message panel | 100 | // Login with OTP - message panel |
104 | 'OTPloginMessagePanelInitialTitle': "Logging in using a one-time passphrase", | 101 | 'OTPloginMessagePanelInitialTitle': "Logging in using a one-time passphrase", |
105 | 'OTPloginMessagePanelInitialText': "Sending OTP credentials …", | 102 | 'OTPloginMessagePanelInitialText': "Sending OTP credentials …", |
106 | 'OTPloginMessagePanelLoadingTitle': "Logging in using a one-time passphrase", | 103 | 'OTPloginMessagePanelLoadingTitle': "Logging in using a one-time passphrase", |
107 | 'OTPloginMessagePanelLoadingText': "Fetching encrypted authentication data from the server …", | 104 | 'OTPloginMessagePanelLoadingText': "Fetching encrypted authentication data from the server …", |
108 | 'OTPloginMessagePanelProcessingTitle': "Logging in using a one-time passphrase", | 105 | 'OTPloginMessagePanelProcessingTitle': "Logging in using a one-time passphrase", |
109 | 'OTPloginMessagePanelProcessingText': "Local decryption of authentication data", | 106 | 'OTPloginMessagePanelProcessingText': "Local decryption of authentication data", |
110 | 107 | ||
111 | // Regular login - message panel | 108 | // Regular login - message panel |
112 | 'loginMessagePanelInitialTitle': "Logging in …", | 109 | 'loginMessagePanelInitialTitle': "Logging in …", |
113 | 'loginMessagePanelInitialText': "---", | 110 | 'loginMessagePanelInitialText': "---", |
114 | 'loginMessagePanelInitialButtonLabel': "Cancel", | 111 | 'loginMessagePanelInitialButtonLabel': "Cancel", |
115 | 'loginMessagePanelConnectedTitle': "Connected", | 112 | 'loginMessagePanelConnectedTitle': "Connected", |
116 | 'loginMessagePanelConnectedText': "Done", | 113 | 'loginMessagePanelConnectedText': "Done", |
117 | 'loginMessagePanelFailureTitle': "Error", | 114 | 'loginMessagePanelFailureTitle': "Error", |
118 | 'loginMessagePanelFailureText': "Login failed", | 115 | 'loginMessagePanelFailureText': "Login failed", |
119 | 'loginMessagePanelFailureButtonLabel': "Close", | 116 | 'loginMessagePanelFailureButtonLabel': "Close", |
120 | 117 | ||
121 | // Regular login - message panel - connection | 118 | // Regular login - message panel - connection |
122 | 'connectionLoginSendingCredentialsMessageTitle': "Verifying credentials", | 119 | 'connectionLoginSendingCredentialsMessageTitle': "Verifying credentials", |
123 | 'connectionLoginSendingCredentialsMessageText': "Sending credentials", | 120 | 'connectionLoginSendingCredentialsMessageText': "Sending credentials", |
124 | 'connectionLoginCredentialsVerificationMessageTitle':"Verifying credentials", | 121 | 'connectionLoginCredentialsVerificationMessageTitle':"Verifying credentials", |
125 | 'connectionLoginCredentialsVerificationMessageText':"Performing SRP authentication", | 122 | 'connectionLoginCredentialsVerificationMessageText':"Performing SRP authentication", |
126 | 'connectionLoginDoneMessageTitle': "Verifying credentials", | 123 | 'connectionLoginDoneMessageTitle': "Verifying credentials", |
127 | 'connectionLoginDoneMessageText': "Connected", | 124 | 'connectionLoginDoneMessageText': "Connected", |
128 | 125 | ||
129 | //Regular login - message panel - user | 126 | //Regular login - message panel - user |
130 | 'userLoginPanelUpgradingUserCredentialsMessageTitle': "Verifying credentials", | 127 | 'userLoginPanelUpgradingUserCredentialsMessageTitle': "Verifying credentials", |
131 | 'userLoginPanelUpgradingUserCredentialsMessageText': "Upgrading your credentials to a new authentication schema", | 128 | 'userLoginPanelUpgradingUserCredentialsMessageText': "Upgrading your credentials to a new authentication schema", |
132 | 'userLoginPanelConnectedMessageTitle': "User authenticated", | 129 | 'userLoginPanelConnectedMessageTitle': "User authenticated", |
133 | 'userLoginPanelConnectedMessageText': "Successfully logged in", | 130 | 'userLoginPanelConnectedMessageText': "Successfully logged in", |
134 | 'userLoginPanelTryingAnOlderConnectionSchemaMessageTitle': "Verifying credentials", | 131 | 'userLoginPanelTryingAnOlderConnectionSchemaMessageTitle': "Verifying credentials", |
135 | 'userLoginPanelTryingAnOlderConnectionSchemaMessageText': "Trying an older authentication schema", | 132 | 'userLoginPanelTryingAnOlderConnectionSchemaMessageText': "Trying an older authentication schema", |
136 | 'userLoginPanelLoadingUserDataMessageTitle': "User authenticated", | 133 | 'userLoginPanelLoadingUserDataMessageTitle': "User authenticated", |
137 | 'userLoginPanelLoadingUserDataMessageText': "Downloading encrypted card headers from Clipperz", | 134 | 'userLoginPanelLoadingUserDataMessageText': "Downloading encrypted card headers from Clipperz", |
138 | 'userLoginPanelDecryptingUserDataMessageTitle': "User authenticated", | 135 | 'userLoginPanelDecryptingUserDataMessageTitle': "User authenticated", |
139 | 'userLoginPanelDecryptingUserDataMessageText': "Local decryption of card headers", | 136 | 'userLoginPanelDecryptingUserDataMessageText': "Local decryption of card headers", |
140 | 'userLoginPanelDecryptingUserStatisticsMessageTitle': "User authenticated", | 137 | 'userLoginPanelDecryptingUserStatisticsMessageTitle': "User authenticated", |
141 | 'userLoginPanelDecryptingUserStatisticsMessageText': "Local decryption of usage statistics", | 138 | 'userLoginPanelDecryptingUserStatisticsMessageText': "Local decryption of usage statistics", |
142 | 139 | ||
143 | //Registration page - splash alert | 140 | //Registration page - splash alert |
144 | 'splashAlertTitle':"Welcome to Clipperz!", | 141 | 'splashAlertTitle':"Welcome to Clipperz!", |
145 | 'splashAlertText': "\ | 142 | 'splashAlertText': "\ |
146 | <!-- FIX CSS DONE! -->\ | 143 | <!-- FIX CSS DONE! -->\ |
147 | <p>Some security advice</p>\ | 144 | <p>Some security advice</p>\ |
148 | <ul>\ | 145 | <ul>\ |
149 | <li><p>Storing your data at Clipperz is as secure as the passphrase you choose to protect them. Nobody can access them unless they know your passphrase.</p></li>\ | 146 | <li><p>Storing your data at Clipperz is as secure as the passphrase you choose to protect them. Nobody can access them unless they know your passphrase.</p></li>\ |
150 | <li><p>If you are going to use Clipperz for safeguarding sensitive and critical information please make sure to use a strong passphrase. The longer the better!</p></li>\ | 147 | <li><p>If you are going to use Clipperz for safeguarding sensitive and critical information please make sure to use a strong passphrase. The longer the better!</p></li>\ |
151 | <li><p>Clipperz will not be able to recover a lost passphrase!</p></li>\ | 148 | <li><p>Clipperz will not be able to recover a lost passphrase!</p></li>\ |
152 | </ul>\ | 149 | </ul>\ |
diff --git a/frontend/gamma/js/Clipperz/PM/Toll.js b/frontend/gamma/js/Clipperz/PM/Toll.js index a533f51..bb31c43 100644 --- a/frontend/gamma/js/Clipperz/PM/Toll.js +++ b/frontend/gamma/js/Clipperz/PM/Toll.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } | 26 | if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } |
30 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } | 27 | if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; } |
31 | 28 | ||
32 | //============================================================================= | 29 | //============================================================================= |
33 | 30 | ||
34 | Clipperz.PM.Toll = function(args) { | 31 | Clipperz.PM.Toll = function(args) { |
35 | args = args || {}; | 32 | args = args || {}; |
36 | 33 | ||
37 | this._requestType = args.requestType; | 34 | this._requestType = args.requestType; |
38 | this._targetValue = args.targetValue; | 35 | this._targetValue = args.targetValue; |
39 | this._cost = args.cost; | 36 | this._cost = args.cost; |
40 | this._toll = null; | 37 | this._toll = null; |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | Clipperz.PM.Toll.prototype = MochiKit.Base.update(null, { | 42 | Clipperz.PM.Toll.prototype = MochiKit.Base.update(null, { |
46 | 43 | ||
47 | 'toString': function() { | 44 | 'toString': function() { |
48 | return "Clipperz.PM.Toll (" + this.requestType() + ": " + this.cost() + " - " + ((this.toll() == null)? 'UNPAID' : 'PAID') + ")"; | 45 | return "Clipperz.PM.Toll (" + this.requestType() + ": " + this.cost() + " - " + ((this.toll() == null)? 'UNPAID' : 'PAID') + ")"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'requestType': function() { | 50 | 'requestType': function() { |
54 | return this._requestType; | 51 | return this._requestType; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //------------------------------------------------------------------------- | 54 | //------------------------------------------------------------------------- |
58 | 55 | ||
59 | 'targetValue': function() { | 56 | 'targetValue': function() { |
60 | return this._targetValue; | 57 | return this._targetValue; |
61 | }, | 58 | }, |
62 | 59 | ||
63 | //------------------------------------------------------------------------- | 60 | //------------------------------------------------------------------------- |
64 | 61 | ||
65 | 'cost': function() { | 62 | 'cost': function() { |
66 | return this._cost; | 63 | return this._cost; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'toll': function() { | 68 | 'toll': function() { |
72 | return this._toll; | 69 | return this._toll; |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //------------------------------------------------------------------------- | 72 | //------------------------------------------------------------------------- |
76 | /* | 73 | /* |
77 | '__pay': function() { | 74 | '__pay': function() { |
78 | varresult; | 75 | varresult; |
79 | vartargetData; | 76 | vartargetData; |
80 | vartargetMatchSize; | 77 | vartargetMatchSize; |
81 | var prefixMatchingBits; | 78 | var prefixMatchingBits; |
82 | varpayment; | 79 | varpayment; |
83 | var i; | 80 | var i; |
84 | 81 | ||
85 | if (this.toll() == null) { | 82 | if (this.toll() == null) { |
86 | i = 0; | 83 | i = 0; |
87 | targetData = new Clipperz.ByteArray("0x" + this.targetValue()); | 84 | targetData = new Clipperz.ByteArray("0x" + this.targetValue()); |
88 | targetMatchSize = this.cost(); | 85 | targetMatchSize = this.cost(); |
89 | 86 | ||
90 | payment = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32); | 87 | payment = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32); |
91 | 88 | ||
92 | do { | 89 | do { |
93 | varpaymentData; | 90 | varpaymentData; |
94 | 91 | ||
95 | //payment = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32); | 92 | //payment = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(32); |
96 | payment.increment(); | 93 | payment.increment(); |
97 | paymentData = Clipperz.Crypto.SHA.sha256(payment); | 94 | paymentData = Clipperz.Crypto.SHA.sha256(payment); |
98 | // prefixMatchingBits = this.prefixMatchingBits(targetData, paymentData); | 95 | // prefixMatchingBits = this.prefixMatchingBits(targetData, paymentData); |
99 | prefixMatchingBits = Clipperz.ByteArray.prefixMatchingBits(targetData, paymentData); | 96 | prefixMatchingBits = Clipperz.ByteArray.prefixMatchingBits(targetData, paymentData); |
100 | i++; | 97 | i++; |
101 | } while (prefixMatchingBits < targetMatchSize); | 98 | } while (prefixMatchingBits < targetMatchSize); |
102 | 99 | ||
103 | this._toll = payment.toHexString().substring(2) | 100 | this._toll = payment.toHexString().substring(2) |
104 | } | 101 | } |
105 | 102 | ||
106 | return this; | 103 | return this; |
107 | }, | 104 | }, |
108 | */ | 105 | */ |
109 | //------------------------------------------------------------------------- | 106 | //------------------------------------------------------------------------- |
110 | 107 | ||
111 | 'innerDeferredPay': function (aTargetValue, aCost, aPayment) { | 108 | 'innerDeferredPay': function (aTargetValue, aCost, aPayment) { |
112 | var deferredResult; | 109 | var deferredResult; |
113 | var result; | 110 | var result; |
114 | var payment; | 111 | var payment; |
115 | var i; | 112 | var i; |
116 | 113 | ||
117 | result = null; | 114 | result = null; |
118 | payment = aPayment; | 115 | payment = aPayment; |
119 | i = 0; | 116 | i = 0; |
120 | 117 | ||
121 | while ((result == null) && (i < Clipperz.PM.Toll.numberOfCloseLoopIterations)) { | 118 | while ((result == null) && (i < Clipperz.PM.Toll.numberOfCloseLoopIterations)) { |
122 | if (Clipperz.ByteArray.prefixMatchingBits(aTargetValue, Clipperz.Crypto.SHA.sha256(payment)) > aCost) { | 119 | if (Clipperz.ByteArray.prefixMatchingBits(aTargetValue, Clipperz.Crypto.SHA.sha256(payment)) > aCost) { |
123 | result = payment; | 120 | result = payment; |
124 | } else { | 121 | } else { |
125 | payment.increment(); | 122 | payment.increment(); |
126 | } | 123 | } |
127 | 124 | ||
128 | i ++; | 125 | i ++; |
129 | } | 126 | } |
130 | 127 | ||
131 | if (result == null) { | 128 | if (result == null) { |
132 | deferredResult = MochiKit.Async.callLater(Clipperz.PM.Toll.pauseBetweenEachCloseLoop, MochiKit.Base.method(this, 'innerDeferredPay', aTargetValue, aCost, aPayment)); | 129 | deferredResult = MochiKit.Async.callLater(Clipperz.PM.Toll.pauseBetweenEachCloseLoop, MochiKit.Base.method(this, 'innerDeferredPay', aTargetValue, aCost, aPayment)); |
133 | } else { | 130 | } else { |
134 | deferredResult = MochiKit.Async.succeed(result); | 131 | deferredResult = MochiKit.Async.succeed(result); |
135 | } | 132 | } |
136 | 133 | ||
137 | return deferredResult; | 134 | return deferredResult; |
138 | }, | 135 | }, |
139 | 136 | ||
140 | 'deferredPay': function () { | 137 | 'deferredPay': function () { |
141 | vardeferredResult; | 138 | vardeferredResult; |
142 | vartoll; | 139 | vartoll; |
143 | 140 | ||
144 | toll = this; | 141 | toll = this; |
145 | deferredResult = new Clipperz.Async.Deferred("Toll.deferredPay"); | 142 | deferredResult = new Clipperz.Async.Deferred("Toll.deferredPay"); |
146 | //deferredResult.addLog("--->>> deferredPay - " + this.cost()); | 143 | //deferredResult.addLog("--->>> deferredPay - " + this.cost()); |
147 | deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'getRandomBytes', 32); | 144 | deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'getRandomBytes', 32); |
148 | deferredResult.addMethod(toll, 'innerDeferredPay', new Clipperz.ByteArray("0x" + this.targetValue()), this.cost()); | 145 | deferredResult.addMethod(toll, 'innerDeferredPay', new Clipperz.ByteArray("0x" + this.targetValue()), this.cost()); |
149 | deferredResult.addCallback(MochiKit.Base.bind(function(aPayment) { | 146 | deferredResult.addCallback(MochiKit.Base.bind(function(aPayment) { |
150 | var result; | 147 | var result; |
151 | 148 | ||
152 | result = { | 149 | result = { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/download.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/download.js index 169946a..25e82ca 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/download.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/download.js | |||
@@ -1,120 +1,117 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //download.js | 27 | //download.js |
31 | //Download | 28 | //Download |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/15/10 | 30 | //Created by Giulio Cesare Solaroli on 3/15/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_CoverActions_downloadWidth = 46.0; | 35 | var kClipperz_PM_UI_Canvas_CoverActions_downloadWidth = 46.0; |
39 | var kClipperz_PM_UI_Canvas_CoverActions_downloadHeight = 46.0; | 36 | var kClipperz_PM_UI_Canvas_CoverActions_downloadHeight = 46.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_CoverActions_download(canvas, aColor, aFillColor, aThickness) | 38 | function Clipperz_PM_UI_Canvas_CoverActions_download(canvas, aColor, aFillColor, aThickness) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var stroke; | 43 | var stroke; |
47 | var path; | 44 | var path; |
48 | var pointX; | 45 | var pointX; |
49 | var pointY; | 46 | var pointY; |
50 | if (window.devicePixelRatio) | 47 | if (window.devicePixelRatio) |
51 | resolution = window.devicePixelRatio; | 48 | resolution = window.devicePixelRatio; |
52 | else | 49 | else |
53 | resolution = 1.0; | 50 | resolution = 1.0; |
54 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_CoverActions_downloadWidth + canvas.height / kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); | 51 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_CoverActions_downloadWidth + canvas.height / kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); |
55 | 52 | ||
56 | context.save(); | 53 | context.save(); |
57 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_CoverActions_downloadWidth, canvas.height / kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); | 54 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_CoverActions_downloadWidth, canvas.height / kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); |
58 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_CoverActions_downloadWidth, kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); | 55 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_CoverActions_downloadWidth, kClipperz_PM_UI_Canvas_CoverActions_downloadHeight); |
59 | 56 | ||
60 | // arrow | 57 | // arrow |
61 | 58 | ||
62 | stroke = aThickness; | 59 | stroke = aThickness; |
63 | stroke *= resolution; | 60 | stroke *= resolution; |
64 | if (stroke < 1.0) | 61 | if (stroke < 1.0) |
65 | stroke = Math.ceil(stroke); | 62 | stroke = Math.ceil(stroke); |
66 | else | 63 | else |
67 | stroke = Math.round(stroke); | 64 | stroke = Math.round(stroke); |
68 | stroke /= resolution; | 65 | stroke /= resolution; |
69 | alignStroke = (0.5 * stroke * resolution) % 1.0; | 66 | alignStroke = (0.5 * stroke * resolution) % 1.0; |
70 | context.beginPath(); | 67 | context.beginPath(); |
71 | pointX = 16.5; | 68 | pointX = 16.5; |
72 | pointY = 22.5; | 69 | pointY = 22.5; |
73 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
74 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
75 | context.moveTo(pointX, pointY); | 72 | context.moveTo(pointX, pointY); |
76 | pointX = 19.5; | 73 | pointX = 19.5; |
77 | pointY = 8.5; | 74 | pointY = 8.5; |
78 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
79 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
80 | context.lineTo(pointX, pointY); | 77 | context.lineTo(pointX, pointY); |
81 | pointX = 30.038; | 78 | pointX = 30.038; |
82 | pointY = 10.605; | 79 | pointY = 10.605; |
83 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 80 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
84 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 81 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
85 | context.lineTo(pointX, pointY); | 82 | context.lineTo(pointX, pointY); |
86 | pointX = 27.354; | 83 | pointX = 27.354; |
87 | pointY = 24.354; | 84 | pointY = 24.354; |
88 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
89 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
90 | context.lineTo(pointX, pointY); | 87 | context.lineTo(pointX, pointY); |
91 | pointX = 33.28; | 88 | pointX = 33.28; |
92 | pointY = 25.293; | 89 | pointY = 25.293; |
93 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 90 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
94 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 91 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
95 | context.lineTo(pointX, pointY); | 92 | context.lineTo(pointX, pointY); |
96 | pointX = 19.81; | 93 | pointX = 19.81; |
97 | pointY = 36.828; | 94 | pointY = 36.828; |
98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 95 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 96 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
100 | context.lineTo(pointX, pointY); | 97 | context.lineTo(pointX, pointY); |
101 | pointX = 10.07; | 98 | pointX = 10.07; |
102 | pointY = 21.617; | 99 | pointY = 21.617; |
103 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 100 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
104 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 101 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
105 | context.lineTo(pointX, pointY); | 102 | context.lineTo(pointX, pointY); |
106 | pointX = 16.5; | 103 | pointX = 16.5; |
107 | pointY = 22.5; | 104 | pointY = 22.5; |
108 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 105 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
109 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 106 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
110 | context.lineTo(pointX, pointY); | 107 | context.lineTo(pointX, pointY); |
111 | context.closePath(); | 108 | context.closePath(); |
112 | context.fillStyle = aFillColor; | 109 | context.fillStyle = aFillColor; |
113 | context.fill(); | 110 | context.fill(); |
114 | context.strokeStyle = aColor; | 111 | context.strokeStyle = aColor; |
115 | context.lineWidth = stroke; | 112 | context.lineWidth = stroke; |
116 | context.lineCap = "square"; | 113 | context.lineCap = "square"; |
117 | context.stroke(); | 114 | context.stroke(); |
118 | 115 | ||
119 | context.restore(); | 116 | context.restore(); |
120 | } | 117 | } |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/look.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/look.js index b8e535b..ba425ec 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/look.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/CoverActions/look.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //look.js | 27 | //look.js |
31 | //Look | 28 | //Look |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/15/10 | 30 | //Created by Giulio Cesare Solaroli on 3/15/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_CoverActions_lookWidth = 46.0; | 35 | var kClipperz_PM_UI_Canvas_CoverActions_lookWidth = 46.0; |
39 | var kClipperz_PM_UI_Canvas_CoverActions_lookHeight = 46.0; | 36 | var kClipperz_PM_UI_Canvas_CoverActions_lookHeight = 46.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_CoverActions_look(canvas, aColor, aFillColor, aThickness) | 38 | function Clipperz_PM_UI_Canvas_CoverActions_look(canvas, aColor, aFillColor, aThickness) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var stroke; | 43 | var stroke; |
47 | var path; | 44 | var path; |
48 | var pointX; | 45 | var pointX; |
49 | var pointY; | 46 | var pointY; |
50 | if (window.devicePixelRatio) | 47 | if (window.devicePixelRatio) |
51 | resolution = window.devicePixelRatio; | 48 | resolution = window.devicePixelRatio; |
52 | else | 49 | else |
53 | resolution = 1.0; | 50 | resolution = 1.0; |
54 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth + canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight); | 51 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth + canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight); |
55 | 52 | ||
56 | context.save(); | 53 | context.save(); |
57 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth, canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight); | 54 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_CoverActions_lookWidth, canvas.height / kClipperz_PM_UI_Canvas_CoverActions_lookHeight); |
58 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_CoverActions_lookWidth, kClipperz_PM_UI_Canvas_CoverActions_lookHeight); | 55 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_CoverActions_lookWidth, kClipperz_PM_UI_Canvas_CoverActions_lookHeight); |
59 | 56 | ||
60 | // Layer 6 | 57 | // Layer 6 |
61 | 58 | ||
62 | stroke = aThickness; | 59 | stroke = aThickness; |
63 | stroke *= resolution; | 60 | stroke *= resolution; |
64 | if (stroke < 1.0) | 61 | if (stroke < 1.0) |
65 | stroke = Math.ceil(stroke); | 62 | stroke = Math.ceil(stroke); |
66 | else | 63 | else |
67 | stroke = Math.round(stroke); | 64 | stroke = Math.round(stroke); |
68 | stroke /= resolution; | 65 | stroke /= resolution; |
69 | alignStroke = (0.5 * stroke * resolution) % 1.0; | 66 | alignStroke = (0.5 * stroke * resolution) % 1.0; |
70 | context.save(); | 67 | context.save(); |
71 | context.translate(17.5, 23.0); | 68 | context.translate(17.5, 23.0); |
72 | context.rotate(-0.503); | 69 | context.rotate(-0.503); |
73 | context.translate(-17.5, -23.0); | 70 | context.translate(-17.5, -23.0); |
74 | context.beginPath(); | 71 | context.beginPath(); |
75 | pointX = 28.5; | 72 | pointX = 28.5; |
76 | pointY = 31.5; | 73 | pointY = 31.5; |
77 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 74 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
78 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 75 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
79 | context.moveTo(pointX, pointY); | 76 | context.moveTo(pointX, pointY); |
80 | pointX = 28.5; | 77 | pointX = 28.5; |
81 | pointY = 14.5; | 78 | pointY = 14.5; |
82 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 79 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
83 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 80 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
84 | context.lineTo(pointX, pointY); | 81 | context.lineTo(pointX, pointY); |
85 | pointX = 6.5; | 82 | pointX = 6.5; |
86 | pointY = 14.5; | 83 | pointY = 14.5; |
87 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 84 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
88 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 85 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
89 | context.lineTo(pointX, pointY); | 86 | context.lineTo(pointX, pointY); |
90 | pointX = 6.5; | 87 | pointX = 6.5; |
91 | pointY = 31.5; | 88 | pointY = 31.5; |
92 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 89 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
93 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 90 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
94 | context.lineTo(pointX, pointY); | 91 | context.lineTo(pointX, pointY); |
95 | pointX = 28.5; | 92 | pointX = 28.5; |
96 | pointY = 31.5; | 93 | pointY = 31.5; |
97 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 94 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
98 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 95 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
99 | context.lineTo(pointX, pointY); | 96 | context.lineTo(pointX, pointY); |
100 | context.closePath(); | 97 | context.closePath(); |
101 | context.fillStyle = aFillColor; | 98 | context.fillStyle = aFillColor; |
102 | context.fill(); | 99 | context.fill(); |
103 | context.strokeStyle = aColor; | 100 | context.strokeStyle = aColor; |
104 | context.lineWidth = stroke; | 101 | context.lineWidth = stroke; |
105 | context.lineCap = "square"; | 102 | context.lineCap = "square"; |
106 | context.stroke(); | 103 | context.stroke(); |
107 | context.restore(); | 104 | context.restore(); |
108 | 105 | ||
109 | // Layer 3 | 106 | // Layer 3 |
110 | 107 | ||
111 | stroke = aThickness; | 108 | stroke = aThickness; |
112 | stroke *= resolution; | 109 | stroke *= resolution; |
113 | if (stroke < 1.0) | 110 | if (stroke < 1.0) |
114 | stroke = Math.ceil(stroke); | 111 | stroke = Math.ceil(stroke); |
115 | else | 112 | else |
116 | stroke = Math.round(stroke); | 113 | stroke = Math.round(stroke); |
117 | stroke /= resolution; | 114 | stroke /= resolution; |
118 | alignStroke = (0.5 * stroke * resolution) % 1.0; | 115 | alignStroke = (0.5 * stroke * resolution) % 1.0; |
119 | context.save(); | 116 | context.save(); |
120 | context.translate(22.5, 20.0); | 117 | context.translate(22.5, 20.0); |
121 | context.rotate(-0.071); | 118 | context.rotate(-0.071); |
122 | context.translate(-22.5, -20.0); | 119 | context.translate(-22.5, -20.0); |
123 | context.beginPath(); | 120 | context.beginPath(); |
124 | pointX = 33.5; | 121 | pointX = 33.5; |
125 | pointY = 28.5; | 122 | pointY = 28.5; |
126 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 123 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
127 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 124 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
128 | context.moveTo(pointX, pointY); | 125 | context.moveTo(pointX, pointY); |
129 | pointX = 33.5; | 126 | pointX = 33.5; |
130 | pointY = 11.5; | 127 | pointY = 11.5; |
131 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 128 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
132 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 129 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
133 | context.lineTo(pointX, pointY); | 130 | context.lineTo(pointX, pointY); |
134 | pointX = 11.5; | 131 | pointX = 11.5; |
135 | pointY = 11.5; | 132 | pointY = 11.5; |
136 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 133 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
137 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 134 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
138 | context.lineTo(pointX, pointY); | 135 | context.lineTo(pointX, pointY); |
139 | pointX = 11.5; | 136 | pointX = 11.5; |
140 | pointY = 28.5; | 137 | pointY = 28.5; |
141 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 138 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
142 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 139 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
143 | context.lineTo(pointX, pointY); | 140 | context.lineTo(pointX, pointY); |
144 | pointX = 33.5; | 141 | pointX = 33.5; |
145 | pointY = 28.5; | 142 | pointY = 28.5; |
146 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
147 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
148 | context.lineTo(pointX, pointY); | 145 | context.lineTo(pointX, pointY); |
149 | context.closePath(); | 146 | context.closePath(); |
150 | context.fillStyle = aFillColor; | 147 | context.fillStyle = aFillColor; |
151 | context.fill(); | 148 | context.fill(); |
152 | context.strokeStyle = aColor; | 149 | context.strokeStyle = aColor; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/directLogin.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/directLogin.js index 9c4e5ba..5c1f860 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/directLogin.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/directLogin.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //directLogin.js | 27 | //directLogin.js |
31 | //directLogin | 28 | //directLogin |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Features_directLoginWidth = 76.0; | 35 | var kClipperz_PM_UI_Canvas_Features_directLoginWidth = 76.0; |
39 | var kClipperz_PM_UI_Canvas_Features_directLoginHeight = 76.0; | 36 | var kClipperz_PM_UI_Canvas_Features_directLoginHeight = 76.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Features_directLogin(canvas, aColor, aBannerColor, aBannerBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Features_directLogin(canvas, aColor, aBannerColor, aBannerBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var stroke; | 43 | var stroke; |
47 | var path; | 44 | var path; |
48 | var pointX; | 45 | var pointX; |
49 | var pointY; | 46 | var pointY; |
50 | if (window.devicePixelRatio) | 47 | if (window.devicePixelRatio) |
51 | resolution = window.devicePixelRatio; | 48 | resolution = window.devicePixelRatio; |
52 | else | 49 | else |
53 | resolution = 1.0; | 50 | resolution = 1.0; |
54 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_directLoginWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_directLoginHeight); | 51 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_directLoginWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_directLoginHeight); |
55 | 52 | ||
56 | context.save(); | 53 | context.save(); |
57 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_directLoginWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_directLoginHeight); | 54 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_directLoginWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_directLoginHeight); |
58 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_directLoginWidth, kClipperz_PM_UI_Canvas_Features_directLoginHeight); | 55 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_directLoginWidth, kClipperz_PM_UI_Canvas_Features_directLoginHeight); |
59 | 56 | ||
60 | // Layer 2 | 57 | // Layer 2 |
61 | 58 | ||
62 | stroke = 6.0; | 59 | stroke = 6.0; |
63 | stroke *= resolution; | 60 | stroke *= resolution; |
64 | if (stroke < 1.0) | 61 | if (stroke < 1.0) |
65 | stroke = Math.ceil(stroke); | 62 | stroke = Math.ceil(stroke); |
66 | else | 63 | else |
67 | stroke = Math.round(stroke); | 64 | stroke = Math.round(stroke); |
68 | stroke /= resolution; | 65 | stroke /= resolution; |
69 | alignStroke = (0.5 * stroke * resolution) % 1.0; | 66 | alignStroke = (0.5 * stroke * resolution) % 1.0; |
70 | context.beginPath(); | 67 | context.beginPath(); |
71 | pointX = 30.0; | 68 | pointX = 30.0; |
72 | pointY = 41.0; | 69 | pointY = 41.0; |
73 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
74 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
75 | context.moveTo(pointX, pointY); | 72 | context.moveTo(pointX, pointY); |
76 | pointX = 45.579; | 73 | pointX = 45.579; |
77 | pointY = 25.451; | 74 | pointY = 25.451; |
78 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
79 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
80 | context.lineTo(pointX, pointY); | 77 | context.lineTo(pointX, pointY); |
81 | context.strokeStyle = aColor; | 78 | context.strokeStyle = aColor; |
82 | context.lineWidth = stroke; | 79 | context.lineWidth = stroke; |
83 | context.lineCap = "square"; | 80 | context.lineCap = "square"; |
84 | context.stroke(); | 81 | context.stroke(); |
85 | 82 | ||
86 | alignStroke = 0.0; | 83 | alignStroke = 0.0; |
87 | context.beginPath(); | 84 | context.beginPath(); |
88 | pointX = 34.207; | 85 | pointX = 34.207; |
89 | pointY = 45.697; | 86 | pointY = 45.697; |
90 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 87 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
91 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 88 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
92 | context.moveTo(pointX, pointY); | 89 | context.moveTo(pointX, pointY); |
93 | pointX = 24.101; | 90 | pointX = 24.101; |
94 | pointY = 37.52; | 91 | pointY = 37.52; |
95 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 92 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
96 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 93 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
97 | context.lineTo(pointX, pointY); | 94 | context.lineTo(pointX, pointY); |
98 | pointX = 24.122; | 95 | pointX = 24.122; |
99 | pointY = 47.828; | 96 | pointY = 47.828; |
100 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 97 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
101 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 98 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
102 | context.lineTo(pointX, pointY); | 99 | context.lineTo(pointX, pointY); |
103 | pointX = 34.207; | 100 | pointX = 34.207; |
104 | pointY = 45.697; | 101 | pointY = 45.697; |
105 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 102 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
106 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 103 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
107 | context.lineTo(pointX, pointY); | 104 | context.lineTo(pointX, pointY); |
108 | context.closePath(); | 105 | context.closePath(); |
109 | context.fillStyle = aColor; | 106 | context.fillStyle = aColor; |
110 | context.fill(); | 107 | context.fill(); |
111 | 108 | ||
112 | stroke = 6.0; | 109 | stroke = 6.0; |
113 | stroke *= resolution; | 110 | stroke *= resolution; |
114 | if (stroke < 1.0) | 111 | if (stroke < 1.0) |
115 | stroke = Math.ceil(stroke); | 112 | stroke = Math.ceil(stroke); |
116 | else | 113 | else |
117 | stroke = Math.round(stroke); | 114 | stroke = Math.round(stroke); |
118 | stroke /= resolution; | 115 | stroke /= resolution; |
119 | alignStroke = (0.5 * stroke * resolution) % 1.0; | 116 | alignStroke = (0.5 * stroke * resolution) % 1.0; |
120 | context.beginPath(); | 117 | context.beginPath(); |
121 | pointX = 24.631; | 118 | pointX = 24.631; |
122 | pointY = 28.971; | 119 | pointY = 28.971; |
123 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 120 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
124 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 121 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
125 | context.moveTo(pointX, pointY); | 122 | context.moveTo(pointX, pointY); |
126 | pointX = 46.497; | 123 | pointX = 46.497; |
127 | pointY = 26.451; | 124 | pointY = 26.451; |
128 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 125 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
129 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 126 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
130 | context.lineTo(pointX, pointY); | 127 | context.lineTo(pointX, pointY); |
131 | context.strokeStyle = aColor; | 128 | context.strokeStyle = aColor; |
132 | context.stroke(); | 129 | context.stroke(); |
133 | 130 | ||
134 | alignStroke = 0.0; | 131 | alignStroke = 0.0; |
135 | context.beginPath(); | 132 | context.beginPath(); |
136 | pointX = 25.014; | 133 | pointX = 25.014; |
137 | pointY = 35.265; | 134 | pointY = 35.265; |
138 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 135 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
139 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 136 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
140 | context.moveTo(pointX, pointY); | 137 | context.moveTo(pointX, pointY); |
141 | pointX = 22.166; | 138 | pointX = 22.166; |
142 | pointY = 22.58; | 139 | pointY = 22.58; |
143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
145 | context.lineTo(pointX, pointY); | 142 | context.lineTo(pointX, pointY); |
146 | pointX = 15.784; | 143 | pointX = 15.784; |
147 | pointY = 30.675; | 144 | pointY = 30.675; |
148 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 145 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
149 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 146 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
150 | context.lineTo(pointX, pointY); | 147 | context.lineTo(pointX, pointY); |
151 | pointX = 25.014; | 148 | pointX = 25.014; |
152 | pointY = 35.265; | 149 | pointY = 35.265; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/protect.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/protect.js index 501b69b..b829ed6 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/protect.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/protect.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //protect.js | 27 | //protect.js |
31 | //protect | 28 | //protect |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Features_protectWidth = 76.0; | 35 | var kClipperz_PM_UI_Canvas_Features_protectWidth = 76.0; |
39 | var kClipperz_PM_UI_Canvas_Features_protectHeight = 76.0; | 36 | var kClipperz_PM_UI_Canvas_Features_protectHeight = 76.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Features_protect(canvas, aColor, aBannerColor, aBannerBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Features_protect(canvas, aColor, aBannerColor, aBannerBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | var stroke; | 50 | var stroke; |
54 | if (window.devicePixelRatio) | 51 | if (window.devicePixelRatio) |
55 | resolution = window.devicePixelRatio; | 52 | resolution = window.devicePixelRatio; |
56 | else | 53 | else |
57 | resolution = 1.0; | 54 | resolution = 1.0; |
58 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_protectWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_protectHeight); | 55 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_protectWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_protectHeight); |
59 | 56 | ||
60 | context.save(); | 57 | context.save(); |
61 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_protectWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_protectHeight); | 58 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_protectWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_protectHeight); |
62 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_protectWidth, kClipperz_PM_UI_Canvas_Features_protectHeight); | 59 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_protectWidth, kClipperz_PM_UI_Canvas_Features_protectHeight); |
63 | 60 | ||
64 | // Layer 1 | 61 | // Layer 1 |
65 | 62 | ||
66 | alignStroke = 0.0; | 63 | alignStroke = 0.0; |
67 | context.beginPath(); | 64 | context.beginPath(); |
68 | pointX = 38.5; | 65 | pointX = 38.5; |
69 | pointY = 36.0; | 66 | pointY = 36.0; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.moveTo(pointX, pointY); | 69 | context.moveTo(pointX, pointY); |
73 | pointX = 37.068; | 70 | pointX = 37.068; |
74 | pointY = 38.816; | 71 | pointY = 38.816; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | controlPoint1X = 37.41; | 74 | controlPoint1X = 37.41; |
78 | controlPoint1Y = 36.234; | 75 | controlPoint1Y = 36.234; |
79 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 76 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
80 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 77 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
81 | controlPoint2X = 37.175; | 78 | controlPoint2X = 37.175; |
82 | controlPoint2Y = 37.907; | 79 | controlPoint2Y = 37.907; |
83 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 80 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
84 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 81 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
85 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 82 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
86 | pointX = 37.031; | 83 | pointX = 37.031; |
87 | pointY = 40.802; | 84 | pointY = 40.802; |
88 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
89 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
90 | controlPoint1X = 36.991; | 87 | controlPoint1X = 36.991; |
91 | controlPoint1Y = 39.474; | 88 | controlPoint1Y = 39.474; |
92 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 89 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
93 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 90 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
94 | controlPoint2X = 36.98; | 91 | controlPoint2X = 36.98; |
95 | controlPoint2Y = 40.141; | 92 | controlPoint2Y = 40.141; |
96 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 93 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
97 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 94 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
98 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 95 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
99 | pointX = 37.258; | 96 | pointX = 37.258; |
100 | pointY = 42.23; | 97 | pointY = 42.23; |
101 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
102 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
103 | controlPoint1X = 37.068; | 100 | controlPoint1X = 37.068; |
104 | controlPoint1Y = 41.283; | 101 | controlPoint1Y = 41.283; |
105 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 102 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
106 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 103 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
107 | controlPoint2X = 37.139; | 104 | controlPoint2X = 37.139; |
108 | controlPoint2Y = 41.762; | 105 | controlPoint2Y = 41.762; |
109 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 106 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
110 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 107 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
111 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 108 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
112 | pointX = 38.348; | 109 | pointX = 38.348; |
113 | pointY = 43.979; | 110 | pointY = 43.979; |
114 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 111 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
115 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 112 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
116 | controlPoint1X = 37.402; | 113 | controlPoint1X = 37.402; |
117 | controlPoint1Y = 42.799; | 114 | controlPoint1Y = 42.799; |
118 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 115 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
119 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 116 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
120 | controlPoint2X = 37.682; | 117 | controlPoint2X = 37.682; |
121 | controlPoint2Y = 43.798; | 118 | controlPoint2Y = 43.798; |
122 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 119 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
123 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 120 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
124 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 121 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
125 | pointX = 38.5; | 122 | pointX = 38.5; |
126 | pointY = 36.0; | 123 | pointY = 36.0; |
127 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 124 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
128 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 125 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
129 | controlPoint1X = 40.249; | 126 | controlPoint1X = 40.249; |
130 | controlPoint1Y = 44.497; | 127 | controlPoint1Y = 44.497; |
131 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 128 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
132 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 129 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
133 | controlPoint2X = 40.723; | 130 | controlPoint2X = 40.723; |
134 | controlPoint2Y = 36.303; | 131 | controlPoint2Y = 36.303; |
135 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 132 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
136 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 133 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
137 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 134 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
138 | pointX = 38.5; | 135 | pointX = 38.5; |
139 | pointY = 36.0; | 136 | pointY = 36.0; |
140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 137 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 138 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
142 | context.lineTo(pointX, pointY); | 139 | context.lineTo(pointX, pointY); |
143 | context.closePath(); | 140 | context.closePath(); |
144 | pointX = 50.0; | 141 | pointX = 50.0; |
145 | pointY = 52.0; | 142 | pointY = 52.0; |
146 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
147 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
148 | context.moveTo(pointX, pointY); | 145 | context.moveTo(pointX, pointY); |
149 | pointX = 26.0; | 146 | pointX = 26.0; |
150 | pointY = 52.0; | 147 | pointY = 52.0; |
151 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 148 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
152 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 149 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/share.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/share.js index 825a17e..8d73cc7 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/share.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/share.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //share.js | 27 | //share.js |
31 | //share | 28 | //share |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Features_shareWidth = 76.0; | 35 | var kClipperz_PM_UI_Canvas_Features_shareWidth = 76.0; |
39 | var kClipperz_PM_UI_Canvas_Features_shareHeight = 76.0; | 36 | var kClipperz_PM_UI_Canvas_Features_shareHeight = 76.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Features_share(canvas, aColor, aBannerColor, aBannerBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Features_share(canvas, aColor, aBannerColor, aBannerBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | var stroke; | 50 | var stroke; |
54 | if (window.devicePixelRatio) | 51 | if (window.devicePixelRatio) |
55 | resolution = window.devicePixelRatio; | 52 | resolution = window.devicePixelRatio; |
56 | else | 53 | else |
57 | resolution = 1.0; | 54 | resolution = 1.0; |
58 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_shareWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_shareHeight); | 55 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_shareWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_shareHeight); |
59 | 56 | ||
60 | context.save(); | 57 | context.save(); |
61 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_shareWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_shareHeight); | 58 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_shareWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_shareHeight); |
62 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_shareWidth, kClipperz_PM_UI_Canvas_Features_shareHeight); | 59 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_shareWidth, kClipperz_PM_UI_Canvas_Features_shareHeight); |
63 | 60 | ||
64 | // Layer 1 | 61 | // Layer 1 |
65 | 62 | ||
66 | alignStroke = 0.0; | 63 | alignStroke = 0.0; |
67 | context.beginPath(); | 64 | context.beginPath(); |
68 | pointX = 43.179; | 65 | pointX = 43.179; |
69 | pointY = 18.621; | 66 | pointY = 18.621; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.moveTo(pointX, pointY); | 69 | context.moveTo(pointX, pointY); |
73 | pointX = 37.163; | 70 | pointX = 37.163; |
74 | pointY = 12.605; | 71 | pointY = 12.605; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | controlPoint1X = 43.179; | 74 | controlPoint1X = 43.179; |
78 | controlPoint1Y = 15.32; | 75 | controlPoint1Y = 15.32; |
79 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 76 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
80 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 77 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
81 | controlPoint2X = 40.463; | 78 | controlPoint2X = 40.463; |
82 | controlPoint2Y = 12.605; | 79 | controlPoint2Y = 12.605; |
83 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 80 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
84 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 81 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
85 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 82 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
86 | pointX = 31.147; | 83 | pointX = 31.147; |
87 | pointY = 18.621; | 84 | pointY = 18.621; |
88 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
89 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
90 | controlPoint1X = 33.863; | 87 | controlPoint1X = 33.863; |
91 | controlPoint1Y = 12.605; | 88 | controlPoint1Y = 12.605; |
92 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 89 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
93 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 90 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
94 | controlPoint2X = 31.147; | 91 | controlPoint2X = 31.147; |
95 | controlPoint2Y = 15.32; | 92 | controlPoint2Y = 15.32; |
96 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 93 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
97 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 94 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
98 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 95 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
99 | pointX = 37.163; | 96 | pointX = 37.163; |
100 | pointY = 24.637; | 97 | pointY = 24.637; |
101 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
102 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
103 | controlPoint1X = 31.147; | 100 | controlPoint1X = 31.147; |
104 | controlPoint1Y = 21.921; | 101 | controlPoint1Y = 21.921; |
105 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 102 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
106 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 103 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
107 | controlPoint2X = 33.863; | 104 | controlPoint2X = 33.863; |
108 | controlPoint2Y = 24.637; | 105 | controlPoint2Y = 24.637; |
109 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 106 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
110 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 107 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
111 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 108 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
112 | pointX = 43.179; | 109 | pointX = 43.179; |
113 | pointY = 18.621; | 110 | pointY = 18.621; |
114 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 111 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
115 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 112 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
116 | controlPoint1X = 40.463; | 113 | controlPoint1X = 40.463; |
117 | controlPoint1Y = 24.637; | 114 | controlPoint1Y = 24.637; |
118 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 115 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
119 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 116 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
120 | controlPoint2X = 43.179; | 117 | controlPoint2X = 43.179; |
121 | controlPoint2Y = 21.921; | 118 | controlPoint2Y = 21.921; |
122 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 119 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
123 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 120 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
124 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 121 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
125 | context.closePath(); | 122 | context.closePath(); |
126 | context.fillStyle = aColor; | 123 | context.fillStyle = aColor; |
127 | context.fill(); | 124 | context.fill(); |
128 | 125 | ||
129 | alignStroke = 0.0; | 126 | alignStroke = 0.0; |
130 | context.beginPath(); | 127 | context.beginPath(); |
131 | pointX = 56.548; | 128 | pointX = 56.548; |
132 | pointY = 53.379; | 129 | pointY = 53.379; |
133 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 130 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
134 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 131 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
135 | context.moveTo(pointX, pointY); | 132 | context.moveTo(pointX, pointY); |
136 | pointX = 51.2; | 133 | pointX = 51.2; |
137 | pointY = 48.032; | 134 | pointY = 48.032; |
138 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 135 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
139 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 136 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
140 | controlPoint1X = 56.548; | 137 | controlPoint1X = 56.548; |
141 | controlPoint1Y = 50.446; | 138 | controlPoint1Y = 50.446; |
142 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 139 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
143 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 140 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
144 | controlPoint2X = 54.134; | 141 | controlPoint2X = 54.134; |
145 | controlPoint2Y = 48.032; | 142 | controlPoint2Y = 48.032; |
146 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 143 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
147 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 144 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
148 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 145 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
149 | pointX = 45.853; | 146 | pointX = 45.853; |
150 | pointY = 53.379; | 147 | pointY = 53.379; |
151 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 148 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
152 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 149 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/store.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/store.js index eaeb7f1..572d9be 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/store.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Features/store.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //store.js | 27 | //store.js |
31 | //store | 28 | //store |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Features_storeWidth = 76.0; | 35 | var kClipperz_PM_UI_Canvas_Features_storeWidth = 76.0; |
39 | var kClipperz_PM_UI_Canvas_Features_storeHeight = 76.0; | 36 | var kClipperz_PM_UI_Canvas_Features_storeHeight = 76.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Features_store(canvas, aColor, aBannerColor, aBannerBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Features_store(canvas, aColor, aBannerColor, aBannerBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | if (window.devicePixelRatio) | 46 | if (window.devicePixelRatio) |
50 | resolution = window.devicePixelRatio; | 47 | resolution = window.devicePixelRatio; |
51 | else | 48 | else |
52 | resolution = 1.0; | 49 | resolution = 1.0; |
53 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_storeWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_storeHeight); | 50 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Features_storeWidth + canvas.height / kClipperz_PM_UI_Canvas_Features_storeHeight); |
54 | 51 | ||
55 | context.save(); | 52 | context.save(); |
56 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_storeWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_storeHeight); | 53 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Features_storeWidth, canvas.height / kClipperz_PM_UI_Canvas_Features_storeHeight); |
57 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_storeWidth, kClipperz_PM_UI_Canvas_Features_storeHeight); | 54 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Features_storeWidth, kClipperz_PM_UI_Canvas_Features_storeHeight); |
58 | 55 | ||
59 | // Layer 1 | 56 | // Layer 1 |
60 | 57 | ||
61 | alignStroke = 0.0; | 58 | alignStroke = 0.0; |
62 | context.beginPath(); | 59 | context.beginPath(); |
63 | pointX = 27.0; | 60 | pointX = 27.0; |
64 | pointY = 29.5; | 61 | pointY = 29.5; |
65 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 62 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
66 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 63 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
67 | context.moveTo(pointX, pointY); | 64 | context.moveTo(pointX, pointY); |
68 | pointX = 27.0; | 65 | pointX = 27.0; |
69 | pointY = 24.5; | 66 | pointY = 24.5; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.lineTo(pointX, pointY); | 69 | context.lineTo(pointX, pointY); |
73 | pointX = 22.0; | 70 | pointX = 22.0; |
74 | pointY = 24.5; | 71 | pointY = 24.5; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | context.lineTo(pointX, pointY); | 74 | context.lineTo(pointX, pointY); |
78 | pointX = 22.0; | 75 | pointX = 22.0; |
79 | pointY = 29.5; | 76 | pointY = 29.5; |
80 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 77 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
81 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 78 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
82 | context.lineTo(pointX, pointY); | 79 | context.lineTo(pointX, pointY); |
83 | pointX = 27.0; | 80 | pointX = 27.0; |
84 | pointY = 29.5; | 81 | pointY = 29.5; |
85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 82 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 83 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
87 | context.lineTo(pointX, pointY); | 84 | context.lineTo(pointX, pointY); |
88 | context.closePath(); | 85 | context.closePath(); |
89 | context.fillStyle = aColor; | 86 | context.fillStyle = aColor; |
90 | context.fill(); | 87 | context.fill(); |
91 | 88 | ||
92 | alignStroke = 0.0; | 89 | alignStroke = 0.0; |
93 | context.beginPath(); | 90 | context.beginPath(); |
94 | pointX = 54.0; | 91 | pointX = 54.0; |
95 | pointY = 29.5; | 92 | pointY = 29.5; |
96 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 93 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
97 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 94 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
98 | context.moveTo(pointX, pointY); | 95 | context.moveTo(pointX, pointY); |
99 | pointX = 54.0; | 96 | pointX = 54.0; |
100 | pointY = 24.5; | 97 | pointY = 24.5; |
101 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
102 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
103 | context.lineTo(pointX, pointY); | 100 | context.lineTo(pointX, pointY); |
104 | pointX = 29.0; | 101 | pointX = 29.0; |
105 | pointY = 24.5; | 102 | pointY = 24.5; |
106 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 103 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
107 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 104 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
108 | context.lineTo(pointX, pointY); | 105 | context.lineTo(pointX, pointY); |
109 | pointX = 29.0; | 106 | pointX = 29.0; |
110 | pointY = 29.5; | 107 | pointY = 29.5; |
111 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 108 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
112 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 109 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
113 | context.lineTo(pointX, pointY); | 110 | context.lineTo(pointX, pointY); |
114 | pointX = 54.0; | 111 | pointX = 54.0; |
115 | pointY = 29.5; | 112 | pointY = 29.5; |
116 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 113 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
117 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 114 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
118 | context.lineTo(pointX, pointY); | 115 | context.lineTo(pointX, pointY); |
119 | context.closePath(); | 116 | context.closePath(); |
120 | context.fillStyle = aColor; | 117 | context.fillStyle = aColor; |
121 | context.fill(); | 118 | context.fill(); |
122 | 119 | ||
123 | alignStroke = 0.0; | 120 | alignStroke = 0.0; |
124 | context.beginPath(); | 121 | context.beginPath(); |
125 | pointX = 43.0; | 122 | pointX = 43.0; |
126 | pointY = 37.0; | 123 | pointY = 37.0; |
127 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 124 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
128 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 125 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
129 | context.moveTo(pointX, pointY); | 126 | context.moveTo(pointX, pointY); |
130 | pointX = 43.0; | 127 | pointX = 43.0; |
131 | pointY = 32.0; | 128 | pointY = 32.0; |
132 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 129 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
133 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 130 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
134 | context.lineTo(pointX, pointY); | 131 | context.lineTo(pointX, pointY); |
135 | pointX = 29.0; | 132 | pointX = 29.0; |
136 | pointY = 32.0; | 133 | pointY = 32.0; |
137 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 134 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
138 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 135 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
139 | context.lineTo(pointX, pointY); | 136 | context.lineTo(pointX, pointY); |
140 | pointX = 29.0; | 137 | pointX = 29.0; |
141 | pointY = 37.0; | 138 | pointY = 37.0; |
142 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 139 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
143 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 140 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
144 | context.lineTo(pointX, pointY); | 141 | context.lineTo(pointX, pointY); |
145 | pointX = 43.0; | 142 | pointX = 43.0; |
146 | pointY = 37.0; | 143 | pointY = 37.0; |
147 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 144 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
148 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 145 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
149 | context.lineTo(pointX, pointY); | 146 | context.lineTo(pointX, pointY); |
150 | context.closePath(); | 147 | context.closePath(); |
151 | context.fillStyle = aColor; | 148 | context.fillStyle = aColor; |
152 | context.fill(); | 149 | context.fill(); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/GraphicFunctions.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/GraphicFunctions.js index 5de2e96..b9443bd 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/GraphicFunctions.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/GraphicFunctions.js | |||
@@ -1,68 +1,65 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Canvas'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Canvas'); |
30 | 27 | ||
31 | MochiKit.Base.update(Clipperz.PM.UI.Canvas , { | 28 | MochiKit.Base.update(Clipperz.PM.UI.Canvas , { |
32 | 'marks': { | 29 | 'marks': { |
33 | '!':Clipperz_PM_UI_Canvas_Marks_exclamationMark, | 30 | '!':Clipperz_PM_UI_Canvas_Marks_exclamationMark, |
34 | '?':Clipperz_PM_UI_Canvas_Marks_questionMark, | 31 | '?':Clipperz_PM_UI_Canvas_Marks_questionMark, |
35 | 'i':Clipperz_PM_UI_Canvas_Marks_info | 32 | 'i':Clipperz_PM_UI_Canvas_Marks_info |
36 | }, | 33 | }, |
37 | 34 | ||
38 | 'features': { | 35 | 'features': { |
39 | 'store': Clipperz_PM_UI_Canvas_Features_store, | 36 | 'store': Clipperz_PM_UI_Canvas_Features_store, |
40 | 'protect': Clipperz_PM_UI_Canvas_Features_protect, | 37 | 'protect': Clipperz_PM_UI_Canvas_Features_protect, |
41 | 'directLogin':Clipperz_PM_UI_Canvas_Features_directLogin, | 38 | 'directLogin':Clipperz_PM_UI_Canvas_Features_directLogin, |
42 | 'share': Clipperz_PM_UI_Canvas_Features_share | 39 | 'share': Clipperz_PM_UI_Canvas_Features_share |
43 | }, | 40 | }, |
44 | 41 | ||
45 | 'tips': { | 42 | 'tips': { |
46 | 'open': Clipperz_PM_UI_Canvas_Tips_open, | 43 | 'open': Clipperz_PM_UI_Canvas_Tips_open, |
47 | 'close': Clipperz_PM_UI_Canvas_Tips_close | 44 | 'close': Clipperz_PM_UI_Canvas_Tips_close |
48 | }, | 45 | }, |
49 | 46 | ||
50 | 'star': { | 47 | 'star': { |
51 | 'normal': Clipperz_PM_UI_Canvas_Star_normal | 48 | 'normal': Clipperz_PM_UI_Canvas_Star_normal |
52 | }, | 49 | }, |
53 | 50 | ||
54 | 'coverActions': { | 51 | 'coverActions': { |
55 | 'look': Clipperz_PM_UI_Canvas_CoverActions_look, | 52 | 'look': Clipperz_PM_UI_Canvas_CoverActions_look, |
56 | 'download': Clipperz_PM_UI_Canvas_CoverActions_download | 53 | 'download': Clipperz_PM_UI_Canvas_CoverActions_download |
57 | }, | 54 | }, |
58 | 55 | ||
59 | 'registerButton': { | 56 | 'registerButton': { |
60 | 'normal': Clipperz_PM_UI_Canvas_RegisterButton_normal | 57 | 'normal': Clipperz_PM_UI_Canvas_RegisterButton_normal |
61 | }, | 58 | }, |
62 | 59 | ||
63 | 'logo': { | 60 | 'logo': { |
64 | 'normal': Clipperz_PM_UI_Canvas_Logo_normal | 61 | 'normal': Clipperz_PM_UI_Canvas_Logo_normal |
65 | }, | 62 | }, |
66 | 63 | ||
67 | __syntaxFix__: "syntax fix" | 64 | __syntaxFix__: "syntax fix" |
68 | }); | 65 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Logo/normal.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Logo/normal.js index e0bea36..de9d3aa 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Logo/normal.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Logo/normal.js | |||
@@ -1,65 +1,62 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //normal.js | 27 | //normal.js |
31 | //normal | 28 | //normal |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/25/10 | 30 | //Created by Giulio Cesare Solaroli on 3/25/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Logo_normalWidth = 150.0; | 35 | var kClipperz_PM_UI_Canvas_Logo_normalWidth = 150.0; |
39 | var kClipperz_PM_UI_Canvas_Logo_normalHeight = 39.0; | 36 | var kClipperz_PM_UI_Canvas_Logo_normalHeight = 39.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Logo_normal(canvas, aMainColor, aSecondaryColor) | 38 | function Clipperz_PM_UI_Canvas_Logo_normal(canvas, aMainColor, aSecondaryColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var string; | 41 | var string; |
45 | 42 | ||
46 | context.save(); | 43 | context.save(); |
47 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Logo_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_Logo_normalHeight); | 44 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Logo_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_Logo_normalHeight); |
48 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Logo_normalWidth, kClipperz_PM_UI_Canvas_Logo_normalHeight); | 45 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Logo_normalWidth, kClipperz_PM_UI_Canvas_Logo_normalHeight); |
49 | 46 | ||
50 | // clipper… | 47 | // clipper… |
51 | 48 | ||
52 | string = "clipper"; | 49 | string = "clipper"; |
53 | context.font = "38.0pt Helvetica-Bold"; | 50 | context.font = "38.0pt Helvetica-Bold"; |
54 | context.fillStyle = aMainColor; | 51 | context.fillStyle = aMainColor; |
55 | context.fillText(string, -9.0, -9.0); | 52 | context.fillText(string, -9.0, -9.0); |
56 | 53 | ||
57 | // …z | 54 | // …z |
58 | 55 | ||
59 | string = "z"; | 56 | string = "z"; |
60 | context.font = "38.0pt Helvetica-Bold"; | 57 | context.font = "38.0pt Helvetica-Bold"; |
61 | context.fillStyle = aSecondaryColor; | 58 | context.fillStyle = aSecondaryColor; |
62 | context.fillText(string, 125.0, -9.0); | 59 | context.fillText(string, 125.0, -9.0); |
63 | 60 | ||
64 | context.restore(); | 61 | context.restore(); |
65 | } | 62 | } |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/exclamationMark.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/exclamationMark.js index f3ae04d..02f2f80 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/exclamationMark.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/exclamationMark.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //exclamationMark.js | 27 | //exclamationMark.js |
31 | //! | 28 | //! |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth = 50.0; | 35 | var kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth = 50.0; |
39 | var kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight = 50.0; | 36 | var kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight = 50.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Marks_exclamationMark(canvas, aColor) | 38 | function Clipperz_PM_UI_Canvas_Marks_exclamationMark(canvas, aColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | if (window.devicePixelRatio) | 50 | if (window.devicePixelRatio) |
54 | resolution = window.devicePixelRatio; | 51 | resolution = window.devicePixelRatio; |
55 | else | 52 | else |
56 | resolution = 1.0; | 53 | resolution = 1.0; |
57 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); | 54 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); |
58 | 55 | ||
59 | context.save(); | 56 | context.save(); |
60 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); | 57 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); |
61 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth, kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); | 58 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_exclamationMarkWidth, kClipperz_PM_UI_Canvas_Marks_exclamationMarkHeight); |
62 | 59 | ||
63 | // Layer 1 | 60 | // Layer 1 |
64 | 61 | ||
65 | alignStroke = 0.0; | 62 | alignStroke = 0.0; |
66 | context.beginPath(); | 63 | context.beginPath(); |
67 | pointX = 26.499; | 64 | pointX = 26.499; |
68 | pointY = 10.848; | 65 | pointY = 10.848; |
69 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 66 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
70 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 67 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
71 | context.moveTo(pointX, pointY); | 68 | context.moveTo(pointX, pointY); |
72 | pointX = 20.887; | 69 | pointX = 20.887; |
73 | pointY = 11.584; | 70 | pointY = 11.584; |
74 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 71 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
75 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 72 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
76 | controlPoint1X = 25.395; | 73 | controlPoint1X = 25.395; |
77 | controlPoint1Y = 10.802; | 74 | controlPoint1Y = 10.802; |
78 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 75 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
79 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 76 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
80 | controlPoint2X = 22.175; | 77 | controlPoint2X = 22.175; |
81 | controlPoint2Y = 11.078; | 78 | controlPoint2Y = 11.078; |
82 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 79 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
83 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 80 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
84 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 81 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
85 | pointX = 20.013; | 82 | pointX = 20.013; |
86 | pointY = 13.194; | 83 | pointY = 13.194; |
87 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 84 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
88 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 85 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
89 | controlPoint1X = 20.335; | 86 | controlPoint1X = 20.335; |
90 | controlPoint1Y = 11.814; | 87 | controlPoint1Y = 11.814; |
91 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 88 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
92 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 89 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
93 | controlPoint2X = 19.921; | 90 | controlPoint2X = 19.921; |
94 | controlPoint2Y = 12.826; | 91 | controlPoint2Y = 12.826; |
95 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 92 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
96 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 93 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
97 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 94 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
98 | pointX = 23.049; | 95 | pointX = 23.049; |
99 | pointY = 28.788; | 96 | pointY = 28.788; |
100 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 97 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
101 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 98 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
102 | controlPoint1X = 20.243; | 99 | controlPoint1X = 20.243; |
103 | controlPoint1Y = 15.448; | 100 | controlPoint1Y = 15.448; |
104 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 101 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
105 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 102 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
106 | controlPoint2X = 22.589; | 103 | controlPoint2X = 22.589; |
107 | controlPoint2Y = 26.35; | 104 | controlPoint2Y = 26.35; |
108 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 105 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
109 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 106 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
110 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 107 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
111 | pointX = 25.027; | 108 | pointX = 25.027; |
112 | pointY = 29.156; | 109 | pointY = 29.156; |
113 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 110 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
114 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 111 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
115 | controlPoint1X = 23.279; | 112 | controlPoint1X = 23.279; |
116 | controlPoint1Y = 29.018; | 113 | controlPoint1Y = 29.018; |
117 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 114 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
118 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 115 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
119 | controlPoint2X = 24.705; | 116 | controlPoint2X = 24.705; |
120 | controlPoint2Y = 29.202; | 117 | controlPoint2Y = 29.202; |
121 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 118 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
122 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 119 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
123 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 120 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
124 | pointX = 27.971; | 121 | pointX = 27.971; |
125 | pointY = 11.354; | 122 | pointY = 11.354; |
126 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 123 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
127 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 124 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
128 | controlPoint1X = 25.809; | 125 | controlPoint1X = 25.809; |
129 | controlPoint1Y = 25.384; | 126 | controlPoint1Y = 25.384; |
130 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 127 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
131 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 128 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
132 | controlPoint2X = 27.971; | 129 | controlPoint2X = 27.971; |
133 | controlPoint2Y = 12.826; | 130 | controlPoint2Y = 12.826; |
134 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 131 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
135 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 132 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
136 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 133 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
137 | pointX = 26.499; | 134 | pointX = 26.499; |
138 | pointY = 10.848; | 135 | pointY = 10.848; |
139 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 136 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
140 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 137 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
141 | controlPoint1X = 27.557; | 138 | controlPoint1X = 27.557; |
142 | controlPoint1Y = 11.032; | 139 | controlPoint1Y = 11.032; |
143 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 140 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
144 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 141 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
145 | controlPoint2X = 26.913; | 142 | controlPoint2X = 26.913; |
146 | controlPoint2Y = 10.848; | 143 | controlPoint2Y = 10.848; |
147 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 144 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
148 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 145 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
149 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 146 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
150 | pointX = 26.499; | 147 | pointX = 26.499; |
151 | pointY = 10.848; | 148 | pointY = 10.848; |
152 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 149 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/info.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/info.js index adab74f..fad5c10 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/info.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/info.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //info.js | 27 | //info.js |
31 | //i | 28 | //i |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Marks_infoWidth = 50.0; | 35 | var kClipperz_PM_UI_Canvas_Marks_infoWidth = 50.0; |
39 | var kClipperz_PM_UI_Canvas_Marks_infoHeight = 50.0; | 36 | var kClipperz_PM_UI_Canvas_Marks_infoHeight = 50.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Marks_info(canvas, aColor) | 38 | function Clipperz_PM_UI_Canvas_Marks_info(canvas, aColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | var color; | 50 | var color; |
54 | if (window.devicePixelRatio) | 51 | if (window.devicePixelRatio) |
55 | resolution = window.devicePixelRatio; | 52 | resolution = window.devicePixelRatio; |
56 | else | 53 | else |
57 | resolution = 1.0; | 54 | resolution = 1.0; |
58 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_infoWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_infoHeight); | 55 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_infoWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_infoHeight); |
59 | 56 | ||
60 | context.save(); | 57 | context.save(); |
61 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_infoWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_infoHeight); | 58 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_infoWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_infoHeight); |
62 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_infoWidth, kClipperz_PM_UI_Canvas_Marks_infoHeight); | 59 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_infoWidth, kClipperz_PM_UI_Canvas_Marks_infoHeight); |
63 | 60 | ||
64 | // Layer 1 | 61 | // Layer 1 |
65 | 62 | ||
66 | alignStroke = 0.0; | 63 | alignStroke = 0.0; |
67 | context.beginPath(); | 64 | context.beginPath(); |
68 | pointX = 30.253; | 65 | pointX = 30.253; |
69 | pointY = 37.436; | 66 | pointY = 37.436; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.moveTo(pointX, pointY); | 69 | context.moveTo(pointX, pointY); |
73 | pointX = 28.505; | 70 | pointX = 28.505; |
74 | pointY = 37.022; | 71 | pointY = 37.022; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | context.lineTo(pointX, pointY); | 74 | context.lineTo(pointX, pointY); |
78 | pointX = 27.677; | 75 | pointX = 27.677; |
79 | pointY = 35.09; | 76 | pointY = 35.09; |
80 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 77 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
81 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 78 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
82 | controlPoint1X = 27.953; | 79 | controlPoint1X = 27.953; |
83 | controlPoint1Y = 36.792; | 80 | controlPoint1Y = 36.792; |
84 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 81 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
85 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 82 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
86 | controlPoint2X = 27.677; | 83 | controlPoint2X = 27.677; |
87 | controlPoint2Y = 36.47; | 84 | controlPoint2Y = 36.47; |
88 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 85 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
89 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 86 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
90 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 87 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
91 | pointX = 27.631; | 88 | pointX = 27.631; |
92 | pointY = 27.546; | 89 | pointY = 27.546; |
93 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 90 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
94 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 91 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
95 | controlPoint1X = 27.631; | 92 | controlPoint1X = 27.631; |
96 | controlPoint1Y = 32.974; | 93 | controlPoint1Y = 32.974; |
97 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 94 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
98 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 95 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
99 | controlPoint2X = 27.631; | 96 | controlPoint2X = 27.631; |
100 | controlPoint2Y = 29.892; | 97 | controlPoint2Y = 29.892; |
101 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 98 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
102 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 99 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
103 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 100 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
104 | pointX = 27.677; | 101 | pointX = 27.677; |
105 | pointY = 19.726; | 102 | pointY = 19.726; |
106 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 103 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
107 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 104 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
108 | controlPoint1X = 27.631; | 105 | controlPoint1X = 27.631; |
109 | controlPoint1Y = 24.97; | 106 | controlPoint1Y = 24.97; |
110 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 107 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
111 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 108 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
112 | controlPoint2X = 27.677; | 109 | controlPoint2X = 27.677; |
113 | controlPoint2Y = 21.612; | 110 | controlPoint2Y = 21.612; |
114 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 111 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
115 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 112 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
116 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 113 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
117 | pointX = 19.535; | 114 | pointX = 19.535; |
118 | pointY = 21.336; | 115 | pointY = 21.336; |
119 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 116 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
120 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 117 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
121 | controlPoint1X = 25.331; | 118 | controlPoint1X = 25.331; |
122 | controlPoint1Y = 20.692; | 119 | controlPoint1Y = 20.692; |
123 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 120 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
124 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 121 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
125 | controlPoint2X = 20.593; | 122 | controlPoint2X = 20.593; |
126 | controlPoint2Y = 21.336; | 123 | controlPoint2Y = 21.336; |
127 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 124 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
128 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 125 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
129 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 126 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
130 | pointX = 19.443; | 127 | pointX = 19.443; |
131 | pointY = 22.762; | 128 | pointY = 22.762; |
132 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 129 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
133 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 130 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
134 | controlPoint1X = 19.397; | 131 | controlPoint1X = 19.397; |
135 | controlPoint1Y = 21.52; | 132 | controlPoint1Y = 21.52; |
136 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 133 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
137 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 134 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
138 | controlPoint2X = 19.305; | 135 | controlPoint2X = 19.305; |
139 | controlPoint2Y = 22.532; | 136 | controlPoint2Y = 22.532; |
140 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 137 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
141 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 138 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
142 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 139 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
143 | pointX = 21.283; | 140 | pointX = 21.283; |
144 | pointY = 23.82; | 141 | pointY = 23.82; |
145 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 142 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
146 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 143 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
147 | controlPoint1X = 20.639; | 144 | controlPoint1X = 20.639; |
148 | controlPoint1Y = 23.222; | 145 | controlPoint1Y = 23.222; |
149 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 146 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
150 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 147 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
151 | controlPoint2X = 20.961; | 148 | controlPoint2X = 20.961; |
152 | controlPoint2Y = 23.452; | 149 | controlPoint2Y = 23.452; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/questionMark.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/questionMark.js index 003c4c2..5842828 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/questionMark.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Marks/questionMark.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //questionMark.js | 27 | //questionMark.js |
31 | //? | 28 | //? |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/7/10 | 30 | //Created by Giulio Cesare Solaroli on 3/7/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Marks_questionMarkWidth = 50.0; | 35 | var kClipperz_PM_UI_Canvas_Marks_questionMarkWidth = 50.0; |
39 | var kClipperz_PM_UI_Canvas_Marks_questionMarkHeight = 50.0; | 36 | var kClipperz_PM_UI_Canvas_Marks_questionMarkHeight = 50.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Marks_questionMark(canvas, aColor) | 38 | function Clipperz_PM_UI_Canvas_Marks_questionMark(canvas, aColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | var color; | 50 | var color; |
54 | if (window.devicePixelRatio) | 51 | if (window.devicePixelRatio) |
55 | resolution = window.devicePixelRatio; | 52 | resolution = window.devicePixelRatio; |
56 | else | 53 | else |
57 | resolution = 1.0; | 54 | resolution = 1.0; |
58 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_questionMarkWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); | 55 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Marks_questionMarkWidth + canvas.height / kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); |
59 | 56 | ||
60 | context.save(); | 57 | context.save(); |
61 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_questionMarkWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); | 58 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Marks_questionMarkWidth, canvas.height / kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); |
62 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_questionMarkWidth, kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); | 59 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Marks_questionMarkWidth, kClipperz_PM_UI_Canvas_Marks_questionMarkHeight); |
63 | 60 | ||
64 | // Layer 1 | 61 | // Layer 1 |
65 | 62 | ||
66 | alignStroke = 0.0; | 63 | alignStroke = 0.0; |
67 | context.beginPath(); | 64 | context.beginPath(); |
68 | pointX = 24.118; | 65 | pointX = 24.118; |
69 | pointY = 24.464; | 66 | pointY = 24.464; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.moveTo(pointX, pointY); | 69 | context.moveTo(pointX, pointY); |
73 | pointX = 24.854; | 70 | pointX = 24.854; |
74 | pointY = 23.406; | 71 | pointY = 23.406; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | controlPoint1X = 24.118; | 74 | controlPoint1X = 24.118; |
78 | controlPoint1Y = 24.05; | 75 | controlPoint1Y = 24.05; |
79 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 76 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
80 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 77 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
81 | controlPoint2X = 24.44; | 78 | controlPoint2X = 24.44; |
82 | controlPoint2Y = 23.636; | 79 | controlPoint2Y = 23.636; |
83 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 80 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
84 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 81 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
85 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 82 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
86 | pointX = 29.454; | 83 | pointX = 29.454; |
87 | pointY = 20.6; | 84 | pointY = 20.6; |
88 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
89 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
90 | controlPoint1X = 26.418; | 87 | controlPoint1X = 26.418; |
91 | controlPoint1Y = 22.532; | 88 | controlPoint1Y = 22.532; |
92 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 89 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
93 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 90 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
94 | controlPoint2X = 28.534; | 91 | controlPoint2X = 28.534; |
95 | controlPoint2Y = 21.566; | 92 | controlPoint2Y = 21.566; |
96 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 93 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
97 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 94 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
98 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 95 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
99 | pointX = 30.282; | 96 | pointX = 30.282; |
100 | pointY = 17.794; | 97 | pointY = 17.794; |
101 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
102 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
103 | controlPoint1X = 29.868; | 100 | controlPoint1X = 29.868; |
104 | controlPoint1Y = 20.232; | 101 | controlPoint1Y = 20.232; |
105 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 102 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
106 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 103 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
107 | controlPoint2X = 30.282; | 104 | controlPoint2X = 30.282; |
108 | controlPoint2Y = 19.082; | 105 | controlPoint2Y = 19.082; |
109 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 106 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
110 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 107 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
111 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 108 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
112 | pointX = 27.2; | 109 | pointX = 27.2; |
113 | pointY = 12.688; | 110 | pointY = 12.688; |
114 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 111 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
115 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 112 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
116 | controlPoint1X = 30.282; | 113 | controlPoint1X = 30.282; |
117 | controlPoint1Y = 16.322; | 114 | controlPoint1Y = 16.322; |
118 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 115 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
119 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 116 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
120 | controlPoint2X = 29.454; | 117 | controlPoint2X = 29.454; |
121 | controlPoint2Y = 14.344; | 118 | controlPoint2Y = 14.344; |
122 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 119 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
123 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 120 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
124 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 121 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
125 | pointX = 21.312; | 122 | pointX = 21.312; |
126 | pointY = 10.664; | 123 | pointY = 10.664; |
127 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 124 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
128 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 125 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
129 | controlPoint1X = 25.636; | 126 | controlPoint1X = 25.636; |
130 | controlPoint1Y = 11.492; | 127 | controlPoint1Y = 11.492; |
131 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 128 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
132 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 129 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
133 | controlPoint2X = 23.382; | 130 | controlPoint2X = 23.382; |
134 | controlPoint2Y = 10.664; | 131 | controlPoint2Y = 10.664; |
135 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 132 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
136 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 133 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
137 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 134 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
138 | pointX = 19.886; | 135 | pointX = 19.886; |
139 | pointY = 11.124; | 136 | pointY = 11.124; |
140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 137 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 138 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
142 | controlPoint1X = 20.898; | 139 | controlPoint1X = 20.898; |
143 | controlPoint1Y = 10.664; | 140 | controlPoint1Y = 10.664; |
144 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 141 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
145 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 142 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
146 | controlPoint2X = 20.162; | 143 | controlPoint2X = 20.162; |
147 | controlPoint2Y = 10.894; | 144 | controlPoint2Y = 10.894; |
148 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 145 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
149 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 146 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
150 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 147 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
151 | pointX = 18.0; | 148 | pointX = 18.0; |
152 | pointY = 14.666; | 149 | pointY = 14.666; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/RegisterButton/normal.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/RegisterButton/normal.js index 288e0be..2462d0e 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/RegisterButton/normal.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/RegisterButton/normal.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //normal.js | 27 | //normal.js |
31 | //normal | 28 | //normal |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/24/10 | 30 | //Created by Giulio Cesare Solaroli on 3/24/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_RegisterButton_normalWidth = 282.0; | 35 | var kClipperz_PM_UI_Canvas_RegisterButton_normalWidth = 282.0; |
39 | var kClipperz_PM_UI_Canvas_RegisterButton_normalHeight = 93.0; | 36 | var kClipperz_PM_UI_Canvas_RegisterButton_normalHeight = 93.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_RegisterButton_normal(canvas, aBackgroundColor, aDarkBackgroundColor, aLightColor, aDarkColor, aStarColor) | 38 | function Clipperz_PM_UI_Canvas_RegisterButton_normal(canvas, aBackgroundColor, aDarkBackgroundColor, aLightColor, aDarkColor, aStarColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var controlPoint1X; | 46 | var controlPoint1X; |
50 | var controlPoint1Y; | 47 | var controlPoint1Y; |
51 | var controlPoint2X; | 48 | var controlPoint2X; |
52 | var controlPoint2Y; | 49 | var controlPoint2Y; |
53 | var gradient; | 50 | var gradient; |
54 | var color; | 51 | var color; |
55 | if (window.devicePixelRatio) | 52 | if (window.devicePixelRatio) |
56 | resolution = window.devicePixelRatio; | 53 | resolution = window.devicePixelRatio; |
57 | else | 54 | else |
58 | resolution = 1.0; | 55 | resolution = 1.0; |
59 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_RegisterButton_normalWidth + canvas.height / kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); | 56 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_RegisterButton_normalWidth + canvas.height / kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); |
60 | 57 | ||
61 | context.save(); | 58 | context.save(); |
62 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_RegisterButton_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); | 59 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_RegisterButton_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); |
63 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_RegisterButton_normalWidth, kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); | 60 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_RegisterButton_normalWidth, kClipperz_PM_UI_Canvas_RegisterButton_normalHeight); |
64 | 61 | ||
65 | // background | 62 | // background |
66 | 63 | ||
67 | alignStroke = 0.0; | 64 | alignStroke = 0.0; |
68 | context.beginPath(); | 65 | context.beginPath(); |
69 | pointX = 241.0; | 66 | pointX = 241.0; |
70 | pointY = 80.0; | 67 | pointY = 80.0; |
71 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 68 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
72 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 69 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
73 | context.moveTo(pointX, pointY); | 70 | context.moveTo(pointX, pointY); |
74 | pointX = 274.0; | 71 | pointX = 274.0; |
75 | pointY = 47.0; | 72 | pointY = 47.0; |
76 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 73 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
77 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 74 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
78 | controlPoint1X = 259.103; | 75 | controlPoint1X = 259.103; |
79 | controlPoint1Y = 80.0; | 76 | controlPoint1Y = 80.0; |
80 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 77 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
81 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 78 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
82 | controlPoint2X = 274.0; | 79 | controlPoint2X = 274.0; |
83 | controlPoint2Y = 65.103; | 80 | controlPoint2Y = 65.103; |
84 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 81 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
85 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 82 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
86 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 83 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
87 | pointX = 274.0; | 84 | pointX = 274.0; |
88 | pointY = 45.0; | 85 | pointY = 45.0; |
89 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 86 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
90 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 87 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
91 | context.lineTo(pointX, pointY); | 88 | context.lineTo(pointX, pointY); |
92 | pointX = 241.0; | 89 | pointX = 241.0; |
93 | pointY = 12.0; | 90 | pointY = 12.0; |
94 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 91 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
95 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 92 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
96 | controlPoint1X = 274.0; | 93 | controlPoint1X = 274.0; |
97 | controlPoint1Y = 26.897; | 94 | controlPoint1Y = 26.897; |
98 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 95 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
99 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 96 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
100 | controlPoint2X = 259.103; | 97 | controlPoint2X = 259.103; |
101 | controlPoint2Y = 12.0; | 98 | controlPoint2Y = 12.0; |
102 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 99 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
103 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 100 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
104 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 101 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
105 | pointX = 60.0; | 102 | pointX = 60.0; |
106 | pointY = 12.0; | 103 | pointY = 12.0; |
107 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 104 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
108 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 105 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
109 | context.lineTo(pointX, pointY); | 106 | context.lineTo(pointX, pointY); |
110 | pointX = 27.0; | 107 | pointX = 27.0; |
111 | pointY = 45.0; | 108 | pointY = 45.0; |
112 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 109 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
113 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 110 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
114 | controlPoint1X = 41.897; | 111 | controlPoint1X = 41.897; |
115 | controlPoint1Y = 12.0; | 112 | controlPoint1Y = 12.0; |
116 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 113 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
117 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 114 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
118 | controlPoint2X = 27.0; | 115 | controlPoint2X = 27.0; |
119 | controlPoint2Y = 26.897; | 116 | controlPoint2Y = 26.897; |
120 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 117 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
121 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 118 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
122 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 119 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
123 | pointX = 27.0; | 120 | pointX = 27.0; |
124 | pointY = 47.0; | 121 | pointY = 47.0; |
125 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 122 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
126 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 123 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
127 | context.lineTo(pointX, pointY); | 124 | context.lineTo(pointX, pointY); |
128 | pointX = 60.0; | 125 | pointX = 60.0; |
129 | pointY = 80.0; | 126 | pointY = 80.0; |
130 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 127 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
131 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 128 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
132 | controlPoint1X = 27.0; | 129 | controlPoint1X = 27.0; |
133 | controlPoint1Y = 65.103; | 130 | controlPoint1Y = 65.103; |
134 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; | 131 | controlPoint1X = (Math.round(resolution * controlPoint1X + alignStroke) - alignStroke) / resolution; |
135 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; | 132 | controlPoint1Y = (Math.round(resolution * controlPoint1Y + alignStroke) - alignStroke) / resolution; |
136 | controlPoint2X = 41.897; | 133 | controlPoint2X = 41.897; |
137 | controlPoint2Y = 80.0; | 134 | controlPoint2Y = 80.0; |
138 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; | 135 | controlPoint2X = (Math.round(resolution * controlPoint2X + alignStroke) - alignStroke) / resolution; |
139 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; | 136 | controlPoint2Y = (Math.round(resolution * controlPoint2Y + alignStroke) - alignStroke) / resolution; |
140 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); | 137 | context.bezierCurveTo(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, pointX, pointY); |
141 | pointX = 241.0; | 138 | pointX = 241.0; |
142 | pointY = 80.0; | 139 | pointY = 80.0; |
143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
145 | context.lineTo(pointX, pointY); | 142 | context.lineTo(pointX, pointY); |
146 | context.closePath(); | 143 | context.closePath(); |
147 | gradient = context.createLinearGradient(150.5, 12.0, 150.5, 80.0); | 144 | gradient = context.createLinearGradient(150.5, 12.0, 150.5, 80.0); |
148 | gradient.addColorStop(0.0, aBackgroundColor); | 145 | gradient.addColorStop(0.0, aBackgroundColor); |
149 | gradient.addColorStop(1.0, aDarkBackgroundColor); | 146 | gradient.addColorStop(1.0, aDarkBackgroundColor); |
150 | context.fillStyle = gradient; | 147 | context.fillStyle = gradient; |
151 | context.fill(); | 148 | context.fill(); |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Star/normal.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Star/normal.js index e70e3b5..cf475c6 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Star/normal.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Star/normal.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //normal.js | 27 | //normal.js |
31 | //normal | 28 | //normal |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/15/10 | 30 | //Created by Giulio Cesare Solaroli on 3/15/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Star_normalWidth = 46.0; | 35 | var kClipperz_PM_UI_Canvas_Star_normalWidth = 46.0; |
39 | var kClipperz_PM_UI_Canvas_Star_normalHeight = 46.0; | 36 | var kClipperz_PM_UI_Canvas_Star_normalHeight = 46.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Star_normal(canvas, aColor) | 38 | function Clipperz_PM_UI_Canvas_Star_normal(canvas, aColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | if (window.devicePixelRatio) | 46 | if (window.devicePixelRatio) |
50 | resolution = window.devicePixelRatio; | 47 | resolution = window.devicePixelRatio; |
51 | else | 48 | else |
52 | resolution = 1.0; | 49 | resolution = 1.0; |
53 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Star_normalWidth + canvas.height / kClipperz_PM_UI_Canvas_Star_normalHeight); | 50 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Star_normalWidth + canvas.height / kClipperz_PM_UI_Canvas_Star_normalHeight); |
54 | 51 | ||
55 | context.save(); | 52 | context.save(); |
56 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Star_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_Star_normalHeight); | 53 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Star_normalWidth, canvas.height / kClipperz_PM_UI_Canvas_Star_normalHeight); |
57 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Star_normalWidth, kClipperz_PM_UI_Canvas_Star_normalHeight); | 54 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Star_normalWidth, kClipperz_PM_UI_Canvas_Star_normalHeight); |
58 | 55 | ||
59 | // * | 56 | // * |
60 | 57 | ||
61 | alignStroke = 0.0; | 58 | alignStroke = 0.0; |
62 | context.beginPath(); | 59 | context.beginPath(); |
63 | pointX = 8.613; | 60 | pointX = 8.613; |
64 | pointY = 15.583; | 61 | pointY = 15.583; |
65 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 62 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
66 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 63 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
67 | context.moveTo(pointX, pointY); | 64 | context.moveTo(pointX, pointY); |
68 | pointX = 18.563; | 65 | pointX = 18.563; |
69 | pointY = 18.821; | 66 | pointY = 18.821; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.lineTo(pointX, pointY); | 69 | context.lineTo(pointX, pointY); |
73 | pointX = 18.563; | 70 | pointX = 18.563; |
74 | pointY = 7.347; | 71 | pointY = 7.347; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | context.lineTo(pointX, pointY); | 74 | context.lineTo(pointX, pointY); |
78 | pointX = 26.799; | 75 | pointX = 26.799; |
79 | pointY = 7.347; | 76 | pointY = 7.347; |
80 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 77 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
81 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 78 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
82 | context.lineTo(pointX, pointY); | 79 | context.lineTo(pointX, pointY); |
83 | pointX = 26.799; | 80 | pointX = 26.799; |
84 | pointY = 18.821; | 81 | pointY = 18.821; |
85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 82 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 83 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
87 | context.lineTo(pointX, pointY); | 84 | context.lineTo(pointX, pointY); |
88 | pointX = 36.749; | 85 | pointX = 36.749; |
89 | pointY = 15.583; | 86 | pointY = 15.583; |
90 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 87 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
91 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 88 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
92 | context.lineTo(pointX, pointY); | 89 | context.lineTo(pointX, pointY); |
93 | pointX = 38.986; | 90 | pointX = 38.986; |
94 | pointY = 22.677; | 91 | pointY = 22.677; |
95 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 92 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
96 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 93 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
97 | context.lineTo(pointX, pointY); | 94 | context.lineTo(pointX, pointY); |
98 | pointX = 28.846; | 95 | pointX = 28.846; |
99 | pointY = 25.819; | 96 | pointY = 25.819; |
100 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 97 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
101 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 98 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
102 | context.lineTo(pointX, pointY); | 99 | context.lineTo(pointX, pointY); |
103 | pointX = 35.463; | 100 | pointX = 35.463; |
104 | pointY = 35.293; | 101 | pointY = 35.293; |
105 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 102 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
106 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 103 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
107 | context.lineTo(pointX, pointY); | 104 | context.lineTo(pointX, pointY); |
108 | pointX = 29.369; | 105 | pointX = 29.369; |
109 | pointY = 39.625; | 106 | pointY = 39.625; |
110 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 107 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
111 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 108 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
112 | context.lineTo(pointX, pointY); | 109 | context.lineTo(pointX, pointY); |
113 | pointX = 22.752; | 110 | pointX = 22.752; |
114 | pointY = 30.675; | 111 | pointY = 30.675; |
115 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 112 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
116 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 113 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
117 | context.lineTo(pointX, pointY); | 114 | context.lineTo(pointX, pointY); |
118 | pointX = 15.944; | 115 | pointX = 15.944; |
119 | pointY = 39.625; | 116 | pointY = 39.625; |
120 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 117 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
121 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 118 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
122 | context.lineTo(pointX, pointY); | 119 | context.lineTo(pointX, pointY); |
123 | pointX = 9.85; | 120 | pointX = 9.85; |
124 | pointY = 35.293; | 121 | pointY = 35.293; |
125 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 122 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
126 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 123 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
127 | context.lineTo(pointX, pointY); | 124 | context.lineTo(pointX, pointY); |
128 | pointX = 16.515; | 125 | pointX = 16.515; |
129 | pointY = 25.819; | 126 | pointY = 25.819; |
130 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 127 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
131 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 128 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
132 | context.lineTo(pointX, pointY); | 129 | context.lineTo(pointX, pointY); |
133 | pointX = 6.375; | 130 | pointX = 6.375; |
134 | pointY = 22.677; | 131 | pointY = 22.677; |
135 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 132 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
136 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 133 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
137 | context.lineTo(pointX, pointY); | 134 | context.lineTo(pointX, pointY); |
138 | pointX = 8.613; | 135 | pointX = 8.613; |
139 | pointY = 15.583; | 136 | pointY = 15.583; |
140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 137 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 138 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
142 | context.lineTo(pointX, pointY); | 139 | context.lineTo(pointX, pointY); |
143 | context.closePath(); | 140 | context.closePath(); |
144 | pointX = 42.081; | 141 | pointX = 42.081; |
145 | pointY = 77.949; | 142 | pointY = 77.949; |
146 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
147 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
148 | context.moveTo(pointX, pointY); | 145 | context.moveTo(pointX, pointY); |
149 | context.fillStyle = aColor; | 146 | context.fillStyle = aColor; |
150 | context.fill(); | 147 | context.fill(); |
151 | 148 | ||
152 | context.restore(); | 149 | context.restore(); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/close.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/close.js index 216fd24..cd7ed90 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/close.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/close.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //close.js | 27 | //close.js |
31 | //close | 28 | //close |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/14/10 | 30 | //Created by Giulio Cesare Solaroli on 3/14/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Tips_closeWidth = 310.0; | 35 | var kClipperz_PM_UI_Canvas_Tips_closeWidth = 310.0; |
39 | var kClipperz_PM_UI_Canvas_Tips_closeHeight = 6.0; | 36 | var kClipperz_PM_UI_Canvas_Tips_closeHeight = 6.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Tips_close(canvas, aColor, aBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Tips_close(canvas, aColor, aBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | if (window.devicePixelRatio) | 46 | if (window.devicePixelRatio) |
50 | resolution = window.devicePixelRatio; | 47 | resolution = window.devicePixelRatio; |
51 | else | 48 | else |
52 | resolution = 1.0; | 49 | resolution = 1.0; |
53 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Tips_closeWidth + canvas.height / kClipperz_PM_UI_Canvas_Tips_closeHeight); | 50 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Tips_closeWidth + canvas.height / kClipperz_PM_UI_Canvas_Tips_closeHeight); |
54 | 51 | ||
55 | context.save(); | 52 | context.save(); |
56 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Tips_closeWidth, canvas.height / kClipperz_PM_UI_Canvas_Tips_closeHeight); | 53 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Tips_closeWidth, canvas.height / kClipperz_PM_UI_Canvas_Tips_closeHeight); |
57 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Tips_closeWidth, kClipperz_PM_UI_Canvas_Tips_closeHeight); | 54 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Tips_closeWidth, kClipperz_PM_UI_Canvas_Tips_closeHeight); |
58 | 55 | ||
59 | // background | 56 | // background |
60 | 57 | ||
61 | alignStroke = 0.0; | 58 | alignStroke = 0.0; |
62 | context.beginPath(); | 59 | context.beginPath(); |
63 | pointX = 310.0; | 60 | pointX = 310.0; |
64 | pointY = 6.0; | 61 | pointY = 6.0; |
65 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 62 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
66 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 63 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
67 | context.moveTo(pointX, pointY); | 64 | context.moveTo(pointX, pointY); |
68 | pointX = 310.0; | 65 | pointX = 310.0; |
69 | pointY = 0.0; | 66 | pointY = 0.0; |
70 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 67 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
71 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 68 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
72 | context.lineTo(pointX, pointY); | 69 | context.lineTo(pointX, pointY); |
73 | pointX = 0.0; | 70 | pointX = 0.0; |
74 | pointY = 0.0; | 71 | pointY = 0.0; |
75 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 72 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
76 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 73 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
77 | context.lineTo(pointX, pointY); | 74 | context.lineTo(pointX, pointY); |
78 | pointX = 0.0; | 75 | pointX = 0.0; |
79 | pointY = 6.0; | 76 | pointY = 6.0; |
80 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 77 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
81 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 78 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
82 | context.lineTo(pointX, pointY); | 79 | context.lineTo(pointX, pointY); |
83 | pointX = 310.0; | 80 | pointX = 310.0; |
84 | pointY = 6.0; | 81 | pointY = 6.0; |
85 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 82 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
86 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 83 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
87 | context.lineTo(pointX, pointY); | 84 | context.lineTo(pointX, pointY); |
88 | context.closePath(); | 85 | context.closePath(); |
89 | context.fillStyle = aBackgroundColor; | 86 | context.fillStyle = aBackgroundColor; |
90 | context.fill(); | 87 | context.fill(); |
91 | 88 | ||
92 | // grid | 89 | // grid |
93 | 90 | ||
94 | // background | 91 | // background |
95 | 92 | ||
96 | alignStroke = 0.0; | 93 | alignStroke = 0.0; |
97 | context.beginPath(); | 94 | context.beginPath(); |
98 | pointX = 310.0; | 95 | pointX = 310.0; |
99 | pointY = 6.0; | 96 | pointY = 6.0; |
100 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 97 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
101 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 98 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
102 | context.moveTo(pointX, pointY); | 99 | context.moveTo(pointX, pointY); |
103 | pointX = 310.0; | 100 | pointX = 310.0; |
104 | pointY = 0.0; | 101 | pointY = 0.0; |
105 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 102 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
106 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 103 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
107 | context.lineTo(pointX, pointY); | 104 | context.lineTo(pointX, pointY); |
108 | pointX = 0.0; | 105 | pointX = 0.0; |
109 | pointY = 0.0; | 106 | pointY = 0.0; |
110 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 107 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
111 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 108 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
112 | context.lineTo(pointX, pointY); | 109 | context.lineTo(pointX, pointY); |
113 | pointX = 0.0; | 110 | pointX = 0.0; |
114 | pointY = 6.0; | 111 | pointY = 6.0; |
115 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 112 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
116 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 113 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
117 | context.lineTo(pointX, pointY); | 114 | context.lineTo(pointX, pointY); |
118 | pointX = 310.0; | 115 | pointX = 310.0; |
119 | pointY = 6.0; | 116 | pointY = 6.0; |
120 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 117 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
121 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 118 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
122 | context.lineTo(pointX, pointY); | 119 | context.lineTo(pointX, pointY); |
123 | context.closePath(); | 120 | context.closePath(); |
124 | context.fillStyle = aBackgroundColor; | 121 | context.fillStyle = aBackgroundColor; |
125 | context.fill(); | 122 | context.fill(); |
126 | 123 | ||
127 | // toggle | 124 | // toggle |
128 | 125 | ||
129 | alignStroke = 0.0; | 126 | alignStroke = 0.0; |
130 | context.beginPath(); | 127 | context.beginPath(); |
131 | pointX = 149.0; | 128 | pointX = 149.0; |
132 | pointY = 6.0; | 129 | pointY = 6.0; |
133 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 130 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
134 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 131 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
135 | context.moveTo(pointX, pointY); | 132 | context.moveTo(pointX, pointY); |
136 | pointX = 161.0; | 133 | pointX = 161.0; |
137 | pointY = 6.0; | 134 | pointY = 6.0; |
138 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 135 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
139 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 136 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
140 | context.lineTo(pointX, pointY); | 137 | context.lineTo(pointX, pointY); |
141 | pointX = 155.0; | 138 | pointX = 155.0; |
142 | pointY = 0.0; | 139 | pointY = 0.0; |
143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
145 | context.lineTo(pointX, pointY); | 142 | context.lineTo(pointX, pointY); |
146 | pointX = 149.0; | 143 | pointX = 149.0; |
147 | pointY = 6.0; | 144 | pointY = 6.0; |
148 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 145 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
149 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 146 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
150 | context.lineTo(pointX, pointY); | 147 | context.lineTo(pointX, pointY); |
151 | context.closePath(); | 148 | context.closePath(); |
152 | context.fillStyle = aColor; | 149 | context.fillStyle = aColor; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/open.js b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/open.js index f1bdaa9..30c1c69 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/open.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Canvas/Tips/open.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | // | 26 | // |
30 | //open.js | 27 | //open.js |
31 | //open | 28 | //open |
32 | // | 29 | // |
33 | //Created by Giulio Cesare Solaroli on 3/14/10 | 30 | //Created by Giulio Cesare Solaroli on 3/14/10 |
34 | //Copyright 2010 Clipperz | 31 | //Copyright 2010 Clipperz |
35 | //This code was generated by Opacity. You may use or modify it in any way. | 32 | //This code was generated by Opacity. You may use or modify it in any way. |
36 | // | 33 | // |
37 | 34 | ||
38 | var kClipperz_PM_UI_Canvas_Tips_openWidth = 310.0; | 35 | var kClipperz_PM_UI_Canvas_Tips_openWidth = 310.0; |
39 | var kClipperz_PM_UI_Canvas_Tips_openHeight = 6.0; | 36 | var kClipperz_PM_UI_Canvas_Tips_openHeight = 6.0; |
40 | 37 | ||
41 | function Clipperz_PM_UI_Canvas_Tips_open(canvas, aColor, aBackgroundColor) | 38 | function Clipperz_PM_UI_Canvas_Tips_open(canvas, aColor, aBackgroundColor) |
42 | { | 39 | { |
43 | var context = canvas.getContext("2d"); | 40 | var context = canvas.getContext("2d"); |
44 | var alignStroke; | 41 | var alignStroke; |
45 | var resolution; | 42 | var resolution; |
46 | var path; | 43 | var path; |
47 | var pointX; | 44 | var pointX; |
48 | var pointY; | 45 | var pointY; |
49 | var color; | 46 | var color; |
50 | if (window.devicePixelRatio) | 47 | if (window.devicePixelRatio) |
51 | resolution = window.devicePixelRatio; | 48 | resolution = window.devicePixelRatio; |
52 | else | 49 | else |
53 | resolution = 1.0; | 50 | resolution = 1.0; |
54 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Tips_openWidth + canvas.height / kClipperz_PM_UI_Canvas_Tips_openHeight); | 51 | resolution *= 0.5 * (canvas.width / kClipperz_PM_UI_Canvas_Tips_openWidth + canvas.height / kClipperz_PM_UI_Canvas_Tips_openHeight); |
55 | 52 | ||
56 | context.save(); | 53 | context.save(); |
57 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Tips_openWidth, canvas.height / kClipperz_PM_UI_Canvas_Tips_openHeight); | 54 | context.scale(canvas.width / kClipperz_PM_UI_Canvas_Tips_openWidth, canvas.height / kClipperz_PM_UI_Canvas_Tips_openHeight); |
58 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Tips_openWidth, kClipperz_PM_UI_Canvas_Tips_openHeight); | 55 | context.clearRect(0.0, 0.0, kClipperz_PM_UI_Canvas_Tips_openWidth, kClipperz_PM_UI_Canvas_Tips_openHeight); |
59 | 56 | ||
60 | // background | 57 | // background |
61 | 58 | ||
62 | alignStroke = 0.0; | 59 | alignStroke = 0.0; |
63 | context.beginPath(); | 60 | context.beginPath(); |
64 | pointX = 310.0; | 61 | pointX = 310.0; |
65 | pointY = 6.0; | 62 | pointY = 6.0; |
66 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 63 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
67 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 64 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
68 | context.moveTo(pointX, pointY); | 65 | context.moveTo(pointX, pointY); |
69 | pointX = 310.0; | 66 | pointX = 310.0; |
70 | pointY = 0.0; | 67 | pointY = 0.0; |
71 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 68 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
72 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 69 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
73 | context.lineTo(pointX, pointY); | 70 | context.lineTo(pointX, pointY); |
74 | pointX = 0.0; | 71 | pointX = 0.0; |
75 | pointY = 0.0; | 72 | pointY = 0.0; |
76 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 73 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
77 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 74 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
78 | context.lineTo(pointX, pointY); | 75 | context.lineTo(pointX, pointY); |
79 | pointX = 0.0; | 76 | pointX = 0.0; |
80 | pointY = 6.0; | 77 | pointY = 6.0; |
81 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 78 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
82 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 79 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
83 | context.lineTo(pointX, pointY); | 80 | context.lineTo(pointX, pointY); |
84 | pointX = 310.0; | 81 | pointX = 310.0; |
85 | pointY = 6.0; | 82 | pointY = 6.0; |
86 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 83 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
87 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 84 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
88 | context.lineTo(pointX, pointY); | 85 | context.lineTo(pointX, pointY); |
89 | context.closePath(); | 86 | context.closePath(); |
90 | context.fillStyle = aBackgroundColor; | 87 | context.fillStyle = aBackgroundColor; |
91 | context.fill(); | 88 | context.fill(); |
92 | 89 | ||
93 | // grid | 90 | // grid |
94 | 91 | ||
95 | // background | 92 | // background |
96 | 93 | ||
97 | alignStroke = 0.0; | 94 | alignStroke = 0.0; |
98 | context.beginPath(); | 95 | context.beginPath(); |
99 | pointX = 310.0; | 96 | pointX = 310.0; |
100 | pointY = 6.0; | 97 | pointY = 6.0; |
101 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 98 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
102 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 99 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
103 | context.moveTo(pointX, pointY); | 100 | context.moveTo(pointX, pointY); |
104 | pointX = 310.0; | 101 | pointX = 310.0; |
105 | pointY = 0.0; | 102 | pointY = 0.0; |
106 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 103 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
107 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 104 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
108 | context.lineTo(pointX, pointY); | 105 | context.lineTo(pointX, pointY); |
109 | pointX = 0.0; | 106 | pointX = 0.0; |
110 | pointY = 0.0; | 107 | pointY = 0.0; |
111 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 108 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
112 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 109 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
113 | context.lineTo(pointX, pointY); | 110 | context.lineTo(pointX, pointY); |
114 | pointX = 0.0; | 111 | pointX = 0.0; |
115 | pointY = 6.0; | 112 | pointY = 6.0; |
116 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 113 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
117 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 114 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
118 | context.lineTo(pointX, pointY); | 115 | context.lineTo(pointX, pointY); |
119 | pointX = 310.0; | 116 | pointX = 310.0; |
120 | pointY = 6.0; | 117 | pointY = 6.0; |
121 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 118 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
122 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 119 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
123 | context.lineTo(pointX, pointY); | 120 | context.lineTo(pointX, pointY); |
124 | context.closePath(); | 121 | context.closePath(); |
125 | context.fillStyle = aBackgroundColor; | 122 | context.fillStyle = aBackgroundColor; |
126 | context.fill(); | 123 | context.fill(); |
127 | 124 | ||
128 | // Layer 1 | 125 | // Layer 1 |
129 | 126 | ||
130 | alignStroke = 0.0; | 127 | alignStroke = 0.0; |
131 | context.save(); | 128 | context.save(); |
132 | context.translate(155.0, 3.0); | 129 | context.translate(155.0, 3.0); |
133 | context.rotate(-3.142); | 130 | context.rotate(-3.142); |
134 | context.translate(-155.0, -3.0); | 131 | context.translate(-155.0, -3.0); |
135 | context.beginPath(); | 132 | context.beginPath(); |
136 | pointX = 149.0; | 133 | pointX = 149.0; |
137 | pointY = 6.0; | 134 | pointY = 6.0; |
138 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 135 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
139 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 136 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
140 | context.moveTo(pointX, pointY); | 137 | context.moveTo(pointX, pointY); |
141 | pointX = 161.0; | 138 | pointX = 161.0; |
142 | pointY = 6.0; | 139 | pointY = 6.0; |
143 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 140 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
144 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 141 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
145 | context.lineTo(pointX, pointY); | 142 | context.lineTo(pointX, pointY); |
146 | pointX = 155.0; | 143 | pointX = 155.0; |
147 | pointY = 0.0; | 144 | pointY = 0.0; |
148 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; | 145 | pointX = (Math.round(resolution * pointX + alignStroke) - alignStroke) / resolution; |
149 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; | 146 | pointY = (Math.round(resolution * pointY + alignStroke) - alignStroke) / resolution; |
150 | context.lineTo(pointX, pointY); | 147 | context.lineTo(pointX, pointY); |
151 | pointX = 149.0; | 148 | pointX = 149.0; |
152 | pointY = 6.0; | 149 | pointY = 6.0; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/BaseComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/BaseComponent.js index 26f2fc4..2a03fdf 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/BaseComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/BaseComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | var _Clipperz_PM_Components_base_id_ = 0; | 30 | var _Clipperz_PM_Components_base_id_ = 0; |
34 | 31 | ||
35 | //############################################################################# | 32 | //############################################################################# |
36 | 33 | ||
37 | Clipperz.PM.UI.Common.Components.BaseComponent = function(args) { | 34 | Clipperz.PM.UI.Common.Components.BaseComponent = function(args) { |
38 | args = args || {}; | 35 | args = args || {}; |
39 | Clipperz.PM.UI.Common.Components.BaseComponent.superclass.constructor.call(this, args); | 36 | Clipperz.PM.UI.Common.Components.BaseComponent.superclass.constructor.call(this, args); |
40 | 37 | ||
41 | this._element = args.element || null; | 38 | this._element = args.element || null; |
42 | this._ids = {}; | 39 | this._ids = {}; |
43 | 40 | ||
44 | this._slots = {}; | 41 | this._slots = {}; |
45 | this._slotComponents = {}; | 42 | this._slotComponents = {}; |
46 | 43 | ||
47 | this._components = {}; | 44 | this._components = {}; |
48 | 45 | ||
49 | this._cachedSlots = {}; | 46 | this._cachedSlots = {}; |
50 | 47 | ||
51 | this._isModal = false; | 48 | this._isModal = false; |
52 | 49 | ||
53 | this._isActive = false; | 50 | this._isActive = false; |
54 | this._elementUsedToEnterModalState; | 51 | this._elementUsedToEnterModalState; |
55 | 52 | ||
56 | this._isFullyRendered = false; | 53 | this._isFullyRendered = false; |
57 | this._renderingWaitingQueue = []; | 54 | this._renderingWaitingQueue = []; |
58 | 55 | ||
59 | //this._slots = { | 56 | //this._slots = { |
60 | // 'header':'header', | 57 | // 'header':'header', |
61 | // 'body': 'body', | 58 | // 'body': 'body', |
62 | // 'footer':'footer' | 59 | // 'footer':'footer' |
63 | //}; | 60 | //}; |
64 | 61 | ||
65 | return this; | 62 | return this; |
66 | } | 63 | } |
67 | 64 | ||
68 | //============================================================================= | 65 | //============================================================================= |
69 | 66 | ||
70 | //TODO get back to MochiKit.Base.update as we are not extending anything | 67 | //TODO get back to MochiKit.Base.update as we are not extending anything |
71 | //MochiKit.Base.update(Clipperz.PM.UI.Common.Components.BaseComponent.prototype, { | 68 | //MochiKit.Base.update(Clipperz.PM.UI.Common.Components.BaseComponent.prototype, { |
72 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.BaseComponent, /*Ext.Component*/ Object, { | 69 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.BaseComponent, /*Ext.Component*/ Object, { |
73 | 70 | ||
74 | 'isClipperzPMComponent': true, | 71 | 'isClipperzPMComponent': true, |
75 | 72 | ||
76 | //------------------------------------------------------------------------- | 73 | //------------------------------------------------------------------------- |
77 | 74 | ||
78 | 'toString': function () { | 75 | 'toString': function () { |
79 | return "Clipperz.PM.UI.Common.Components.BaseComponent component"; | 76 | return "Clipperz.PM.UI.Common.Components.BaseComponent component"; |
80 | }, | 77 | }, |
81 | 78 | ||
82 | 'componentId': function () { | 79 | 'componentId': function () { |
83 | return this.getId('_id_'); | 80 | return this.getId('_id_'); |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //------------------------------------------------------------------------- | 83 | //------------------------------------------------------------------------- |
87 | /* | 84 | /* |
88 | 'slots': function() { | 85 | 'slots': function() { |
89 | return this._slots; | 86 | return this._slots; |
90 | }, | 87 | }, |
91 | */ | 88 | */ |
92 | 'slotComponents': function() { | 89 | 'slotComponents': function() { |
93 | return this._slotComponents; | 90 | return this._slotComponents; |
94 | }, | 91 | }, |
95 | 92 | ||
96 | //------------------------------------------------------------------------- | 93 | //------------------------------------------------------------------------- |
97 | 94 | ||
98 | 'components': function () { | 95 | 'components': function () { |
99 | return this._components; | 96 | return this._components; |
100 | }, | 97 | }, |
101 | 98 | ||
102 | 'addComponent': function (aComponent) { | 99 | 'addComponent': function (aComponent) { |
103 | this.components()[aComponent.componentId()] = aComponent; | 100 | this.components()[aComponent.componentId()] = aComponent; |
104 | }, | 101 | }, |
105 | 102 | ||
106 | 'removeComponent': function (aComponent) { | 103 | 'removeComponent': function (aComponent) { |
107 | var componentId; | 104 | var componentId; |
108 | 105 | ||
109 | componentId = aComponent.componentId(); | 106 | componentId = aComponent.componentId(); |
110 | this.components()[componentId].remove(); | 107 | this.components()[componentId].remove(); |
111 | delete this.components()[componentId]; | 108 | delete this.components()[componentId]; |
112 | }, | 109 | }, |
113 | 110 | ||
114 | //------------------------------------------------------------------------- | 111 | //------------------------------------------------------------------------- |
115 | /* | 112 | /* |
116 | 'domHelper': function() { | 113 | 'domHelper': function() { |
117 | return Clipperz.YUI.DomHelper; | 114 | return Clipperz.YUI.DomHelper; |
118 | }, | 115 | }, |
119 | */ | 116 | */ |
120 | //------------------------------------------------------------------------- | 117 | //------------------------------------------------------------------------- |
121 | /* | 118 | /* |
122 | 'domHelperAppend': function(aValue) { | 119 | 'domHelperAppend': function(aValue) { |
123 | Clipperz.YUI.DomHelper.append(this.element().dom, aValue); | 120 | Clipperz.YUI.DomHelper.append(this.element().dom, aValue); |
124 | }, | 121 | }, |
125 | */ | 122 | */ |
126 | //------------------------------------------------------------------------- | 123 | //------------------------------------------------------------------------- |
127 | 124 | ||
128 | 'element': function() { | 125 | 'element': function() { |
129 | //MochiKit.Logging.logDebug(">>> BaseComponent.element"); | 126 | //MochiKit.Logging.logDebug(">>> BaseComponent.element"); |
130 | return MochiKit.DOM.getElement(this._element); | 127 | return MochiKit.DOM.getElement(this._element); |
131 | }, | 128 | }, |
132 | 129 | ||
133 | 'setElement': function(aNode) { | 130 | 'setElement': function(aNode) { |
134 | this._element = aNode; | 131 | this._element = aNode; |
135 | }, | 132 | }, |
136 | 133 | ||
137 | //----------------------------------------------------- | 134 | //----------------------------------------------------- |
138 | 135 | ||
139 | 'displayElement': function() { | 136 | 'displayElement': function() { |
140 | return this.element(); | 137 | return this.element(); |
141 | }, | 138 | }, |
142 | 139 | ||
143 | //------------------------------------------------------------------------- | 140 | //------------------------------------------------------------------------- |
144 | 141 | ||
145 | 'renderInNode': function(aDomNode) { | 142 | 'renderInNode': function(aDomNode) { |
146 | this.setElement(aDomNode); | 143 | this.setElement(aDomNode); |
147 | this.render(); | 144 | this.render(); |
148 | }, | 145 | }, |
149 | 146 | ||
150 | 'render': function() { | 147 | 'render': function() { |
151 | this.clear(); | 148 | this.clear(); |
152 | this.renderSelf(); | 149 | this.renderSelf(); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Button.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Button.js index b2761ea..716d851 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Button.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Button.js | |||
@@ -1,108 +1,105 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.Button = function(args) { | 28 | Clipperz.PM.UI.Common.Components.Button = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.Button.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.Button.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._element = args.element || Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._element = args.element || Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._isDefault = args.isDefault|| false; | 35 | this._isDefault = args.isDefault|| false; |
39 | 36 | ||
40 | this.render(); | 37 | this.render(); |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Button, Clipperz.PM.UI.Common.Components.BaseComponent, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Button, Clipperz.PM.UI.Common.Components.BaseComponent, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Common.Components.Button component"; | 49 | return "Clipperz.PM.UI.Common.Components.Button component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'text': function () { | 54 | 'text': function () { |
58 | return this._text; | 55 | return this._text; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | 'isDefault': function () { | 58 | 'isDefault': function () { |
62 | return this._isDefault; | 59 | return this._isDefault; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'renderSelf': function () { | 64 | 'renderSelf': function () { |
68 | this.append(this.element(), {tag:'div', id:this.getId('wrapper'), cls:'button_wrapper', children:[ | 65 | this.append(this.element(), {tag:'div', id:this.getId('wrapper'), cls:'button_wrapper', children:[ |
69 | {tag:'div', id:this.getId('bodyWrapper'), cls:'button_bodyWrapper', children:[ | 66 | {tag:'div', id:this.getId('bodyWrapper'), cls:'button_bodyWrapper', children:[ |
70 | {tag:'div', id:this.getId('body'), cls:'button_body', children:[ | 67 | {tag:'div', id:this.getId('body'), cls:'button_body', children:[ |
71 | {tag:'span', html:this.text()} | 68 | {tag:'span', html:this.text()} |
72 | ]}, | 69 | ]}, |
73 | {tag:'div', id:this.getId('footer'), cls:'button_footer'} | 70 | {tag:'div', id:this.getId('footer'), cls:'button_footer'} |
74 | ]} | 71 | ]} |
75 | ]}); | 72 | ]}); |
76 | 73 | ||
77 | if (this.isDefault()) { | 74 | if (this.isDefault()) { |
78 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'default'); | 75 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'default'); |
79 | } | 76 | } |
80 | 77 | ||
81 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmouseenter',this, 'handleOnMouseEnter'); | 78 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmouseenter',this, 'handleOnMouseEnter'); |
82 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmouseleave',this, 'handleOnMouseLeave'); | 79 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmouseleave',this, 'handleOnMouseLeave'); |
83 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmousedown',this, 'handleOnMouseDown'); | 80 | MochiKit.Signal.connect(this.getId('wrapper'), 'onmousedown',this, 'handleOnMouseDown'); |
84 | MochiKit.Signal.connect(this.getId('wrapper'), 'onclick', this, 'handleOnClick'); | 81 | MochiKit.Signal.connect(this.getId('wrapper'), 'onclick', this, 'handleOnClick'); |
85 | }, | 82 | }, |
86 | 83 | ||
87 | //------------------------------------------------------------------------- | 84 | //------------------------------------------------------------------------- |
88 | 85 | ||
89 | 'handleOnMouseEnter': function (anEvent) { | 86 | 'handleOnMouseEnter': function (anEvent) { |
90 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'hover'); | 87 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'hover'); |
91 | }, | 88 | }, |
92 | 89 | ||
93 | 'handleOnMouseLeave': function (anEvent) { | 90 | 'handleOnMouseLeave': function (anEvent) { |
94 | MochiKit.DOM.removeElementClass(this.getId('wrapper'), 'hover'); | 91 | MochiKit.DOM.removeElementClass(this.getId('wrapper'), 'hover'); |
95 | MochiKit.DOM.removeElementClass(this.getId('wrapper'), 'clicked'); | 92 | MochiKit.DOM.removeElementClass(this.getId('wrapper'), 'clicked'); |
96 | }, | 93 | }, |
97 | 94 | ||
98 | 'handleOnMouseDown': function (anEvent) { | 95 | 'handleOnMouseDown': function (anEvent) { |
99 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'clicked'); | 96 | MochiKit.DOM.addElementClass(this.getId('wrapper'), 'clicked'); |
100 | }, | 97 | }, |
101 | 98 | ||
102 | 'handleOnClick': function (anEvent) { | 99 | 'handleOnClick': function (anEvent) { |
103 | MochiKit.Signal.signal(this, 'onclick', anEvent); | 100 | MochiKit.Signal.signal(this, 'onclick', anEvent); |
104 | }, | 101 | }, |
105 | 102 | ||
106 | //------------------------------------------------------------------------- | 103 | //------------------------------------------------------------------------- |
107 | __syntaxFix__: "syntax fix" | 104 | __syntaxFix__: "syntax fix" |
108 | }); | 105 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ComponentSlot.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ComponentSlot.js index 0c6e221..7f56c1e 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ComponentSlot.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ComponentSlot.js | |||
@@ -1,64 +1,61 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.ComponentSlot = function(aComponent, aSlotName) { | 31 | Clipperz.PM.UI.Common.Components.ComponentSlot = function(aComponent, aSlotName) { |
35 | this._component = aComponent; | 32 | this._component = aComponent; |
36 | this._slotName = aSlotName; | 33 | this._slotName = aSlotName; |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | //============================================================================= | 38 | //============================================================================= |
42 | 39 | ||
43 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.ComponentSlot, Object, { | 40 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.ComponentSlot, Object, { |
44 | 41 | ||
45 | //------------------------------------------------------------------------- | 42 | //------------------------------------------------------------------------- |
46 | 43 | ||
47 | 'slotName': function() { | 44 | 'slotName': function() { |
48 | return this._slotName; | 45 | return this._slotName; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | 'component': function() { | 48 | 'component': function() { |
52 | return this._component; | 49 | return this._component; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'setContent': function(aComponent) { | 54 | 'setContent': function(aComponent) { |
58 | this.component().setComponentForSlotNamed(aComponent, this.slotName()); | 55 | this.component().setComponentForSlotNamed(aComponent, this.slotName()); |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | __syntaxFix__: "syntax fix" | 59 | __syntaxFix__: "syntax fix" |
63 | 60 | ||
64 | }); | 61 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/FaviconComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/FaviconComponent.js index 4735f5c..2db2489 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/FaviconComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/FaviconComponent.js | |||
@@ -1,91 +1,88 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.FaviconComponent = function(args) { | 28 | Clipperz.PM.UI.Common.Components.FaviconComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.FaviconComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.FaviconComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this.render(); | 33 | this.render(); |
37 | this.setSrc(args.src); | 34 | this.setSrc(args.src); |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | //============================================================================= | 39 | //============================================================================= |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.FaviconComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 41 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.FaviconComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
45 | 42 | ||
46 | //------------------------------------------------------------------------- | 43 | //------------------------------------------------------------------------- |
47 | 44 | ||
48 | 'toString': function () { | 45 | 'toString': function () { |
49 | return "Clipperz.PM.UI.Common.Components.FaviconComponent component"; | 46 | return "Clipperz.PM.UI.Common.Components.FaviconComponent component"; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //------------------------------------------------------------------------- | 49 | //------------------------------------------------------------------------- |
53 | 50 | ||
54 | 'src': function () { | 51 | 'src': function () { |
55 | return this.element().src; | 52 | return this.element().src; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | 'setSrc': function (aValue) { | 55 | 'setSrc': function (aValue) { |
59 | this.element().src = (aValue || Clipperz.PM.Strings.getValue('defaultFaviconUrl')); | 56 | this.element().src = (aValue || Clipperz.PM.Strings.getValue('defaultFaviconUrl')); |
60 | }, | 57 | }, |
61 | 58 | ||
62 | //------------------------------------------------------------------------- | 59 | //------------------------------------------------------------------------- |
63 | 60 | ||
64 | 'clear': function () {}, | 61 | 'clear': function () {}, |
65 | 62 | ||
66 | //------------------------------------------------------------------------- | 63 | //------------------------------------------------------------------------- |
67 | 64 | ||
68 | 'renderSelf': function () { | 65 | 'renderSelf': function () { |
69 | MochiKit.Signal.connect(this.element(), 'onerror',this, 'setDefaultFavicon'); | 66 | MochiKit.Signal.connect(this.element(), 'onerror',this, 'setDefaultFavicon'); |
70 | MochiKit.Signal.connect(this.element(), 'onabort',this, 'setDefaultFavicon'); | 67 | MochiKit.Signal.connect(this.element(), 'onabort',this, 'setDefaultFavicon'); |
71 | MochiKit.Signal.connect(this.element(), 'onload',this, 'handleOnLoad'); | 68 | MochiKit.Signal.connect(this.element(), 'onload',this, 'handleOnLoad'); |
72 | }, | 69 | }, |
73 | 70 | ||
74 | //------------------------------------------------------------------------- | 71 | //------------------------------------------------------------------------- |
75 | 72 | ||
76 | 'setDefaultFavicon': function (anEvent) { | 73 | 'setDefaultFavicon': function (anEvent) { |
77 | MochiKit.Signal.disconnectAll(anEvent.src()); | 74 | MochiKit.Signal.disconnectAll(anEvent.src()); |
78 | this.setSrc(null); | 75 | this.setSrc(null); |
79 | }, | 76 | }, |
80 | 77 | ||
81 | 'handleOnLoad': function (anEvent) { | 78 | 'handleOnLoad': function (anEvent) { |
82 | MochiKit.Signal.disconnectAll(anEvent.src()); | 79 | MochiKit.Signal.disconnectAll(anEvent.src()); |
83 | //console.log("HANDLE ON LOAD", anEvent, anEvent.src().src); | 80 | //console.log("HANDLE ON LOAD", anEvent, anEvent.src().src); |
84 | if (anEvent.src().complete == false) { | 81 | if (anEvent.src().complete == false) { |
85 | this.setSrc(null); | 82 | this.setSrc(null); |
86 | } | 83 | } |
87 | }, | 84 | }, |
88 | 85 | ||
89 | //------------------------------------------------------------------------- | 86 | //------------------------------------------------------------------------- |
90 | __syntaxFix__: "syntax fix" | 87 | __syntaxFix__: "syntax fix" |
91 | }); | 88 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/MessagePanelWithProgressBar.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/MessagePanelWithProgressBar.js index 275bbed..2788b79 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/MessagePanelWithProgressBar.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/MessagePanelWithProgressBar.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar = function(args) { | 28 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | // this._openFromElement = args.openFromElement || null; | 33 | // this._openFromElement = args.openFromElement || null; |
37 | this._onOkCloseToElement = args.onOkCloseToElement || null; | 34 | this._onOkCloseToElement = args.onOkCloseToElement || null; |
38 | this._onCancelCloseToElement = args.onCancelCloseToElement|| null; | 35 | this._onCancelCloseToElement = args.onCancelCloseToElement|| null; |
39 | 36 | ||
40 | this._canCancelWhileProcessing= ((typeof(args.canCancelWhileProcessing) == 'undefined') ? true : args.canCancelWhileProcessing); | 37 | this._canCancelWhileProcessing= ((typeof(args.canCancelWhileProcessing) == 'undefined') ? true : args.canCancelWhileProcessing); |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar, Clipperz.PM.UI.Common.Components.SimpleMessagePanel, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar, Clipperz.PM.UI.Common.Components.SimpleMessagePanel, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar component"; | 49 | return "Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | /* | 53 | /* |
57 | 'openFromElement': function () { | 54 | 'openFromElement': function () { |
58 | return this._openFromElement; | 55 | return this._openFromElement; |
59 | }, | 56 | }, |
60 | */ | 57 | */ |
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'onOkCloseToElement': function () { | 60 | 'onOkCloseToElement': function () { |
64 | return this._onOkCloseToElement; | 61 | return this._onOkCloseToElement; |
65 | }, | 62 | }, |
66 | 63 | ||
67 | 'setOnOkCloseToElement': function (anElement) { | 64 | 'setOnOkCloseToElement': function (anElement) { |
68 | this._onOkCloseToElement = anElement; | 65 | this._onOkCloseToElement = anElement; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | //------------------------------------------------------------------------- | 68 | //------------------------------------------------------------------------- |
72 | 69 | ||
73 | 'onCancelCloseToElement': function () { | 70 | 'onCancelCloseToElement': function () { |
74 | return this._onCancelCloseToElement; | 71 | return this._onCancelCloseToElement; |
75 | }, | 72 | }, |
76 | 73 | ||
77 | 'setOnCancelCloseToElement': function (anElement) { | 74 | 'setOnCancelCloseToElement': function (anElement) { |
78 | this._onCancelCloseToElement = anElement; | 75 | this._onCancelCloseToElement = anElement; |
79 | }, | 76 | }, |
80 | 77 | ||
81 | //------------------------------------------------------------------------- | 78 | //------------------------------------------------------------------------- |
82 | 79 | ||
83 | 'canCancelWhileProcessing': function () { | 80 | 'canCancelWhileProcessing': function () { |
84 | return this._canCancelWhileProcessing; | 81 | return this._canCancelWhileProcessing; |
85 | }, | 82 | }, |
86 | 83 | ||
87 | //------------------------------------------------------------------------- | 84 | //------------------------------------------------------------------------- |
88 | 85 | ||
89 | 'deferredShowModal': function (someArgs, aResult) { | 86 | 'deferredShowModal': function (someArgs, aResult) { |
90 | if (someArgs['onOkCloseToElement'] != null) { | 87 | if (someArgs['onOkCloseToElement'] != null) { |
91 | this.setOnOkCloseToElement(someArgs['onOkCloseToElement']); | 88 | this.setOnOkCloseToElement(someArgs['onOkCloseToElement']); |
92 | } | 89 | } |
93 | 90 | ||
94 | if (someArgs['onCancelCloseToElement'] != null) { | 91 | if (someArgs['onCancelCloseToElement'] != null) { |
95 | this.setOnCancelCloseToElement(someArgs['onCancelCloseToElement']); | 92 | this.setOnCancelCloseToElement(someArgs['onCancelCloseToElement']); |
96 | } | 93 | } |
97 | 94 | ||
98 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar.superclass.deferredShowModal.apply(this, arguments); | 95 | Clipperz.PM.UI.Common.Components.MessagePanelWithProgressBar.superclass.deferredShowModal.apply(this, arguments); |
99 | return this.deferred(); | 96 | return this.deferred(); |
100 | }, | 97 | }, |
101 | 98 | ||
102 | //------------------------------------------------------------------------- | 99 | //------------------------------------------------------------------------- |
103 | 100 | ||
104 | 'showProgressBar': function () { | 101 | 'showProgressBar': function () { |
105 | varprogressBarElement; | 102 | varprogressBarElement; |
106 | 103 | ||
107 | this.getElement('container').innerHTML = ''; | 104 | this.getElement('container').innerHTML = ''; |
108 | 105 | ||
109 | progressBarElement = this.append(this.getElement('container'), {tag:'div', cls:'progressBarWrapper'}); | 106 | progressBarElement = this.append(this.getElement('container'), {tag:'div', cls:'progressBarWrapper'}); |
110 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':progressBarElement})); | 107 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':progressBarElement})); |
111 | 108 | ||
112 | if (this.canCancelWhileProcessing() == true) { | 109 | if (this.canCancelWhileProcessing() == true) { |
113 | this.setButtons([{text:"Cancel", result:'CANCEL'}]); | 110 | this.setButtons([{text:"Cancel", result:'CANCEL'}]); |
114 | } else { | 111 | } else { |
115 | this.setButtons([]); | 112 | this.setButtons([]); |
116 | } | 113 | } |
117 | }, | 114 | }, |
118 | 115 | ||
119 | //------------------------------------------------------------------------- | 116 | //------------------------------------------------------------------------- |
120 | 117 | ||
121 | 'showFailure': function (someParameters) { | 118 | 'showFailure': function (someParameters) { |
122 | // this.setType('ALERT'); | 119 | // this.setType('ALERT'); |
123 | this.setType(someParameters['type']); | 120 | this.setType(someParameters['type']); |
124 | // this.setTitle("Login failed"); | 121 | // this.setTitle("Login failed"); |
125 | this.setTitle(someParameters['title']); | 122 | this.setTitle(someParameters['title']); |
126 | // this.setText("Wrong passphrase; the unlock has failed."); | 123 | // this.setText("Wrong passphrase; the unlock has failed."); |
127 | this.setText(someParameters['text']); | 124 | this.setText(someParameters['text']); |
128 | // this.getElement('container').innerHTML = ''; | 125 | // this.getElement('container').innerHTML = ''; |
129 | this.getElement('container').innerHTML = ''; | 126 | this.getElement('container').innerHTML = ''; |
130 | // this.setButtons([{text:"Close", result:'CANCEL', isDefault:true}]); | 127 | // this.setButtons([{text:"Close", result:'CANCEL', isDefault:true}]); |
131 | this.setButtons(someParameters['buttons']); | 128 | this.setButtons(someParameters['buttons']); |
132 | }, | 129 | }, |
133 | 130 | ||
134 | //------------------------------------------------------------------------- | 131 | //------------------------------------------------------------------------- |
135 | 132 | ||
136 | 'closeOk': function () { | 133 | 'closeOk': function () { |
137 | //console.log("=== closeOk"); | 134 | //console.log("=== closeOk"); |
138 | this.showProgressBar(); | 135 | this.showProgressBar(); |
139 | MochiKit.Async.callLater(0.5, MochiKit.Base.method(this.deferred(), 'callback')); | 136 | MochiKit.Async.callLater(0.5, MochiKit.Base.method(this.deferred(), 'callback')); |
140 | this._deferred = null; | 137 | this._deferred = null; |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'closeCancel': function () { | 140 | 'closeCancel': function () { |
144 | //console.log("=== closeCancel"); | 141 | //console.log("=== closeCancel"); |
145 | this.deferredHideModal({closeToElement:this.onCancelCloseToElement()}); | 142 | this.deferredHideModal({closeToElement:this.onCancelCloseToElement()}); |
146 | this.deferred().cancel(); | 143 | this.deferred().cancel(); |
147 | this._deferred = null; | 144 | this._deferred = null; |
148 | }, | 145 | }, |
149 | 146 | ||
150 | //------------------------------------------------------------------------- | 147 | //------------------------------------------------------------------------- |
151 | 148 | ||
152 | 'deferredDone': function () { | 149 | 'deferredDone': function () { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/PasswordEntropyDisplay.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/PasswordEntropyDisplay.js index c1b4f13..089e3d4 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/PasswordEntropyDisplay.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/PasswordEntropyDisplay.js | |||
@@ -1,140 +1,137 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay = function(anElement, args) { | 28 | Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay = function(anElement, args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | //MochiKit.Logging.logDebug(">>> new TextFormField"); | 31 | //MochiKit.Logging.logDebug(">>> new TextFormField"); |
35 | Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay.superclass.constructor.call(this, anElement, args); | 32 | Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay.superclass.constructor.call(this, anElement, args); |
36 | 33 | ||
37 | this._wrapperElement = null; | 34 | this._wrapperElement = null; |
38 | this._entropyElement = null; | 35 | this._entropyElement = null; |
39 | 36 | ||
40 | this.render(); | 37 | this.render(); |
41 | //MochiKit.Logging.logDebug("<<< new TextFormField"); | 38 | //MochiKit.Logging.logDebug("<<< new TextFormField"); |
42 | 39 | ||
43 | return this; | 40 | return this; |
44 | }; | 41 | }; |
45 | 42 | ||
46 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay, Clipperz.PM.UI.Common.Components.BaseComponent, { | 43 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay, Clipperz.PM.UI.Common.Components.BaseComponent, { |
47 | 44 | ||
48 | 'toString': function() { | 45 | 'toString': function() { |
49 | return "Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay"; | 46 | return "Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay"; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //----------------------------------------------------- | 49 | //----------------------------------------------------- |
53 | 50 | ||
54 | 'wrapperElement': function() { | 51 | 'wrapperElement': function() { |
55 | return this._wrapperElement; | 52 | return this._wrapperElement; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | 'setWrapperElement': function(aValue) { | 55 | 'setWrapperElement': function(aValue) { |
59 | this._wrapperElement = aValue; | 56 | this._wrapperElement = aValue; |
60 | }, | 57 | }, |
61 | 58 | ||
62 | //----------------------------------------------------- | 59 | //----------------------------------------------------- |
63 | 60 | ||
64 | 'passwordElement': function() { | 61 | 'passwordElement': function() { |
65 | return this.element(); | 62 | return this.element(); |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //----------------------------------------------------- | 65 | //----------------------------------------------------- |
69 | 66 | ||
70 | 'entropyElement': function() { | 67 | 'entropyElement': function() { |
71 | return this._entropyElement; | 68 | return this._entropyElement; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'setEntropyElement': function(aValue) { | 71 | 'setEntropyElement': function(aValue) { |
75 | this._entropyElement = aValue; | 72 | this._entropyElement = aValue; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //----------------------------------------------------- | 75 | //----------------------------------------------------- |
79 | 76 | ||
80 | 'render': function() { | 77 | 'render': function() { |
81 | /* | 78 | /* |
82 | MochiKit.Signal.disconnectAllTo(this); | 79 | MochiKit.Signal.disconnectAllTo(this); |
83 | 80 | ||
84 | this.setWrapperElement(this.element().wrap({tag:'div'})); | 81 | this.setWrapperElement(this.element().wrap({tag:'div'})); |
85 | this.setEntropyElement(Clipperz.DOM.Helper.append(this.wrapperElement().dom, {tag:'div', cls:'passwordEntropy', html:" "}, true)); | 82 | this.setEntropyElement(Clipperz.DOM.Helper.append(this.wrapperElement().dom, {tag:'div', cls:'passwordEntropy', html:" "}, true)); |
86 | // this.setEntropyElement(Clipperz.DOM.Helper.insertBefore(this.element(), {tag:'div', cls:'passwordEntropy', html:" "}, true)); | 83 | // this.setEntropyElement(Clipperz.DOM.Helper.insertBefore(this.element(), {tag:'div', cls:'passwordEntropy', html:" "}, true)); |
87 | this.entropyElement().wrap({tag:'div', cls:'passwordEntropyWrapper'}); | 84 | this.entropyElement().wrap({tag:'div', cls:'passwordEntropyWrapper'}); |
88 | 85 | ||
89 | this.updateEntropyElement(); | 86 | this.updateEntropyElement(); |
90 | 87 | ||
91 | this.connect('onkeyup', 'updateEntropyElement'); | 88 | this.connect('onkeyup', 'updateEntropyElement'); |
92 | this.connect('onchange', 'updateEntropyElement'); | 89 | this.connect('onchange', 'updateEntropyElement'); |
93 | this.connect('onblur', 'updateEntropyElement'); | 90 | this.connect('onblur', 'updateEntropyElement'); |
94 | */ | 91 | */ |
95 | MochiKit.Signal.disconnectAllTo(this); | 92 | MochiKit.Signal.disconnectAllTo(this); |
96 | 93 | ||
97 | this.setEntropyElement(this.element()); | 94 | this.setEntropyElement(this.element()); |
98 | this.entropyElement().addClass("entropyLevelIndicator"); | 95 | this.entropyElement().addClass("entropyLevelIndicator"); |
99 | 96 | ||
100 | this.updateEntropyElement(); | 97 | this.updateEntropyElement(); |
101 | 98 | ||
102 | this.connect('onkeyup', 'updateEntropyElement'); | 99 | this.connect('onkeyup', 'updateEntropyElement'); |
103 | this.connect('onchange', 'updateEntropyElement'); | 100 | this.connect('onchange', 'updateEntropyElement'); |
104 | this.connect('onblur', 'updateEntropyElement'); | 101 | this.connect('onblur', 'updateEntropyElement'); |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //----------------------------------------------------- | 104 | //----------------------------------------------------- |
108 | 105 | ||
109 | 'computeEntropyForString': function(aValue) { | 106 | 'computeEntropyForString': function(aValue) { |
110 | return Clipperz.PM.Crypto.passwordEntropy(aValue); | 107 | return Clipperz.PM.Crypto.passwordEntropy(aValue); |
111 | }, | 108 | }, |
112 | 109 | ||
113 | //----------------------------------------------------- | 110 | //----------------------------------------------------- |
114 | 111 | ||
115 | 'updateEntropyElement': function(anEvent) { | 112 | 'updateEntropyElement': function(anEvent) { |
116 | /* | 113 | /* |
117 | //MochiKit.Logging.logDebug(">>> PasswordEntropyDisplay.updateEntropyElement"); | 114 | //MochiKit.Logging.logDebug(">>> PasswordEntropyDisplay.updateEntropyElement"); |
118 | varmaxExtent; | 115 | varmaxExtent; |
119 | varentropy; | 116 | varentropy; |
120 | 117 | ||
121 | entropy = Math.min(128, this.computeEntropyForString(this.passwordElement().dom.value)); | 118 | entropy = Math.min(128, this.computeEntropyForString(this.passwordElement().dom.value)); |
122 | //MochiKit.Logging.logDebug("--- PasswordEntropyDisplay.updateEntropyElement - entropy: " + entropy); | 119 | //MochiKit.Logging.logDebug("--- PasswordEntropyDisplay.updateEntropyElement - entropy: " + entropy); |
123 | this.entropyElement().setStyle('background-position', "0px " + -entropy + "px"); | 120 | this.entropyElement().setStyle('background-position', "0px " + -entropy + "px"); |
124 | this.entropyElement().setWidth(this.passwordElement().getWidth() * (entropy/128)); | 121 | this.entropyElement().setWidth(this.passwordElement().getWidth() * (entropy/128)); |
125 | //MochiKit.Logging.logDebug("<<< PasswordEntropyDisplay.updateEntropyElement"); | 122 | //MochiKit.Logging.logDebug("<<< PasswordEntropyDisplay.updateEntropyElement"); |
126 | */ | 123 | */ |
127 | varentropy; | 124 | varentropy; |
128 | 125 | ||
129 | entropy = Math.min(128, this.computeEntropyForString(this.passwordElement().dom.value)); | 126 | entropy = Math.min(128, this.computeEntropyForString(this.passwordElement().dom.value)); |
130 | 127 | ||
131 | if (entropy == 0) { | 128 | if (entropy == 0) { |
132 | this.entropyElement().setStyle('background-position', "0px 26px"); | 129 | this.entropyElement().setStyle('background-position', "0px 26px"); |
133 | } else { | 130 | } else { |
134 | this.entropyElement().setStyle('background-position', "0px -" + (128-entropy)*26 + "px"); | 131 | this.entropyElement().setStyle('background-position', "0px -" + (128-entropy)*26 + "px"); |
135 | } | 132 | } |
136 | }, | 133 | }, |
137 | 134 | ||
138 | //----------------------------------------------------- | 135 | //----------------------------------------------------- |
139 | __syntaxFix__: '__syntaxFix__' | 136 | __syntaxFix__: '__syntaxFix__' |
140 | }); | 137 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ProgressBar.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ProgressBar.js index 7e7f8fe..5991530 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ProgressBar.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/ProgressBar.js | |||
@@ -1,73 +1,70 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.ProgressBar = function(args) { | 28 | Clipperz.PM.UI.Common.Components.ProgressBar = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.ProgressBar.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.ProgressBar.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | 34 | ||
38 | this.renderSelf(); | 35 | this.renderSelf(); |
39 | 36 | ||
40 | MochiKit.Signal.connect(Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController, 'updateProgress', this, 'updateProgressHandler') | 37 | MochiKit.Signal.connect(Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController, 'updateProgress', this, 'updateProgressHandler') |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.ProgressBar, Clipperz.PM.UI.Common.Components.BaseComponent, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.ProgressBar, Clipperz.PM.UI.Common.Components.BaseComponent, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Common.Components.ProgressBar component"; | 49 | return "Clipperz.PM.UI.Common.Components.ProgressBar component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'renderSelf': function() { | 54 | 'renderSelf': function() { |
58 | this.append(this.element(), {tag:'div', cls:'loadingBar', children:[ | 55 | this.append(this.element(), {tag:'div', cls:'loadingBar', children:[ |
59 | {tag:'div', cls:'loadingBarProgressBox', children:[ | 56 | {tag:'div', cls:'loadingBarProgressBox', children:[ |
60 | {tag:'div', id:this.getId('loadingBarProgress'), cls:'loadingBarProgress'} | 57 | {tag:'div', id:this.getId('loadingBarProgress'), cls:'loadingBarProgress'} |
61 | ]} | 58 | ]} |
62 | ]}); | 59 | ]}); |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'updateProgressHandler': function (anEvent) { | 64 | 'updateProgressHandler': function (anEvent) { |
68 | MochiKit.Style.setElementDimensions(this.getId('loadingBarProgress'), {w:anEvent}, '%'); | 65 | MochiKit.Style.setElementDimensions(this.getId('loadingBarProgress'), {w:anEvent}, '%'); |
69 | }, | 66 | }, |
70 | 67 | ||
71 | //------------------------------------------------------------------------- | 68 | //------------------------------------------------------------------------- |
72 | __syntaxFix__: "syntax fix" | 69 | __syntaxFix__: "syntax fix" |
73 | }); | 70 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/SimpleMessagePanel.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/SimpleMessagePanel.js index b9bb850..1992154 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/SimpleMessagePanel.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/SimpleMessagePanel.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.SimpleMessagePanel = function(args) { | 28 | Clipperz.PM.UI.Common.Components.SimpleMessagePanel = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.SimpleMessagePanel.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.SimpleMessagePanel.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._title = args.title || Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._title = args.title || Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._type = args.type || Clipperz.Base.exception.raise('MandatoryParameter'); //ALERT, INFO, ERROR | 35 | this._type = args.type || Clipperz.Base.exception.raise('MandatoryParameter'); //ALERT, INFO, ERROR |
39 | this._buttons = args.buttons || Clipperz.Base.exception.raise('MandatoryParameter'); | 36 | this._buttons = args.buttons || Clipperz.Base.exception.raise('MandatoryParameter'); |
40 | 37 | ||
41 | this._buttonComponents = []; | 38 | this._buttonComponents = []; |
42 | this._deferred = null; | 39 | this._deferred = null; |
43 | 40 | ||
44 | this.renderModalMask(); | 41 | this.renderModalMask(); |
45 | 42 | ||
46 | return this; | 43 | return this; |
47 | } | 44 | } |
48 | 45 | ||
49 | //============================================================================= | 46 | //============================================================================= |
50 | 47 | ||
51 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.SimpleMessagePanel, Clipperz.PM.UI.Common.Components.BaseComponent, { | 48 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.SimpleMessagePanel, Clipperz.PM.UI.Common.Components.BaseComponent, { |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'toString': function () { | 52 | 'toString': function () { |
56 | return "Clipperz.PM.UI.Common.Components.SimpleMessagePanel component"; | 53 | return "Clipperz.PM.UI.Common.Components.SimpleMessagePanel component"; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'deferred': function() { | 58 | 'deferred': function() { |
62 | if (this._deferred == null) { | 59 | if (this._deferred == null) { |
63 | this._deferred = new Clipperz.Async.Deferred("SimpleMessagePanel.deferred", {trace:false}); | 60 | this._deferred = new Clipperz.Async.Deferred("SimpleMessagePanel.deferred", {trace:false}); |
64 | } | 61 | } |
65 | 62 | ||
66 | return this._deferred; | 63 | return this._deferred; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'title': function () { | 68 | 'title': function () { |
72 | return this._title; | 69 | return this._title; |
73 | }, | 70 | }, |
74 | 71 | ||
75 | 'setTitle': function (aValue) { | 72 | 'setTitle': function (aValue) { |
76 | this._title = aValue; | 73 | this._title = aValue; |
77 | 74 | ||
78 | if (this.getElement('title') != null) { | 75 | if (this.getElement('title') != null) { |
79 | this.getElement('title').innerHTML = aValue; | 76 | this.getElement('title').innerHTML = aValue; |
80 | } | 77 | } |
81 | }, | 78 | }, |
82 | 79 | ||
83 | //------------------------------------------------------------------------- | 80 | //------------------------------------------------------------------------- |
84 | 81 | ||
85 | 'text': function () { | 82 | 'text': function () { |
86 | return this._text; | 83 | return this._text; |
87 | }, | 84 | }, |
88 | 85 | ||
89 | 'setText': function (aValue) { | 86 | 'setText': function (aValue) { |
90 | this._text = aValue; | 87 | this._text = aValue; |
91 | 88 | ||
92 | if (this.getElement('text') != null) { | 89 | if (this.getElement('text') != null) { |
93 | this.getElement('text').innerHTML = aValue; | 90 | this.getElement('text').innerHTML = aValue; |
94 | } | 91 | } |
95 | }, | 92 | }, |
96 | 93 | ||
97 | //------------------------------------------------------------------------- | 94 | //------------------------------------------------------------------------- |
98 | 95 | ||
99 | 'type': function () { | 96 | 'type': function () { |
100 | return this._type; | 97 | return this._type; |
101 | }, | 98 | }, |
102 | 99 | ||
103 | 'setType': function (aValue) { | 100 | 'setType': function (aValue) { |
104 | if (this.getElement('icon') != null) { | 101 | if (this.getElement('icon') != null) { |
105 | MochiKit.DOM.removeElementClass(this.getId('icon'), this._type); | 102 | MochiKit.DOM.removeElementClass(this.getId('icon'), this._type); |
106 | MochiKit.DOM.addElementClass(this.getId('icon'), aValue); | 103 | MochiKit.DOM.addElementClass(this.getId('icon'), aValue); |
107 | } | 104 | } |
108 | 105 | ||
109 | this._type = aValue; | 106 | this._type = aValue; |
110 | }, | 107 | }, |
111 | 108 | ||
112 | //------------------------------------------------------------------------- | 109 | //------------------------------------------------------------------------- |
113 | 110 | ||
114 | 'buttons': function () { | 111 | 'buttons': function () { |
115 | return this._buttons; | 112 | return this._buttons; |
116 | }, | 113 | }, |
117 | 114 | ||
118 | 'setButtons': function (someValues) { | 115 | 'setButtons': function (someValues) { |
119 | MochiKit.Iter.forEach(this.buttonComponents(), MochiKit.Base.methodcaller('clear')); | 116 | MochiKit.Iter.forEach(this.buttonComponents(), MochiKit.Base.methodcaller('clear')); |
120 | 117 | ||
121 | this._buttons = someValues; | 118 | this._buttons = someValues; |
122 | 119 | ||
123 | if (this.getElement('buttonArea') != null) { | 120 | if (this.getElement('buttonArea') != null) { |
124 | this.renderButtons(); | 121 | this.renderButtons(); |
125 | } | 122 | } |
126 | }, | 123 | }, |
127 | 124 | ||
128 | //......................................................................... | 125 | //......................................................................... |
129 | 126 | ||
130 | 'buttonComponents': function () { | 127 | 'buttonComponents': function () { |
131 | return this._buttonComponents; | 128 | return this._buttonComponents; |
132 | }, | 129 | }, |
133 | 130 | ||
134 | //------------------------------------------------------------------------- | 131 | //------------------------------------------------------------------------- |
135 | 132 | ||
136 | 'renderSelf': function() { | 133 | 'renderSelf': function() { |
137 | this.append(this.element(), {tag:'div', cls:'SimpleMessagePanel', id:this.getId('panel'), children: [ | 134 | this.append(this.element(), {tag:'div', cls:'SimpleMessagePanel', id:this.getId('panel'), children: [ |
138 | {tag:'div', cls:'header', children:[]}, | 135 | {tag:'div', cls:'header', children:[]}, |
139 | {tag:'div', cls:'body', children:[ | 136 | {tag:'div', cls:'body', children:[ |
140 | {tag:'div', id:this.getId('icon'),cls:'img ' + this.type(), children:[{tag:'div'}]}, | 137 | {tag:'div', id:this.getId('icon'),cls:'img ' + this.type(), children:[{tag:'div'}]}, |
141 | {tag:'h3', id:this.getId('title'),html:this.title()}, | 138 | {tag:'h3', id:this.getId('title'),html:this.title()}, |
142 | {tag:'p', id:this.getId('text'),html:this.text()}, | 139 | {tag:'p', id:this.getId('text'),html:this.text()}, |
143 | {tag:'div', id:this.getId('container')}, | 140 | {tag:'div', id:this.getId('container')}, |
144 | {tag:'div', id:this.getId('buttonArea'), cls:'buttonArea', children:[]} | 141 | {tag:'div', id:this.getId('buttonArea'), cls:'buttonArea', children:[]} |
145 | ]}, | 142 | ]}, |
146 | {tag:'div', cls:'footer', children:[]} | 143 | {tag:'div', cls:'footer', children:[]} |
147 | ]}); | 144 | ]}); |
148 | 145 | ||
149 | MochiKit.Signal.connect(this.getId('panel'), 'onkeydown', this, 'keyDownHandler'); | 146 | MochiKit.Signal.connect(this.getId('panel'), 'onkeydown', this, 'keyDownHandler'); |
150 | 147 | ||
151 | this.renderButtons(); | 148 | this.renderButtons(); |
152 | }, | 149 | }, |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TabPanelComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TabPanelComponent.js index afb3bf9..936514a 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TabPanelComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TabPanelComponent.js | |||
@@ -1,69 +1,66 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.TabPanelComponent = function(args) { | 28 | Clipperz.PM.UI.Common.Components.TabPanelComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | Clipperz.PM.UI.Common.Components.TabPanelComponent.superclass.constructor.call(this, args); | 30 | Clipperz.PM.UI.Common.Components.TabPanelComponent.superclass.constructor.call(this, args); |
34 | 31 | ||
35 | this._tabPanelController = null; | 32 | this._tabPanelController = null; |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.TabPanelComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.TabPanelComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return "Clipperz.PM.UI.Common.Components.TabPanelComponent component"; | 42 | return "Clipperz.PM.UI.Common.Components.TabPanelComponent component"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'tabPanelControllerConfiguration': function() { | 47 | 'tabPanelControllerConfiguration': function() { |
51 | return this._tabPanelControllerConfiguration; | 48 | return this._tabPanelControllerConfiguration; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | 'tabPanelController': function() { | 51 | 'tabPanelController': function() { |
55 | if (this._tabPanelController == null) { | 52 | if (this._tabPanelController == null) { |
56 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({component:this, configuration:this.tabPanelControllerConfiguration()}); | 53 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({component:this, configuration:this.tabPanelControllerConfiguration()}); |
57 | } | 54 | } |
58 | 55 | ||
59 | return this._tabPanelController; | 56 | return this._tabPanelController; |
60 | }, | 57 | }, |
61 | 58 | ||
62 | 'initiallySelectedTab': function() { | 59 | 'initiallySelectedTab': function() { |
63 | return this._initiallySelectedTab; | 60 | return this._initiallySelectedTab; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | //------------------------------------------------------------------------- | 63 | //------------------------------------------------------------------------- |
67 | __syntaxFix__: "syntax fix" | 64 | __syntaxFix__: "syntax fix" |
68 | 65 | ||
69 | }); | 66 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js index 7507b86..095e8ed 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.Tooltip = function(args) { | 28 | Clipperz.PM.UI.Common.Components.Tooltip = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Common.Components.Tooltip.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Common.Components.Tooltip.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._position = args.position || 'BELOW'; //'BELOW', 'ABOVE', 'LEFT', 'RIGHT' | 35 | this._position = args.position || 'BELOW'; //'BELOW', 'ABOVE', 'LEFT', 'RIGHT' |
39 | 36 | ||
40 | this._boxDimensions = null; | 37 | this._boxDimensions = null; |
41 | this._enabled = (typeof(args.enabled) == 'undefined' ? true : args.enabled); | 38 | this._enabled = (typeof(args.enabled) == 'undefined' ? true : args.enabled); |
42 | this._isVisible = false; | 39 | this._isVisible = false; |
43 | 40 | ||
44 | this.renderSelf(); | 41 | this.renderSelf(); |
45 | 42 | ||
46 | return this; | 43 | return this; |
47 | } | 44 | } |
48 | 45 | ||
49 | //============================================================================= | 46 | //============================================================================= |
50 | 47 | ||
51 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Tooltip, Clipperz.PM.UI.Common.Components.BaseComponent, { | 48 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Tooltip, Clipperz.PM.UI.Common.Components.BaseComponent, { |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'toString': function () { | 52 | 'toString': function () { |
56 | return "Clipperz.PM.UI.Common.Components.Tooltip component"; | 53 | return "Clipperz.PM.UI.Common.Components.Tooltip component"; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'text': function () { | 58 | 'text': function () { |
62 | return this._text; | 59 | return this._text; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | 'setText': function (aValue) { | 62 | 'setText': function (aValue) { |
66 | this._text = aValue; | 63 | this._text = aValue; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'position': function () { | 68 | 'position': function () { |
72 | return this._position; | 69 | return this._position; |
73 | }, | 70 | }, |
74 | 71 | ||
75 | 'setPosition': function (aValue) { | 72 | 'setPosition': function (aValue) { |
76 | this._position = aValue; | 73 | this._position = aValue; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | //------------------------------------------------------------------------- | 76 | //------------------------------------------------------------------------- |
80 | 77 | ||
81 | 'enabled': function () { | 78 | 'enabled': function () { |
82 | return this._enabled; | 79 | return this._enabled; |
83 | }, | 80 | }, |
84 | 81 | ||
85 | 'setIsEnabled': function (aValue) { | 82 | 'setIsEnabled': function (aValue) { |
86 | this._enabled = aValue; | 83 | this._enabled = aValue; |
87 | }, | 84 | }, |
88 | 85 | ||
89 | //------------------------------------------------------------------------- | 86 | //------------------------------------------------------------------------- |
90 | 87 | ||
91 | 'isVisible': function () { | 88 | 'isVisible': function () { |
92 | return this._isVisible; | 89 | return this._isVisible; |
93 | }, | 90 | }, |
94 | 91 | ||
95 | 'setIsVisible': function (aValue) { | 92 | 'setIsVisible': function (aValue) { |
96 | this._isVisible = aValue; | 93 | this._isVisible = aValue; |
97 | }, | 94 | }, |
98 | 95 | ||
99 | //------------------------------------------------------------------------- | 96 | //------------------------------------------------------------------------- |
100 | 97 | ||
101 | 'renderSelf': function() { | 98 | 'renderSelf': function() { |
102 | // this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ | 99 | // this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ |
103 | // this.append(MochiKit.DOM.currentDocument().body, {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ | 100 | // this.append(MochiKit.DOM.currentDocument().body, {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ |
104 | this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ | 101 | this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ |
105 | {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[ | 102 | {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[ |
106 | {tag:'div', cls:'tooltip_text', children:[ | 103 | {tag:'div', cls:'tooltip_text', children:[ |
107 | {tag:'span', html:this.text()} | 104 | {tag:'span', html:this.text()} |
108 | ]}, | 105 | ]}, |
109 | {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'} | 106 | {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'} |
110 | ]}, | 107 | ]}, |
111 | {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'} | 108 | {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'} |
112 | ]}); | 109 | ]}); |
113 | 110 | ||
114 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); | 111 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); |
115 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; | 112 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; |
116 | 113 | ||
117 | MochiKit.Style.hideElement(this.displayElement()); | 114 | MochiKit.Style.hideElement(this.displayElement()); |
118 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); | 115 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); |
119 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); | 116 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //----------------------------------------------------- | 119 | //----------------------------------------------------- |
123 | 120 | ||
124 | 'displayElement': function() { | 121 | 'displayElement': function() { |
125 | return this.getElement('tooltip'); | 122 | return this.getElement('tooltip'); |
126 | }, | 123 | }, |
127 | 124 | ||
128 | //------------------------------------------------------------------------- | 125 | //------------------------------------------------------------------------- |
129 | 126 | ||
130 | 'boxDimensions': function () { | 127 | 'boxDimensions': function () { |
131 | return this._boxDimensions; | 128 | return this._boxDimensions; |
132 | }, | 129 | }, |
133 | 130 | ||
134 | //------------------------------------------------------------------------- | 131 | //------------------------------------------------------------------------- |
135 | 132 | ||
136 | 'show': function () { | 133 | 'show': function () { |
137 | var elementSizeAndPosition; | 134 | var elementSizeAndPosition; |
138 | var arrowPosition; | 135 | var arrowPosition; |
139 | var bodyPosition; | 136 | var bodyPosition; |
140 | 137 | ||
141 | if (this.isVisible() == false) { | 138 | if (this.isVisible() == false) { |
142 | arrowPosition = {}; | 139 | arrowPosition = {}; |
143 | bodyPosition = {}; | 140 | bodyPosition = {}; |
144 | 141 | ||
145 | this.setIsVisible(true); | 142 | this.setIsVisible(true); |
146 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); | 143 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); |
147 | //console.log("ELEMENT SIZE AND POSITION", Clipperz.Base.serializeJSON(elementSizeAndPosition)); | 144 | //console.log("ELEMENT SIZE AND POSITION", Clipperz.Base.serializeJSON(elementSizeAndPosition)); |
148 | //console.log("BOX DIMENSIONS", Clipperz.Base.serializeJSON(this.boxDimensions())); | 145 | //console.log("BOX DIMENSIONS", Clipperz.Base.serializeJSON(this.boxDimensions())); |
149 | switch (this.position()) { | 146 | switch (this.position()) { |
150 | case 'ABOVE': | 147 | case 'ABOVE': |
151 | //console.log("ABOVE"); | 148 | //console.log("ABOVE"); |
152 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); | 149 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TranslatorWidget.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TranslatorWidget.js index c31969e..c41fc7c 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TranslatorWidget.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/TranslatorWidget.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Components.TranslatorWidget = function(args) { | 28 | Clipperz.PM.UI.Common.Components.TranslatorWidget = function(args) { |
32 | Clipperz.log(">>> TranslatorWidget.new"); | 29 | Clipperz.log(">>> TranslatorWidget.new"); |
33 | args = args || {}; | 30 | args = args || {}; |
34 | 31 | ||
35 | Clipperz.PM.UI.Common.Components.TranslatorWidget.superclass.constructor.apply(this, arguments); | 32 | Clipperz.PM.UI.Common.Components.TranslatorWidget.superclass.constructor.apply(this, arguments); |
36 | 33 | ||
37 | // this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | // this._element = args.element|| Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | // this._stringID = args.stringID || MochiKit.DOM.getNodeAttribute(this.element(), 'stringID')|| Clipperz.Base.exception.raise('MandatoryParameter'); | 35 | // this._stringID = args.stringID || MochiKit.DOM.getNodeAttribute(this.element(), 'stringID')|| Clipperz.Base.exception.raise('MandatoryParameter'); |
39 | 36 | ||
40 | //MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); | 37 | //MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); |
41 | //MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); | 38 | //MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); |
42 | 39 | ||
43 | Clipperz.log("<<< TranslatorWidget.new"); | 40 | Clipperz.log("<<< TranslatorWidget.new"); |
44 | return this; | 41 | return this; |
45 | } | 42 | } |
46 | 43 | ||
47 | //============================================================================= | 44 | //============================================================================= |
48 | 45 | ||
49 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.TranslatorWidget, Clipperz.PM.UI.Common.Components.BaseComponent, { | 46 | Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.TranslatorWidget, Clipperz.PM.UI.Common.Components.BaseComponent, { |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'toString': function () { | 50 | 'toString': function () { |
54 | return "Clipperz.PM.UI.Common.Components.TranslatorWidget component"; | 51 | return "Clipperz.PM.UI.Common.Components.TranslatorWidget component"; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //------------------------------------------------------------------------- | 54 | //------------------------------------------------------------------------- |
58 | /* | 55 | /* |
59 | 'renderSelf': function() { | 56 | 'renderSelf': function() { |
60 | this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ | 57 | this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ |
61 | {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[ | 58 | {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[ |
62 | {tag:'div', cls:'tooltip_text', children:[ | 59 | {tag:'div', cls:'tooltip_text', children:[ |
63 | {tag:'span', html:this.text()} | 60 | {tag:'span', html:this.text()} |
64 | ]}, | 61 | ]}, |
65 | {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'} | 62 | {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'} |
66 | ]}, | 63 | ]}, |
67 | {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'} | 64 | {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'} |
68 | ]}); | 65 | ]}); |
69 | 66 | ||
70 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); | 67 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); |
71 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; | 68 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; |
72 | 69 | ||
73 | MochiKit.Style.hideElement(this.displayElement()); | 70 | MochiKit.Style.hideElement(this.displayElement()); |
74 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); | 71 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); |
75 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); | 72 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); |
76 | }, | 73 | }, |
77 | */ | 74 | */ |
78 | //----------------------------------------------------- | 75 | //----------------------------------------------------- |
79 | /* | 76 | /* |
80 | 'displayElement': function() { | 77 | 'displayElement': function() { |
81 | return this.getElement('tooltip'); | 78 | return this.getElement('tooltip'); |
82 | }, | 79 | }, |
83 | */ | 80 | */ |
84 | //------------------------------------------------------------------------- | 81 | //------------------------------------------------------------------------- |
85 | /* | 82 | /* |
86 | 'boxDimensions': function () { | 83 | 'boxDimensions': function () { |
87 | return this._boxDimensions; | 84 | return this._boxDimensions; |
88 | }, | 85 | }, |
89 | */ | 86 | */ |
90 | //------------------------------------------------------------------------- | 87 | //------------------------------------------------------------------------- |
91 | 88 | ||
92 | 'show': function (anElement, aStringID) { | 89 | 'show': function (anElement, aStringID) { |
93 | Clipperz.log(">>> Clipperz.PM.UI.Common.Components.TranslatorWidget.show: " + aStringID); | 90 | Clipperz.log(">>> Clipperz.PM.UI.Common.Components.TranslatorWidget.show: " + aStringID); |
94 | /* | 91 | /* |
95 | var elementSizeAndPosition; | 92 | var elementSizeAndPosition; |
96 | var arrowPosition; | 93 | var arrowPosition; |
97 | var bodyPosition; | 94 | var bodyPosition; |
98 | 95 | ||
99 | arrowPosition = {}; | 96 | arrowPosition = {}; |
100 | bodyPosition = {}; | 97 | bodyPosition = {}; |
101 | 98 | ||
102 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); | 99 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); |
103 | switch (this.position()) { | 100 | switch (this.position()) { |
104 | case 'ABOVE': | 101 | case 'ABOVE': |
105 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); | 102 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); |
106 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); | 103 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); |
107 | bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13; | 104 | bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13; |
108 | 105 | ||
109 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); | 106 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); |
110 | arrowPosition.y = elementSizeAndPosition.position.y - 13; | 107 | arrowPosition.y = elementSizeAndPosition.position.y - 13; |
111 | break; | 108 | break; |
112 | case 'BELOW': | 109 | case 'BELOW': |
113 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); | 110 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); |
114 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); | 111 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); |
115 | bodyPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h + 13; | 112 | bodyPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h + 13; |
116 | 113 | ||
117 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); | 114 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); |
118 | arrowPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h; | 115 | arrowPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h; |
119 | break; | 116 | break; |
120 | case 'LEFT': | 117 | case 'LEFT': |
121 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); | 118 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); |
122 | bodyPosition.x = elementSizeAndPosition.position.x - this.boxDimensions().w - 13; | 119 | bodyPosition.x = elementSizeAndPosition.position.x - this.boxDimensions().w - 13; |
123 | bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2); | 120 | bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2); |
124 | 121 | ||
125 | arrowPosition.x = elementSizeAndPosition.position.x -13; | 122 | arrowPosition.x = elementSizeAndPosition.position.x -13; |
126 | arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2); | 123 | arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2); |
127 | break; | 124 | break; |
128 | case 'RIGHT': | 125 | case 'RIGHT': |
129 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); | 126 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); |
130 | break; | 127 | break; |
131 | } | 128 | } |
132 | 129 | ||
133 | // MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); | 130 | // MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); |
134 | MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); | 131 | MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); |
135 | MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition); | 132 | MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition); |
136 | MochiKit.Visual.appear(this.displayElement(), {duration:0.4}); | 133 | MochiKit.Visual.appear(this.displayElement(), {duration:0.4}); |
137 | */ | 134 | */ |
138 | }, | 135 | }, |
139 | 136 | ||
140 | //------------------------------------------------------------------------- | 137 | //------------------------------------------------------------------------- |
141 | 138 | ||
142 | 'hide': function () { | 139 | 'hide': function () { |
143 | Clipperz.log("<<< Clipperz.PM.UI.Common.Components.TranslatorWidget.hide"); | 140 | Clipperz.log("<<< Clipperz.PM.UI.Common.Components.TranslatorWidget.hide"); |
144 | // MochiKit.Visual.fade(this.displayElement(), {duration:0.4}); | 141 | // MochiKit.Visual.fade(this.displayElement(), {duration:0.4}); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | //------------------------------------------------------------------------- | 144 | //------------------------------------------------------------------------- |
148 | __syntaxFix__: "syntax fix" | 145 | __syntaxFix__: "syntax fix" |
149 | }); | 146 | }); |
150 | 147 | ||
151 | //############################################################################# | 148 | //############################################################################# |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/DirectLoginRunner.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/DirectLoginRunner.js index e534435..5fd10f9 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/DirectLoginRunner.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/DirectLoginRunner.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Controllers.DirectLoginRunner = function(args) { | 28 | Clipperz.PM.UI.Common.Controllers.DirectLoginRunner = function(args) { |
32 | this._directLogin = args['directLogin'] || Clipperz.Base.exception.raise('MandatoryParameter'); | 29 | this._directLogin = args['directLogin'] || Clipperz.Base.exception.raise('MandatoryParameter'); |
33 | this._target = Clipperz.PM.Crypto.randomKey(); | 30 | this._target = Clipperz.PM.Crypto.randomKey(); |
34 | 31 | ||
35 | return this; | 32 | return this; |
36 | } | 33 | } |
37 | 34 | ||
38 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.DirectLoginRunner.prototype, { | 35 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.DirectLoginRunner.prototype, { |
39 | 36 | ||
40 | 'toString': function() { | 37 | 'toString': function() { |
41 | return "Clipperz.PM.UI.Common.Controllers.DirectLoginRunner"; | 38 | return "Clipperz.PM.UI.Common.Controllers.DirectLoginRunner"; |
42 | }, | 39 | }, |
43 | 40 | ||
44 | //----------------------------------------------------------------------------- | 41 | //----------------------------------------------------------------------------- |
45 | 42 | ||
46 | 'directLogin': function () { | 43 | 'directLogin': function () { |
47 | return this._directLogin; | 44 | return this._directLogin; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //----------------------------------------------------------------------------- | 47 | //----------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'target': function () { | 49 | 'target': function () { |
53 | return this._target; | 50 | return this._target; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //============================================================================= | 53 | //============================================================================= |
57 | 54 | ||
58 | 'setWindowTitle': function (aWindow, aTitle) { | 55 | 'setWindowTitle': function (aWindow, aTitle) { |
59 | aWindow.document.title = aTitle; | 56 | aWindow.document.title = aTitle; |
60 | }, | 57 | }, |
61 | 58 | ||
62 | 'setWindowBody': function (aWindow, anHTML) { | 59 | 'setWindowBody': function (aWindow, anHTML) { |
63 | aWindow.document.body.innerHTML = anHTML; | 60 | aWindow.document.body.innerHTML = anHTML; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | //============================================================================= | 63 | //============================================================================= |
67 | 64 | ||
68 | 'initialWindowSetup': function (aWindow) { | 65 | 'initialWindowSetup': function (aWindow) { |
69 | this.setWindowTitle(aWindow, "Loading Clipperz Direct Login"); | 66 | this.setWindowTitle(aWindow, "Loading Clipperz Direct Login"); |
70 | this.setWindowBody (aWindow, MochiKit.DOM.toHTML(MochiKit.DOM.H3("Loading Clipperz Direct Login ..."))); | 67 | this.setWindowBody (aWindow, MochiKit.DOM.toHTML(MochiKit.DOM.H3("Loading Clipperz Direct Login ..."))); |
71 | }, | 68 | }, |
72 | 69 | ||
73 | //----------------------------------------------------------------------------- | 70 | //----------------------------------------------------------------------------- |
74 | 71 | ||
75 | 'updateWindowWithDirectLoginLabel': function (aWindow, aLabel) { | 72 | 'updateWindowWithDirectLoginLabel': function (aWindow, aLabel) { |
76 | var titleText; | 73 | var titleText; |
77 | var bodyText; | 74 | var bodyText; |
78 | 75 | ||
79 | titleText = "Loading '__label__' Direct Login".replace(/__label__/, aLabel) | 76 | titleText = "Loading '__label__' Direct Login".replace(/__label__/, aLabel) |
80 | bodyText = "Loading '__label__' Direct Login... ".replace(/__label__/, aLabel) | 77 | bodyText = "Loading '__label__' Direct Login... ".replace(/__label__/, aLabel) |
81 | 78 | ||
82 | this.setWindowTitle(aWindow, titleText); | 79 | this.setWindowTitle(aWindow, titleText); |
83 | this.setWindowBody (aWindow, MochiKit.DOM.toHTML(MochiKit.DOM.H3(bodyText))); | 80 | this.setWindowBody (aWindow, MochiKit.DOM.toHTML(MochiKit.DOM.H3(bodyText))); |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //----------------------------------------------------------------------------- | 83 | //----------------------------------------------------------------------------- |
87 | 84 | ||
88 | 'updateWindowWithHTMLContent': function (aWindow, anHtml) { | 85 | 'updateWindowWithHTMLContent': function (aWindow, anHtml) { |
89 | this.setWindowBody(aWindow, anHtml); | 86 | this.setWindowBody(aWindow, anHtml); |
90 | }, | 87 | }, |
91 | 88 | ||
92 | //============================================================================= | 89 | //============================================================================= |
93 | 90 | ||
94 | 'submitLoginForm': function(aWindow, aSubmitFunction) { | 91 | 'submitLoginForm': function(aWindow, aSubmitFunction) { |
95 | MochiKit.DOM.withWindow(aWindow, MochiKit.Base.bind(function () { | 92 | MochiKit.DOM.withWindow(aWindow, MochiKit.Base.bind(function () { |
96 | var formElement; | 93 | var formElement; |
97 | var submitButtons; | 94 | var submitButtons; |
98 | 95 | ||
99 | formElement = MochiKit.DOM.getElement('directLoginForm'); | 96 | formElement = MochiKit.DOM.getElement('directLoginForm'); |
100 | 97 | ||
101 | submitButtons = MochiKit.Base.filter(function(anInputElement) { | 98 | submitButtons = MochiKit.Base.filter(function(anInputElement) { |
102 | return ((anInputElement.tagName.toLowerCase() == 'input') && (anInputElement.getAttribute('type').toLowerCase() == 'submit')); | 99 | return ((anInputElement.tagName.toLowerCase() == 'input') && (anInputElement.getAttribute('type').toLowerCase() == 'submit')); |
103 | }, formElement.elements); | 100 | }, formElement.elements); |
104 | 101 | ||
105 | if (submitButtons.length == 0) { | 102 | if (submitButtons.length == 0) { |
106 | if (typeof(formElement.submit) == 'function') { | 103 | if (typeof(formElement.submit) == 'function') { |
107 | formElement.submit(); | 104 | formElement.submit(); |
108 | } else { | 105 | } else { |
109 | aSubmitFunction.apply(formElement); | 106 | aSubmitFunction.apply(formElement); |
110 | } | 107 | } |
111 | /* | 108 | /* |
112 | varformSubmitFunction; | 109 | varformSubmitFunction; |
113 | 110 | ||
114 | formSubmitFunction = MochiKit.Base.method(formElement, 'submit'); | 111 | formSubmitFunction = MochiKit.Base.method(formElement, 'submit'); |
115 | if (Clipperz_IEisBroken == true) { | 112 | if (Clipperz_IEisBroken == true) { |
116 | formElement.submit(); | 113 | formElement.submit(); |
117 | } else { | 114 | } else { |
118 | formSubmitFunction(); | 115 | formSubmitFunction(); |
119 | } | 116 | } |
120 | */ | 117 | */ |
121 | } else { | 118 | } else { |
122 | submitButtons[0].click(); | 119 | submitButtons[0].click(); |
123 | } | 120 | } |
124 | }, this)); | 121 | }, this)); |
125 | }, | 122 | }, |
126 | 123 | ||
127 | //------------------------------------------------------------------------- | 124 | //------------------------------------------------------------------------- |
128 | 125 | ||
129 | 'runSubmitFormDirectLogin': function (aWindow, someAttributes) { | 126 | 'runSubmitFormDirectLogin': function (aWindow, someAttributes) { |
130 | var html; | 127 | var html; |
131 | var formElement; | 128 | var formElement; |
132 | var submitFunction; | 129 | var submitFunction; |
133 | 130 | ||
134 | formElement = MochiKit.DOM.FORM({ | 131 | formElement = MochiKit.DOM.FORM({ |
135 | 'id':'directLoginForm', | 132 | 'id':'directLoginForm', |
136 | 'method':someAttributes['formAttributes']['method'], | 133 | 'method':someAttributes['formAttributes']['method'], |
137 | 'action':someAttributes['formAttributes']['action'] | 134 | 'action':someAttributes['formAttributes']['action'] |
138 | }); | 135 | }); |
139 | 136 | ||
140 | submitFunction = formElement.submit; | 137 | submitFunction = formElement.submit; |
141 | 138 | ||
142 | MochiKit.DOM.appendChildNodes(formElement, MochiKit.Base.map(function (anInputAttributes) { | 139 | MochiKit.DOM.appendChildNodes(formElement, MochiKit.Base.map(function (anInputAttributes) { |
143 | return MochiKit.DOM.INPUT({'type':'hidden', 'name':anInputAttributes[0], 'value':anInputAttributes[1]}); | 140 | return MochiKit.DOM.INPUT({'type':'hidden', 'name':anInputAttributes[0], 'value':anInputAttributes[1]}); |
144 | }, MochiKit.Base.items(someAttributes['inputValues']))); | 141 | }, MochiKit.Base.items(someAttributes['inputValues']))); |
145 | 142 | ||
146 | html =''; | 143 | html =''; |
147 | html += '<h3>Loading ' + someAttributes['label'] + ' ...</h3>'; | 144 | html += '<h3>Loading ' + someAttributes['label'] + ' ...</h3>'; |
148 | html +=MochiKit.DOM.appendChildNodes(MochiKit.DOM.DIV(), MochiKit.DOM.appendChildNodes(MochiKit.DOM.DIV({style:'display:none; visibility:hidden;'}), formElement)).innerHTML; | 145 | html +=MochiKit.DOM.appendChildNodes(MochiKit.DOM.DIV(), MochiKit.DOM.appendChildNodes(MochiKit.DOM.DIV({style:'display:none; visibility:hidden;'}), formElement)).innerHTML; |
149 | 146 | ||
150 | this.updateWindowWithHTMLContent(aWindow, html); | 147 | this.updateWindowWithHTMLContent(aWindow, html); |
151 | this.submitLoginForm(aWindow, submitFunction); | 148 | this.submitLoginForm(aWindow, submitFunction); |
152 | }, | 149 | }, |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/ProgressBarController.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/ProgressBarController.js index a4fa400..41fe17f 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/ProgressBarController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/ProgressBarController.js | |||
@@ -1,143 +1,140 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Controllers.ProgressBarController = function(args) { | 28 | Clipperz.PM.UI.Common.Controllers.ProgressBarController = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | this._numberOfSteps= 0; | 31 | this._numberOfSteps= 0; |
35 | this._currentStep= 0; | 32 | this._currentStep= 0; |
36 | 33 | ||
37 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'initProgress', this, 'initProgressHandle'); | 34 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'initProgress', this, 'initProgressHandle'); |
38 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'updateProgress',this, 'updateProgressHandle'); | 35 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'updateProgress',this, 'updateProgressHandle'); |
39 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'advanceProgress',this, 'advanceProgressHandle'); | 36 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'advanceProgress',this, 'advanceProgressHandle'); |
40 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'progressDone', this, 'progressDoneHandle'); | 37 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'progressDone', this, 'progressDoneHandle'); |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.ProgressBarController.prototype, { | 42 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.ProgressBarController.prototype, { |
46 | 43 | ||
47 | 'toString': function() { | 44 | 'toString': function() { |
48 | return "Clipperz.PM.UI.Common.Controllers.ProgressBarController"; | 45 | return "Clipperz.PM.UI.Common.Controllers.ProgressBarController"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //----------------------------------------------------------------------------- | 48 | //----------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'numberOfSteps': function() { | 50 | 'numberOfSteps': function() { |
54 | return this._numberOfSteps; | 51 | return this._numberOfSteps; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | 'setNumberOfSteps': function (aValue) { | 54 | 'setNumberOfSteps': function (aValue) { |
58 | this._numberOfSteps = aValue; | 55 | this._numberOfSteps = aValue; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | 'updateNumberOfSteps': function (aValue) { | 58 | 'updateNumberOfSteps': function (aValue) { |
62 | this._numberOfSteps += aValue; | 59 | this._numberOfSteps += aValue; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //----------------------------------------------------------------------------- | 62 | //----------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'currentStep': function() { | 64 | 'currentStep': function() { |
68 | return this._currentStep; | 65 | return this._currentStep; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | 'advanceCurrentStep': function () { | 68 | 'advanceCurrentStep': function () { |
72 | this._currentStep ++; | 69 | this._currentStep ++; |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //----------------------------------------------------------------------------- | 72 | //----------------------------------------------------------------------------- |
76 | 73 | ||
77 | 'completedPercentage': function () { | 74 | 'completedPercentage': function () { |
78 | var result; | 75 | var result; |
79 | //Clipperz.log(">>> completedPercentage" + this.currentStep() + "/" + this.numberOfSteps(), this.currentStep() / this.numberOfSteps()); | 76 | //Clipperz.log(">>> completedPercentage" + this.currentStep() + "/" + this.numberOfSteps(), this.currentStep() / this.numberOfSteps()); |
80 | if (this.numberOfSteps() == 0) { | 77 | if (this.numberOfSteps() == 0) { |
81 | result = 0; | 78 | result = 0; |
82 | } else { | 79 | } else { |
83 | result = (Math.min(100, 100 * (this.currentStep() / this.numberOfSteps()))); | 80 | result = (Math.min(100, 100 * (this.currentStep() / this.numberOfSteps()))); |
84 | } | 81 | } |
85 | //Clipperz.log("<<< completedPercentage", result); | 82 | //Clipperz.log("<<< completedPercentage", result); |
86 | return result; | 83 | return result; |
87 | }, | 84 | }, |
88 | 85 | ||
89 | //----------------------------------------------------------------------------- | 86 | //----------------------------------------------------------------------------- |
90 | 87 | ||
91 | 'resetStatus': function () { | 88 | 'resetStatus': function () { |
92 | this._numberOfSteps= 0; | 89 | this._numberOfSteps= 0; |
93 | this._currentStep= 0; | 90 | this._currentStep= 0; |
94 | }, | 91 | }, |
95 | 92 | ||
96 | //----------------------------------------------------------------------------- | 93 | //----------------------------------------------------------------------------- |
97 | 94 | ||
98 | 'updateProgress': function () { | 95 | 'updateProgress': function () { |
99 | //Clipperz.log(">>> updateProgress: " + this.completedPercentage() + "%"); | 96 | //Clipperz.log(">>> updateProgress: " + this.completedPercentage() + "%"); |
100 | MochiKit.Signal.signal(this, 'updateProgress', this.completedPercentage()); | 97 | MochiKit.Signal.signal(this, 'updateProgress', this.completedPercentage()); |
101 | }, | 98 | }, |
102 | 99 | ||
103 | //============================================================================= | 100 | //============================================================================= |
104 | 101 | ||
105 | 'initProgressHandle': function (anEvent) { | 102 | 'initProgressHandle': function (anEvent) { |
106 | //Clipperz.log(">>> initProgressHandle - steps: " + (anEvent != null ? anEvent['steps'] : 0)); | 103 | //Clipperz.log(">>> initProgressHandle - steps: " + (anEvent != null ? anEvent['steps'] : 0)); |
107 | this.resetStatus(); | 104 | this.resetStatus(); |
108 | if (anEvent != null) { | 105 | if (anEvent != null) { |
109 | this.setNumberOfSteps(anEvent['steps']); | 106 | this.setNumberOfSteps(anEvent['steps']); |
110 | } | 107 | } |
111 | MochiKit.Signal.signal(this, 'initProgress'); | 108 | MochiKit.Signal.signal(this, 'initProgress'); |
112 | this.updateProgress(); | 109 | this.updateProgress(); |
113 | }, | 110 | }, |
114 | 111 | ||
115 | //............................................................................. | 112 | //............................................................................. |
116 | 113 | ||
117 | 'updateProgressHandle': function (anEvent) { | 114 | 'updateProgressHandle': function (anEvent) { |
118 | this.updateNumberOfSteps(anEvent['extraSteps']); | 115 | this.updateNumberOfSteps(anEvent['extraSteps']); |
119 | //Clipperz.log("=== updateProgressHandle - steps: " + this.numberOfSteps() + " (extra " + anEvent['extraSteps'] + ")"); | 116 | //Clipperz.log("=== updateProgressHandle - steps: " + this.numberOfSteps() + " (extra " + anEvent['extraSteps'] + ")"); |
120 | this.updateProgress(); | 117 | this.updateProgress(); |
121 | }, | 118 | }, |
122 | 119 | ||
123 | //............................................................................. | 120 | //............................................................................. |
124 | 121 | ||
125 | 'advanceProgressHandle': function (anEvent) { | 122 | 'advanceProgressHandle': function (anEvent) { |
126 | this.advanceCurrentStep(); | 123 | this.advanceCurrentStep(); |
127 | //Clipperz.log("--- advanceProgressHandle: " + this.currentStep() + "/" + this.numberOfSteps()); | 124 | //Clipperz.log("--- advanceProgressHandle: " + this.currentStep() + "/" + this.numberOfSteps()); |
128 | this.updateProgress(); | 125 | this.updateProgress(); |
129 | }, | 126 | }, |
130 | 127 | ||
131 | //............................................................................. | 128 | //............................................................................. |
132 | 129 | ||
133 | 'progressDoneHandle': function (anEvent) { | 130 | 'progressDoneHandle': function (anEvent) { |
134 | //Clipperz.log("<<< progressDoneHandle: " + this.currentStep() + "/" + this.numberOfSteps()); | 131 | //Clipperz.log("<<< progressDoneHandle: " + this.currentStep() + "/" + this.numberOfSteps()); |
135 | this.resetStatus(); | 132 | this.resetStatus(); |
136 | MochiKit.Signal.signal(this, 'progressDone'); | 133 | MochiKit.Signal.signal(this, 'progressDone'); |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //============================================================================= | 136 | //============================================================================= |
140 | __syntaxFix__: "syntax fix" | 137 | __syntaxFix__: "syntax fix" |
141 | }); | 138 | }); |
142 | 139 | ||
143 | Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController = new Clipperz.PM.UI.Common.Controllers.ProgressBarController(); | 140 | Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController = new Clipperz.PM.UI.Common.Controllers.ProgressBarController(); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/TabPanelController.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/TabPanelController.js index fbc5929..341fde9 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/TabPanelController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/TabPanelController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Common.Controllers.TabPanelController = function(args) { | 28 | Clipperz.PM.UI.Common.Controllers.TabPanelController = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | this._component = args.component; | 31 | this._component = args.component; |
35 | this._configuration = args.configuration; | 32 | this._configuration = args.configuration; |
36 | this._isEnabled = args.enabled || true; | 33 | this._isEnabled = args.enabled || true; |
37 | 34 | ||
38 | this._selectedTab = null; | 35 | this._selectedTab = null; |
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.TabPanelController.prototype, { | 39 | MochiKit.Base.update(Clipperz.PM.UI.Common.Controllers.TabPanelController.prototype, { |
43 | 40 | ||
44 | 'toString': function() { | 41 | 'toString': function() { |
45 | return "Clipperz.PM.UI.Common.Controllers.TabPanelController"; | 42 | return "Clipperz.PM.UI.Common.Controllers.TabPanelController"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //----------------------------------------------------------------------------- | 45 | //----------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'component': function() { | 47 | 'component': function() { |
51 | return this._component; | 48 | return this._component; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | 'configuration': function() { | 51 | 'configuration': function() { |
55 | return this._configuration; | 52 | return this._configuration; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | //----------------------------------------------------------------------------- | 55 | //----------------------------------------------------------------------------- |
59 | 56 | ||
60 | 'getElement': function(anElementID) { | 57 | 'getElement': function(anElementID) { |
61 | return this.component().getElement(anElementID); | 58 | return this.component().getElement(anElementID); |
62 | }, | 59 | }, |
63 | 60 | ||
64 | 'tabForTabElement': function(anElement) { | 61 | 'tabForTabElement': function(anElement) { |
65 | varresult; | 62 | varresult; |
66 | 63 | ||
67 | for (result in this.configuration()) { | 64 | for (result in this.configuration()) { |
68 | if (this.getElement(this.configuration()[result]['tab']) == anElement) { | 65 | if (this.getElement(this.configuration()[result]['tab']) == anElement) { |
69 | break; | 66 | break; |
70 | } | 67 | } |
71 | } | 68 | } |
72 | 69 | ||
73 | return result; | 70 | return result; |
74 | }, | 71 | }, |
75 | 72 | ||
76 | //----------------------------------------------------------------------------- | 73 | //----------------------------------------------------------------------------- |
77 | 74 | ||
78 | 'setupTab': function(aConfiguration) { | 75 | 'setupTab': function(aConfiguration) { |
79 | vartabElement; | 76 | vartabElement; |
80 | 77 | ||
81 | tabElement = this.getElement(aConfiguration['tab']); | 78 | tabElement = this.getElement(aConfiguration['tab']); |
82 | 79 | ||
83 | MochiKit.DOM.removeElementClass(tabElement, 'selected'); | 80 | MochiKit.DOM.removeElementClass(tabElement, 'selected'); |
84 | MochiKit.Signal.connect(tabElement, 'onclick', this, 'handleTabClick') | 81 | MochiKit.Signal.connect(tabElement, 'onclick', this, 'handleTabClick') |
85 | }, | 82 | }, |
86 | 83 | ||
87 | 'setupPanel': function(aConfiguration) { | 84 | 'setupPanel': function(aConfiguration) { |
88 | this.hidePanel(aConfiguration['panel']); | 85 | this.hidePanel(aConfiguration['panel']); |
89 | }, | 86 | }, |
90 | 87 | ||
91 | 'setup': function(args) { | 88 | 'setup': function(args) { |
92 | args = args || {}; | 89 | args = args || {}; |
93 | 90 | ||
94 | MochiKit.Base.map(MochiKit.Base.method(this, 'setupTab'),MochiKit.Base.values(this.configuration())); | 91 | MochiKit.Base.map(MochiKit.Base.method(this, 'setupTab'),MochiKit.Base.values(this.configuration())); |
95 | MochiKit.Base.map(MochiKit.Base.method(this, 'setupPanel'),MochiKit.Base.values(this.configuration())); | 92 | MochiKit.Base.map(MochiKit.Base.method(this, 'setupPanel'),MochiKit.Base.values(this.configuration())); |
96 | this.selectTab(args.selected); | 93 | this.selectTab(args.selected); |
97 | }, | 94 | }, |
98 | 95 | ||
99 | //----------------------------------------------------------------------------- | 96 | //----------------------------------------------------------------------------- |
100 | 97 | ||
101 | 'hidePanel': function(aPanel) { | 98 | 'hidePanel': function(aPanel) { |
102 | MochiKit.DOM.removeElementClass(this.getElement(aPanel), 'selected'); | 99 | MochiKit.DOM.removeElementClass(this.getElement(aPanel), 'selected'); |
103 | }, | 100 | }, |
104 | 101 | ||
105 | 'selectTab': function(aTab) { | 102 | 'selectTab': function(aTab) { |
106 | if ((aTab != this.selectedTab()) && (this.isEnabled())) { | 103 | if ((aTab != this.selectedTab()) && (this.isEnabled())) { |
107 | if (this.selectedTab() != null) { | 104 | if (this.selectedTab() != null) { |
108 | MochiKit.DOM.removeElementClass(this.getElement(this.configuration()[this.selectedTab()]['tab']),'selected'); | 105 | MochiKit.DOM.removeElementClass(this.getElement(this.configuration()[this.selectedTab()]['tab']),'selected'); |
109 | MochiKit.DOM.removeElementClass(this.getElement(this.configuration()[this.selectedTab()]['panel']),'selected'); | 106 | MochiKit.DOM.removeElementClass(this.getElement(this.configuration()[this.selectedTab()]['panel']),'selected'); |
110 | } | 107 | } |
111 | 108 | ||
112 | if (aTab != null) { | 109 | if (aTab != null) { |
113 | MochiKit.DOM.addElementClass(this.getElement(this.configuration()[aTab]['tab']),'selected'); | 110 | MochiKit.DOM.addElementClass(this.getElement(this.configuration()[aTab]['tab']),'selected'); |
114 | MochiKit.DOM.addElementClass(this.getElement(this.configuration()[aTab]['panel']),'selected'); | 111 | MochiKit.DOM.addElementClass(this.getElement(this.configuration()[aTab]['panel']),'selected'); |
115 | } | 112 | } |
116 | 113 | ||
117 | this.setSelectedTab(aTab); | 114 | this.setSelectedTab(aTab); |
118 | MochiKit.Signal.signal(this, 'tabSelected', aTab); | 115 | MochiKit.Signal.signal(this, 'tabSelected', aTab); |
119 | } | 116 | } |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //----------------------------------------------------------------------------- | 119 | //----------------------------------------------------------------------------- |
123 | 120 | ||
124 | 'selectedTab': function() { | 121 | 'selectedTab': function() { |
125 | return this._selectedTab; | 122 | return this._selectedTab; |
126 | }, | 123 | }, |
127 | 124 | ||
128 | 'setSelectedTab': function(aTab) { | 125 | 'setSelectedTab': function(aTab) { |
129 | this._selectedTab = aTab; | 126 | this._selectedTab = aTab; |
130 | }, | 127 | }, |
131 | 128 | ||
132 | //----------------------------------------------------------------------------- | 129 | //----------------------------------------------------------------------------- |
133 | 130 | ||
134 | 'selectedTabElement': function() { | 131 | 'selectedTabElement': function() { |
135 | var result; | 132 | var result; |
136 | 133 | ||
137 | if (this.selectedTab() != null) { | 134 | if (this.selectedTab() != null) { |
138 | result = this.getElement(this.configuration()[this.selectedTab()]['tab']); | 135 | result = this.getElement(this.configuration()[this.selectedTab()]['tab']); |
139 | } else { | 136 | } else { |
140 | result = null; | 137 | result = null; |
141 | } | 138 | } |
142 | 139 | ||
143 | return null; | 140 | return null; |
144 | }, | 141 | }, |
145 | 142 | ||
146 | 'selectedTabPanelElement': function() { | 143 | 'selectedTabPanelElement': function() { |
147 | var result; | 144 | var result; |
148 | 145 | ||
149 | if (this.selectedTab() != null) { | 146 | if (this.selectedTab() != null) { |
150 | result = this.getElement(this.configuration()[this.selectedTab()]['panel']); | 147 | result = this.getElement(this.configuration()[this.selectedTab()]['panel']); |
151 | } else { | 148 | } else { |
152 | result = null; | 149 | result = null; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/WizardController.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/WizardController.js index 868cea6..ef38bc6 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/WizardController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Controllers/WizardController.js | |||
@@ -1,31 +1,28 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | //Still empty, but here it should be reasonable to factor in code duplicated between | 26 | //Still empty, but here it should be reasonable to factor in code duplicated between |
30 | //- DirectLoginWizardController | 27 | //- DirectLoginWizardController |
31 | //- NewUserWizardController \ No newline at end of file | 28 | //- NewUserWizardController \ No newline at end of file |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Compact/MainController.js b/frontend/gamma/js/Clipperz/PM/UI/Compact/MainController.js index 22258f6..ea987cd 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Compact/MainController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Compact/MainController.js | |||
@@ -1,59 +1,56 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Compact'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Compact'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Compact.MainController = function() { | 28 | Clipperz.PM.UI.Compact.MainController = function() { |
32 | //this._loginPanel = null; | 29 | //this._loginPanel = null; |
33 | //this._user = null; | 30 | //this._user = null; |
34 | // | 31 | // |
35 | //this._isRunningCompact = false; | 32 | //this._isRunningCompact = false; |
36 | // | 33 | // |
37 | //Clipperz.NotificationCenter.register(null, 'userConnected', this, 'userConnectedCallback'); | 34 | //Clipperz.NotificationCenter.register(null, 'userConnected', this, 'userConnectedCallback'); |
38 | //Clipperz.NotificationCenter.register(null, 'switchLanguage', this, 'switchLanguageHandler'); | 35 | //Clipperz.NotificationCenter.register(null, 'switchLanguage', this, 'switchLanguageHandler'); |
39 | // | 36 | // |
40 | //Clipperz.NotificationCenter.register(null, 'EXCEPTION', this, 'reportException'); | 37 | //Clipperz.NotificationCenter.register(null, 'EXCEPTION', this, 'reportException'); |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | MochiKit.Base.update(Clipperz.PM.UI.Compact.MainController.prototype, { | 42 | MochiKit.Base.update(Clipperz.PM.UI.Compact.MainController.prototype, { |
46 | 43 | ||
47 | 'toString': function() { | 44 | 'toString': function() { |
48 | return "Clipperz.PM.UI.Compact.MainController"; | 45 | return "Clipperz.PM.UI.Compact.MainController"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //----------------------------------------------------------------------------- | 48 | //----------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'run': function(shouldShowRegistrationForm) { | 50 | 'run': function(shouldShowRegistrationForm) { |
54 | MochiKit.Logging.logDebug("running " + this.toString()); | 51 | MochiKit.Logging.logDebug("running " + this.toString()); |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //----------------------------------------------------------------------------- | 54 | //----------------------------------------------------------------------------- |
58 | __syntaxFix__: "syntax fix" | 55 | __syntaxFix__: "syntax fix" |
59 | }); \ No newline at end of file | 56 | }); \ No newline at end of file |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AccountPanel.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AccountPanel.js index 4378b19..ee6d7a3 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AccountPanel.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AccountPanel.js | |||
@@ -1,148 +1,145 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.AccountPanel = function(args) { | 28 | Clipperz.PM.UI.Web.Components.AccountPanel = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.AccountPanel.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.AccountPanel.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | //this._initiallySelectedTab = args.selected || 'ACCOUNT'; | 33 | //this._initiallySelectedTab = args.selected || 'ACCOUNT'; |
37 | this._initiallySelectedTab = args.selected || 'PASSPHRASE'; | 34 | this._initiallySelectedTab = args.selected || 'PASSPHRASE'; |
38 | this._tabPanelControllerConfiguration = { | 35 | this._tabPanelControllerConfiguration = { |
39 | // 'ACCOUNT': { | 36 | // 'ACCOUNT': { |
40 | // tab:'accountTab', | 37 | // tab:'accountTab', |
41 | // panel:'accountPanel' | 38 | // panel:'accountPanel' |
42 | // }, | 39 | // }, |
43 | 'PASSPHRASE': { | 40 | 'PASSPHRASE': { |
44 | tab:'passphraseTab', | 41 | tab:'passphraseTab', |
45 | panel:'passphrasePanel' | 42 | panel:'passphrasePanel' |
46 | }, | 43 | }, |
47 | 'PREFERENCES': { | 44 | 'PREFERENCES': { |
48 | tab:'preferencesTab', | 45 | tab:'preferencesTab', |
49 | panel:'preferencesPanel' | 46 | panel:'preferencesPanel' |
50 | }, | 47 | }, |
51 | 'LOGIN_HISTORY': { | 48 | 'LOGIN_HISTORY': { |
52 | tab:'loginHistoryTab', | 49 | tab:'loginHistoryTab', |
53 | panel:'loginHistoryPanel' | 50 | panel:'loginHistoryPanel' |
54 | } | 51 | } |
55 | }; | 52 | }; |
56 | 53 | ||
57 | return this; | 54 | return this; |
58 | } | 55 | } |
59 | 56 | ||
60 | //============================================================================= | 57 | //============================================================================= |
61 | 58 | ||
62 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.AccountPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { | 59 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.AccountPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { |
63 | 60 | ||
64 | //------------------------------------------------------------------------- | 61 | //------------------------------------------------------------------------- |
65 | 62 | ||
66 | 'toString': function () { | 63 | 'toString': function () { |
67 | return "Clipperz.PM.UI.Web.Components.AccountPanel component"; | 64 | return "Clipperz.PM.UI.Web.Components.AccountPanel component"; |
68 | }, | 65 | }, |
69 | 66 | ||
70 | //------------------------------------------------------------------------- | 67 | //------------------------------------------------------------------------- |
71 | 68 | ||
72 | 'renderSelf': function(/*aContainer, aPosition*/) { | 69 | 'renderSelf': function(/*aContainer, aPosition*/) { |
73 | //Clipperz.log("AccountPanel.renderSelf element", this.element()); | 70 | //Clipperz.log("AccountPanel.renderSelf element", this.element()); |
74 | this.append(this.element(), [ | 71 | this.append(this.element(), [ |
75 | {tag:'div', cls:'header', children:[ | 72 | {tag:'div', cls:'header', children:[ |
76 | {tag:'div', cls:'subPanelTabs', children:[ | 73 | {tag:'div', cls:'subPanelTabs', children:[ |
77 | {tag:'ul', children:[ | 74 | {tag:'ul', children:[ |
78 | // {tag:'li', id:this.getId('accountTab'), children:[{tag:'a', href:'#', html:'Account'}], cls:'first'}, | 75 | // {tag:'li', id:this.getId('accountTab'), children:[{tag:'a', href:'#', html:'Account'}], cls:'first'}, |
79 | {tag:'li', id:this.getId('passphraseTab'), children:[{tag:'a', href:'#', html:'Passphrase'}], cls:'first'}, | 76 | {tag:'li', id:this.getId('passphraseTab'), children:[{tag:'a', href:'#', html:'Passphrase'}], cls:'first'}, |
80 | {tag:'li', id:this.getId('preferencesTab'), children:[{tag:'a', href:'#', html:'Preferences'}]}, | 77 | {tag:'li', id:this.getId('preferencesTab'), children:[{tag:'a', href:'#', html:'Preferences'}]}, |
81 | {tag:'li', id:this.getId('loginHistoryTab'),children:[{tag:'a', href:'#', html:'Login history'}]} | 78 | {tag:'li', id:this.getId('loginHistoryTab'),children:[{tag:'a', href:'#', html:'Login history'}]} |
82 | ]} | 79 | ]} |
83 | ]} | 80 | ]} |
84 | ]}, | 81 | ]}, |
85 | {tag:'div', cls:'body', children:[ | 82 | {tag:'div', cls:'body', children:[ |
86 | {tag:'div', cls:'accountPanel', children:[ | 83 | {tag:'div', cls:'accountPanel', children:[ |
87 | {tag:'div', cls:'subPanelContent', children:[ | 84 | {tag:'div', cls:'subPanelContent', children:[ |
88 | {tag:'ul', children:[ | 85 | {tag:'ul', children:[ |
89 | // {tag:'li', id:this.getId('accountPanel'),children:[ | 86 | // {tag:'li', id:this.getId('accountPanel'),children:[ |
90 | // {tag:'h3', html:"-- Account --"} | 87 | // {tag:'h3', html:"-- Account --"} |
91 | // ]}, | 88 | // ]}, |
92 | {tag:'li', id:this.getId('passphrasePanel'),children:[ | 89 | {tag:'li', id:this.getId('passphrasePanel'),children:[ |
93 | {tag:'h3', cls:'changePassphrase', html:"Change passphrase"}, | 90 | {tag:'h3', cls:'changePassphrase', html:"Change passphrase"}, |
94 | {tag:'form', id:this.getId('changePassphrase'), cls:'changePassphrase', children:[ | 91 | {tag:'form', id:this.getId('changePassphrase'), cls:'changePassphrase', children:[ |
95 | {tag:'div', cls:'currentCredentials', children:[ | 92 | {tag:'div', cls:'currentCredentials', children:[ |
96 | {tag:'div', cls:'field username', children:[ | 93 | {tag:'div', cls:'field username', children:[ |
97 | {tag:'label', html:"username", 'for':this.getId('currentUsername')}, | 94 | {tag:'label', html:"username", 'for':this.getId('currentUsername')}, |
98 | {tag:'input', id:this.getId('currentUsername')} | 95 | {tag:'input', id:this.getId('currentUsername')} |
99 | ]}, | 96 | ]}, |
100 | {tag:'div', cls:'field passphrase', children:[ | 97 | {tag:'div', cls:'field passphrase', children:[ |
101 | {tag:'label', html:"passphrase", 'for':this.getId('currentPassphrase')}, | 98 | {tag:'label', html:"passphrase", 'for':this.getId('currentPassphrase')}, |
102 | {tag:'input', id:this.getId('currentPassphrase')} | 99 | {tag:'input', id:this.getId('currentPassphrase')} |
103 | ]} | 100 | ]} |
104 | ]}, | 101 | ]}, |
105 | {tag:'div', cls:'newPassphrase', children:[ | 102 | {tag:'div', cls:'newPassphrase', children:[ |
106 | {tag:'div', cls:'field', children:[ | 103 | {tag:'div', cls:'field', children:[ |
107 | {tag:'label', html:"new passphrase", 'for':this.getId('newPassphrase')}, | 104 | {tag:'label', html:"new passphrase", 'for':this.getId('newPassphrase')}, |
108 | {tag:'input', id:this.getId('newPassphrase')} | 105 | {tag:'input', id:this.getId('newPassphrase')} |
109 | ]}, | 106 | ]}, |
110 | {tag:'div', cls:'field', children:[ | 107 | {tag:'div', cls:'field', children:[ |
111 | {tag:'label', html:"re-new passphrase", 'for':this.getId('reNewPassphrase')}, | 108 | {tag:'label', html:"re-new passphrase", 'for':this.getId('reNewPassphrase')}, |
112 | {tag:'input', id:this.getId('reNewPassphrase')} | 109 | {tag:'input', id:this.getId('reNewPassphrase')} |
113 | ]} | 110 | ]} |
114 | ]}, | 111 | ]}, |
115 | {tag:'div', cls:'confirm', children:[ | 112 | {tag:'div', cls:'confirm', children:[ |
116 | {tag:'input', type:'checkbox', id:this.getId('confirm')}, | 113 | {tag:'input', type:'checkbox', id:this.getId('confirm')}, |
117 | {tag:'label', html:"I understand that Clipperz will not be able to recover a lost passphrase", 'for':this.getId('confirm')} | 114 | {tag:'label', html:"I understand that Clipperz will not be able to recover a lost passphrase", 'for':this.getId('confirm')} |
118 | ]} | 115 | ]} |
119 | ]}, | 116 | ]}, |
120 | {tag:'div', cls:'clear'}, | 117 | {tag:'div', cls:'clear'}, |
121 | {tag:'div', cls:'confirmButton', id:this.getId('confirmationButton'), children:[ | 118 | {tag:'div', cls:'confirmButton', id:this.getId('confirmationButton'), children:[ |
122 | {tag:'span', html:"change passphrase"} | 119 | {tag:'span', html:"change passphrase"} |
123 | ]}, | 120 | ]}, |
124 | 121 | ||
125 | {tag:'h3', cls:'manageOTP', html:"Manage One-Time Passphrases"}, | 122 | {tag:'h3', cls:'manageOTP', html:"Manage One-Time Passphrases"}, |
126 | {} | 123 | {} |
127 | ]}, | 124 | ]}, |
128 | {tag:'li', id:this.getId('preferencesPanel'), children:[ | 125 | {tag:'li', id:this.getId('preferencesPanel'), children:[ |
129 | {tag:'h3', html:"-- Preferences --"} | 126 | {tag:'h3', html:"-- Preferences --"} |
130 | ]}, | 127 | ]}, |
131 | {tag:'li', id:this.getId('loginHistoryPanel'), children:[ | 128 | {tag:'li', id:this.getId('loginHistoryPanel'), children:[ |
132 | {tag:'h3', html:"-- Login History --"} | 129 | {tag:'h3', html:"-- Login History --"} |
133 | ]} | 130 | ]} |
134 | ]} | 131 | ]} |
135 | ]} | 132 | ]} |
136 | ]} | 133 | ]} |
137 | ]}, | 134 | ]}, |
138 | {tag:'div', cls:'footer'} | 135 | {tag:'div', cls:'footer'} |
139 | ]); | 136 | ]); |
140 | 137 | ||
141 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); | 138 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); |
142 | }, | 139 | }, |
143 | 140 | ||
144 | //------------------------------------------------------------------------- | 141 | //------------------------------------------------------------------------- |
145 | 142 | ||
146 | 143 | ||
147 | __syntaxFix__: "syntax fix" | 144 | __syntaxFix__: "syntax fix" |
148 | }); | 145 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AppPage.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AppPage.js index 67247df..3b3c8b4 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AppPage.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/AppPage.js | |||
@@ -1,78 +1,75 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.AppPage = function(args) { | 28 | Clipperz.PM.UI.Web.Components.AppPage = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | Clipperz.PM.UI.Web.Components.AppPage.superclass.constructor.call(this, args); | 30 | Clipperz.PM.UI.Web.Components.AppPage.superclass.constructor.call(this, args); |
34 | 31 | ||
35 | this._element = args.element || null; | 32 | this._element = args.element || null; |
36 | 33 | ||
37 | this._slots = { | 34 | this._slots = { |
38 | 'cardGrid' : this.getId('cardGrid'), | 35 | 'cardGrid' : this.getId('cardGrid'), |
39 | // 'directLoginGrid' : this.getId('directLoginGrid'), | 36 | // 'directLoginGrid' : this.getId('directLoginGrid'), |
40 | 'accountPanel': this.getId('accountPanel'), | 37 | 'accountPanel': this.getId('accountPanel'), |
41 | 'dataPanel': this.getId('dataPanel'), | 38 | 'dataPanel': this.getId('dataPanel'), |
42 | 'toolsPanel': this.getId('toolsPanel'), | 39 | 'toolsPanel': this.getId('toolsPanel'), |
43 | 'userInfoBox': this.getId('userInfoBox'), | 40 | 'userInfoBox': this.getId('userInfoBox'), |
44 | 'tabSidePanel': this.getId('tabSidePanel') | 41 | 'tabSidePanel': this.getId('tabSidePanel') |
45 | }; | 42 | }; |
46 | 43 | ||
47 | return this; | 44 | return this; |
48 | } | 45 | } |
49 | 46 | ||
50 | //============================================================================= | 47 | //============================================================================= |
51 | 48 | ||
52 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.AppPage, Clipperz.PM.UI.Common.Components.BaseComponent, { | 49 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.AppPage, Clipperz.PM.UI.Common.Components.BaseComponent, { |
53 | 50 | ||
54 | //------------------------------------------------------------------------- | 51 | //------------------------------------------------------------------------- |
55 | 52 | ||
56 | 'toString': function () { | 53 | 'toString': function () { |
57 | return "Clipperz.PM.UI.Web.Components.AppPage component"; | 54 | return "Clipperz.PM.UI.Web.Components.AppPage component"; |
58 | }, | 55 | }, |
59 | 56 | ||
60 | //------------------------------------------------------------------------- | 57 | //------------------------------------------------------------------------- |
61 | 58 | ||
62 | 'renderSelf': function(/*aContainer, aPosition*/) { | 59 | 'renderSelf': function(/*aContainer, aPosition*/) { |
63 | this.append(this.element(), {tag:'div', id:this.getId('userInfoBox'), cls:'userInfoBox'}); | 60 | this.append(this.element(), {tag:'div', id:this.getId('userInfoBox'), cls:'userInfoBox'}); |
64 | this.append(this.element(), {tag:'div', id:this.getId('sidePanels'), cls:'sidePanels'}); | 61 | this.append(this.element(), {tag:'div', id:this.getId('sidePanels'), cls:'sidePanels'}); |
65 | this.append(this.getId('sidePanels'),{tag:'div', id:this.getId('tabSidePanel'), cls:'tabSidePanel', children:[]}); | 62 | this.append(this.getId('sidePanels'),{tag:'div', id:this.getId('tabSidePanel'), cls:'tabSidePanel', children:[]}); |
66 | 63 | ||
67 | this.append(this.element(), {tag:'div', id:this.getId('mainPanels'), cls:'mainPanels'}); | 64 | this.append(this.element(), {tag:'div', id:this.getId('mainPanels'), cls:'mainPanels'}); |
68 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('cardGrid'), cls:'gridComponent cardGrid'}); | 65 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('cardGrid'), cls:'gridComponent cardGrid'}); |
69 | // this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('directLoginGrid'), cls:'gridComponent directLoginGrid'}); | 66 | // this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('directLoginGrid'), cls:'gridComponent directLoginGrid'}); |
70 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('accountPanel'), cls:'otherPanel'}); | 67 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('accountPanel'), cls:'otherPanel'}); |
71 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('dataPanel'), cls:'otherPanel'}); | 68 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('dataPanel'), cls:'otherPanel'}); |
72 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('toolsPanel'), cls:'otherPanel'}); | 69 | this.append(this.getId('mainPanels'), {tag:'div', id:this.getId('toolsPanel'), cls:'otherPanel'}); |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //------------------------------------------------------------------------- | 72 | //------------------------------------------------------------------------- |
76 | 73 | ||
77 | __syntaxFix__: "syntax fix" | 74 | __syntaxFix__: "syntax fix" |
78 | }); | 75 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/BookmarkletComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/BookmarkletComponent.js index 42a6052..1835ca9 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/BookmarkletComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/BookmarkletComponent.js | |||
@@ -1,109 +1,106 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.BookmarkletComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.BookmarkletComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.BookmarkletComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.BookmarkletComponent.superclass.constructor.apply(this, arguments); |
35 | MochiKit.Signal.connect(Clipperz.PM.Strings.Languages, 'switchLanguage', this, 'updateBookmarkletURLs'); | 32 | MochiKit.Signal.connect(Clipperz.PM.Strings.Languages, 'switchLanguage', this, 'updateBookmarkletURLs'); |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.BookmarkletComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.BookmarkletComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
43 | 40 | ||
44 | //------------------------------------------------------------------------- | 41 | //------------------------------------------------------------------------- |
45 | 42 | ||
46 | 'toString': function () { | 43 | 'toString': function () { |
47 | return "Clipperz.PM.UI.Web.Components.BookmarkletComponent component"; | 44 | return "Clipperz.PM.UI.Web.Components.BookmarkletComponent component"; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'renderSelf': function() { | 49 | 'renderSelf': function() { |
53 | // var bookmarkletUrl; | 50 | // var bookmarkletUrl; |
54 | // | 51 | // |
55 | // if (Clipperz_IEisBroken == true) { | 52 | // if (Clipperz_IEisBroken == true) { |
56 | // bookmarkletUrl = bookmarklet_ie; | 53 | // bookmarkletUrl = bookmarklet_ie; |
57 | // } else { | 54 | // } else { |
58 | /// bookmarkletUrl = bookmarklet; | 55 | /// bookmarkletUrl = bookmarklet; |
59 | // bookmarkletUrl = Clipperz.PM.Strings['bookmarklet']; | 56 | // bookmarkletUrl = Clipperz.PM.Strings['bookmarklet']; |
60 | // } | 57 | // } |
61 | 58 | ||
62 | this.append(this.element(), {tag:'div', cls:'bookmarklet', children: [ | 59 | this.append(this.element(), {tag:'div', cls:'bookmarklet', children: [ |
63 | {tag:'div', id:this.getId('linkBlock'), cls:'bookmarklet_link', children:[ | 60 | {tag:'div', id:this.getId('linkBlock'), cls:'bookmarklet_link', children:[ |
64 | // {tag:'a', id:this.getId('link'), href:bookmarkletUrl, children:[ | 61 | // {tag:'a', id:this.getId('link'), href:bookmarkletUrl, children:[ |
65 | {tag:'a', id:this.getId('link'), href:'#', children:[ | 62 | {tag:'a', id:this.getId('link'), href:'#', children:[ |
66 | {tag:'div', cls:'icon'}, | 63 | {tag:'div', cls:'icon'}, |
67 | {tag:'div', cls:'text', children:[ | 64 | {tag:'div', cls:'text', children:[ |
68 | {tag:'span', html:"add to Clipperz"} | 65 | {tag:'span', html:"add to Clipperz"} |
69 | ]} | 66 | ]} |
70 | ]} | 67 | ]} |
71 | ]} | 68 | ]} |
72 | ]}); | 69 | ]}); |
73 | 70 | ||
74 | new Clipperz.PM.UI.Common.Components.Tooltip({ | 71 | new Clipperz.PM.UI.Common.Components.Tooltip({ |
75 | element:this.getElement('linkBlock'), | 72 | element:this.getElement('linkBlock'), |
76 | text: "Drag and drop the \"add to Clipperz\" link above to the bookmark bar.", | 73 | text: "Drag and drop the \"add to Clipperz\" link above to the bookmark bar.", |
77 | position:'BELOW' | 74 | position:'BELOW' |
78 | }); | 75 | }); |
79 | 76 | ||
80 | MochiKit.Signal.connect(this.getId('link'), 'onclick', this, 'handleOnclick'); | 77 | MochiKit.Signal.connect(this.getId('link'), 'onclick', this, 'handleOnclick'); |
81 | this.updateBookmarkletURLs(); | 78 | this.updateBookmarkletURLs(); |
82 | }, | 79 | }, |
83 | 80 | ||
84 | //------------------------------------------------------------------------- | 81 | //------------------------------------------------------------------------- |
85 | 82 | ||
86 | 'handleOnclick': function (anEvent) { | 83 | 'handleOnclick': function (anEvent) { |
87 | anEvent.preventDefault(); | 84 | anEvent.preventDefault(); |
88 | 85 | ||
89 | Clipperz.log("BOOKMARKLET CLICK"); | 86 | Clipperz.log("BOOKMARKLET CLICK"); |
90 | }, | 87 | }, |
91 | 88 | ||
92 | //------------------------------------------------------------------------- | 89 | //------------------------------------------------------------------------- |
93 | 90 | ||
94 | 'updateBookmarkletURLs': function () { | 91 | 'updateBookmarkletURLs': function () { |
95 | var bookmarkletUrl; | 92 | var bookmarkletUrl; |
96 | 93 | ||
97 | if (Clipperz_IEisBroken == true) { | 94 | if (Clipperz_IEisBroken == true) { |
98 | bookmarkletUrl = bookmarklet_ie; | 95 | bookmarkletUrl = bookmarklet_ie; |
99 | } else { | 96 | } else { |
100 | // bookmarkletUrl = bookmarklet; | 97 | // bookmarkletUrl = bookmarklet; |
101 | bookmarkletUrl = Clipperz.PM.Strings.getValue('bookmarklet'); | 98 | bookmarkletUrl = Clipperz.PM.Strings.getValue('bookmarklet'); |
102 | } | 99 | } |
103 | 100 | ||
104 | this.getElement('link').href = bookmarkletUrl; | 101 | this.getElement('link').href = bookmarkletUrl; |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //------------------------------------------------------------------------- | 104 | //------------------------------------------------------------------------- |
108 | __syntaxFix__: "syntax fix" | 105 | __syntaxFix__: "syntax fix" |
109 | }); | 106 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogComponent.js index e3238ca..af33d85 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.CardDialogComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.CardDialogComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.CardDialogComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.CardDialogComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._tabPanelController = null; | 33 | this._tabPanelController = null; |
37 | 34 | ||
38 | this._tabPanelControllerConfiguration = { | 35 | this._tabPanelControllerConfiguration = { |
39 | 'DETAILS': { | 36 | 'DETAILS': { |
40 | tab:'detailTab', | 37 | tab:'detailTab', |
41 | panel:'detailTabpanel' | 38 | panel:'detailTabpanel' |
42 | }, | 39 | }, |
43 | 'DIRECT_LOGINS': { | 40 | 'DIRECT_LOGINS': { |
44 | tab:'directLoginTab', | 41 | tab:'directLoginTab', |
45 | panel:'directLoginTabpanel' | 42 | panel:'directLoginTabpanel' |
46 | }, | 43 | }, |
47 | 'SHARING': { | 44 | 'SHARING': { |
48 | tab:'sharingTab', | 45 | tab:'sharingTab', |
49 | panel:'sharingTabpanel' | 46 | panel:'sharingTabpanel' |
50 | } | 47 | } |
51 | }; | 48 | }; |
52 | 49 | ||
53 | this._tooltips = null; | 50 | this._tooltips = null; |
54 | 51 | ||
55 | this._isSavingEnabled = false; | 52 | this._isSavingEnabled = false; |
56 | this._hintMode = 'OFF'; //'ON' | 53 | this._hintMode = 'OFF'; //'ON' |
57 | 54 | ||
58 | this._fieldComponents = {}; | 55 | this._fieldComponents = {}; |
59 | this._directLoginComponents = {}; | 56 | this._directLoginComponents = {}; |
60 | 57 | ||
61 | this._displayMode = 'fixed'; //'scrollable'; | 58 | this._displayMode = 'fixed'; //'scrollable'; |
62 | 59 | ||
63 | return this; | 60 | return this; |
64 | } | 61 | } |
65 | 62 | ||
66 | //============================================================================= | 63 | //============================================================================= |
67 | 64 | ||
68 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 65 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
69 | 66 | ||
70 | //------------------------------------------------------------------------- | 67 | //------------------------------------------------------------------------- |
71 | 68 | ||
72 | 'toString': function () { | 69 | 'toString': function () { |
73 | return "Clipperz.PM.UI.Web.Components.CardDialogComponent component"; | 70 | return "Clipperz.PM.UI.Web.Components.CardDialogComponent component"; |
74 | }, | 71 | }, |
75 | 72 | ||
76 | //------------------------------------------------------------------------- | 73 | //------------------------------------------------------------------------- |
77 | 74 | ||
78 | 'tabPanelController': function () { | 75 | 'tabPanelController': function () { |
79 | if (this._tabPanelController == null) { | 76 | if (this._tabPanelController == null) { |
80 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({ | 77 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({ |
81 | component:this, | 78 | component:this, |
82 | configuration:this._tabPanelControllerConfiguration | 79 | configuration:this._tabPanelControllerConfiguration |
83 | }); | 80 | }); |
84 | 81 | ||
85 | MochiKit.Signal.connect(this._tabPanelController, 'tabSelected', this, 'handleTabSelected') | 82 | MochiKit.Signal.connect(this._tabPanelController, 'tabSelected', this, 'handleTabSelected') |
86 | } | 83 | } |
87 | 84 | ||
88 | return this._tabPanelController; | 85 | return this._tabPanelController; |
89 | }, | 86 | }, |
90 | 87 | ||
91 | //------------------------------------------------------------------------- | 88 | //------------------------------------------------------------------------- |
92 | 89 | ||
93 | 'renderSelf': function() { | 90 | 'renderSelf': function() { |
94 | this.append(this.element(), {tag:'div', cls:'CardDialog mainDialog loading', id:this.getId('panel'), children: [ | 91 | this.append(this.element(), {tag:'div', cls:'CardDialog mainDialog loading', id:this.getId('panel'), children: [ |
95 | {tag:'form', id:this.getId('form'), children:[ | 92 | {tag:'form', id:this.getId('form'), children:[ |
96 | // {tag:'input', type:'text', id:this.getId('hidden'), cls:'hidden'}, | 93 | // {tag:'input', type:'text', id:this.getId('hidden'), cls:'hidden'}, |
97 | {tag:'div', cls:'header', children:[ | 94 | {tag:'div', cls:'header', children:[ |
98 | {tag:'div', cls:'title', children:[ | 95 | {tag:'div', cls:'title', children:[ |
99 | {tag:'input', type:'text', id:this.getId('title')} | 96 | {tag:'input', type:'text', id:this.getId('title')} |
100 | ]} | 97 | ]} |
101 | ]}, | 98 | ]}, |
102 | {tag:'div', id:this.getId('body'), cls:'body', children:[ | 99 | {tag:'div', id:this.getId('body'), cls:'body', children:[ |
103 | {tag:'div', cls:'tabs', children:[ | 100 | {tag:'div', cls:'tabs', children:[ |
104 | {tag:'ul', cls:'tabs', children:[ | 101 | {tag:'ul', cls:'tabs', children:[ |
105 | {tag:'li', id:this.getId('detailTab'), children:[{tag:'span', html:"details"}]}, | 102 | {tag:'li', id:this.getId('detailTab'), children:[{tag:'span', html:"details"}]}, |
106 | {tag:'li', id:this.getId('directLoginTab'), children:[ | 103 | {tag:'li', id:this.getId('directLoginTab'), children:[ |
107 | {tag:'span', html:"direct logins"}//, | 104 | {tag:'span', html:"direct logins"}//, |
108 | // {tag:'div', id:this.getId('addDirectLoginButton'), cls:'addDirectLoginButton', children:[ | 105 | // {tag:'div', id:this.getId('addDirectLoginButton'), cls:'addDirectLoginButton', children:[ |
109 | // {tag:'span', html:"+"} | 106 | // {tag:'span', html:"+"} |
110 | // ]} | 107 | // ]} |
111 | ]}, | 108 | ]}, |
112 | {tag:'li', id:this.getId('sharingTab'), children:[{tag:'span', html:"sharing"}]} | 109 | {tag:'li', id:this.getId('sharingTab'), children:[{tag:'span', html:"sharing"}]} |
113 | ]} | 110 | ]} |
114 | ]}, | 111 | ]}, |
115 | {tag:'div', cls:'tabPanels', children:[ | 112 | {tag:'div', cls:'tabPanels', children:[ |
116 | {tag:'ul', cls:'tabPanels', children:[ | 113 | {tag:'ul', cls:'tabPanels', children:[ |
117 | {tag:'li', id:this.getId('detailTabpanel'), cls:'tabPanel', children:[ | 114 | {tag:'li', id:this.getId('detailTabpanel'), cls:'tabPanel', children:[ |
118 | {tag:'div', id:this.getId('recordFields'), children:[ | 115 | {tag:'div', id:this.getId('recordFields'), children:[ |
119 | {tag:'table', cls:'fields', cellpadding:'0', id:this.getId('fieldTable'), cellspacing:'0', children:[ | 116 | {tag:'table', cls:'fields', cellpadding:'0', id:this.getId('fieldTable'), cellspacing:'0', children:[ |
120 | {tag:'thead', children:[ | 117 | {tag:'thead', children:[ |
121 | {tag:'tr', children:[ | 118 | {tag:'tr', children:[ |
122 | {tag:'th', cls:'fieldStateTH',html:""}, | 119 | {tag:'th', cls:'fieldStateTH',html:""}, |
123 | {tag:'th', cls:'fieldLabelTH',html:"label"}, | 120 | {tag:'th', cls:'fieldLabelTH',html:"label"}, |
124 | {tag:'th', cls:'fieldLockTH',html:""}, | 121 | {tag:'th', cls:'fieldLockTH',html:""}, |
125 | {tag:'th', cls:'fieldValueTH',html:"value"}, | 122 | {tag:'th', cls:'fieldValueTH',html:"value"}, |
126 | {tag:'th', cls:'fieldActionTH',html:""}, | 123 | {tag:'th', cls:'fieldActionTH',html:""}, |
127 | {tag:'th', cls:'fieldDeleteTH',html:""} | 124 | {tag:'th', cls:'fieldDeleteTH',html:""} |
128 | ]} | 125 | ]} |
129 | ]}, | 126 | ]}, |
130 | {tag:'tfoot'}, | 127 | {tag:'tfoot'}, |
131 | {tag:'tbody', id:this.getId('tableBody'), children:[ | 128 | {tag:'tbody', id:this.getId('tableBody'), children:[ |
132 | {tag:'tr', id:this.getId('newFieldTR'), cls:'newFieldTR', children:[ | 129 | {tag:'tr', id:this.getId('newFieldTR'), cls:'newFieldTR', children:[ |
133 | {tag:'td', cls:'fieldState'}, | 130 | {tag:'td', cls:'fieldState'}, |
134 | {tag:'td', cls:'fieldLabel', children:[ | 131 | {tag:'td', cls:'fieldLabel', children:[ |
135 | {tag:'input', cls:'label', id:this.getId('newFieldLabel')} | 132 | {tag:'input', cls:'label', id:this.getId('newFieldLabel')} |
136 | ]}, | 133 | ]}, |
137 | {tag:'td', cls:'fieldLock', children:[ | 134 | {tag:'td', cls:'fieldLock', children:[ |
138 | {tag:'div', cls:'unlocked', id:this.getId('newFieldIsLocked')} | 135 | {tag:'div', cls:'unlocked', id:this.getId('newFieldIsLocked')} |
139 | ]}, | 136 | ]}, |
140 | {tag:'td', cls:'fieldValue', children:[ | 137 | {tag:'td', cls:'fieldValue', children:[ |
141 | {tag:'div', cls:'unlocked', id:this.getId('newFieldValueWrapper'), children:[ | 138 | {tag:'div', cls:'unlocked', id:this.getId('newFieldValueWrapper'), children:[ |
142 | {tag:'input',type:'text', cls:'value', id:this.getId('newFieldValue')} | 139 | {tag:'input',type:'text', cls:'value', id:this.getId('newFieldValue')} |
143 | ]} | 140 | ]} |
144 | ]}, | 141 | ]}, |
145 | {tag:'td', cls:'fieldAction', children:[ | 142 | {tag:'td', cls:'fieldAction', children:[ |
146 | {tag:'div', html:' '} | 143 | {tag:'div', html:' '} |
147 | ]}, | 144 | ]}, |
148 | {tag:'td', cls:'fieldAddDelete', children:[ | 145 | {tag:'td', cls:'fieldAddDelete', children:[ |
149 | {tag:'div', cls:'new', children:[ | 146 | {tag:'div', cls:'new', children:[ |
150 | {tag:'span', children:[ | 147 | {tag:'span', children:[ |
151 | {tag:'a', href:'#', id:this.getId('newFieldAddButton'), html:"add"} | 148 | {tag:'a', href:'#', id:this.getId('newFieldAddButton'), html:"add"} |
152 | ]} | 149 | ]} |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordDirectLoginComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordDirectLoginComponent.js index 126c5b1..2e61f5f 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordDirectLoginComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordDirectLoginComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._reference = args.reference|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._reference = args.reference|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._faviconComponent = null; | 34 | this._faviconComponent = null; |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | //============================================================================= | 39 | //============================================================================= |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
45 | 42 | ||
46 | //------------------------------------------------------------------------- | 43 | //------------------------------------------------------------------------- |
47 | 44 | ||
48 | 'toString': function () { | 45 | 'toString': function () { |
49 | return "Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent component"; | 46 | return "Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent component"; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //------------------------------------------------------------------------- | 49 | //------------------------------------------------------------------------- |
53 | 50 | ||
54 | 'reference': function () { | 51 | 'reference': function () { |
55 | return this._reference; | 52 | return this._reference; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | //------------------------------------------------------------------------- | 55 | //------------------------------------------------------------------------- |
59 | 56 | ||
60 | 'renderSelf': function() { | 57 | 'renderSelf': function() { |
61 | //console.log(">>> CardDialogRecordDirectLoginComponent.renderSelf"); | 58 | //console.log(">>> CardDialogRecordDirectLoginComponent.renderSelf"); |
62 | this.append(this.element(), [ | 59 | this.append(this.element(), [ |
63 | {tag:'div', cls:'cardDialogRecordDirectLoginComponent_favicon', children:[ | 60 | {tag:'div', cls:'cardDialogRecordDirectLoginComponent_favicon', children:[ |
64 | {tag:'img', cls:'favicon', id:this.getId('favicon')} | 61 | {tag:'img', cls:'favicon', id:this.getId('favicon')} |
65 | ]}, | 62 | ]}, |
66 | {tag:'div', cls:'cardDialogRecordDirectLoginComponent_label', children:[ | 63 | {tag:'div', cls:'cardDialogRecordDirectLoginComponent_label', children:[ |
67 | {tag:'input', id:this.getId('label'), type:'text'} | 64 | {tag:'input', id:this.getId('label'), type:'text'} |
68 | ]}, | 65 | ]}, |
69 | {tag:'div', cls:'open', children:[ | 66 | {tag:'div', cls:'open', children:[ |
70 | {tag:'span', children:[ | 67 | {tag:'span', children:[ |
71 | {tag:'a', href:'open', id:this.getId('open'), html:' '} | 68 | {tag:'a', href:'open', id:this.getId('open'), html:' '} |
72 | ]} | 69 | ]} |
73 | ]}, | 70 | ]}, |
74 | {tag:'div', cls:'edit', children:[ | 71 | {tag:'div', cls:'edit', children:[ |
75 | {tag:'span', children:[ | 72 | {tag:'span', children:[ |
76 | {tag:'a', href:'edit', id:this.getId('edit'), html:"edit"} | 73 | {tag:'a', href:'edit', id:this.getId('edit'), html:"edit"} |
77 | ]} | 74 | ]} |
78 | ]}, | 75 | ]}, |
79 | {tag:'div', cls:'delete', children:[ | 76 | {tag:'div', cls:'delete', children:[ |
80 | {tag:'span', children:[ | 77 | {tag:'span', children:[ |
81 | {tag:'a', href:'delete', id:this.getId('delete'), html:"delete"} | 78 | {tag:'a', href:'delete', id:this.getId('delete'), html:"delete"} |
82 | ]} | 79 | ]} |
83 | ]} | 80 | ]} |
84 | /* | 81 | /* |
85 | {tag:'td', cls:'fieldState'}, | 82 | {tag:'td', cls:'fieldState'}, |
86 | {tag:'td', cls:'fieldLabel', children:[ | 83 | {tag:'td', cls:'fieldLabel', children:[ |
87 | {tag:'input', cls:'label', id:this.getId('label')} | 84 | {tag:'input', cls:'label', id:this.getId('label')} |
88 | ]}, | 85 | ]}, |
89 | {tag:'td', cls:'fieldLock', children:[ | 86 | {tag:'td', cls:'fieldLock', children:[ |
90 | {tag:'div', cls:'unlocked', id:this.getId('isHidden')} | 87 | {tag:'div', cls:'unlocked', id:this.getId('isHidden')} |
91 | ]}, | 88 | ]}, |
92 | {tag:'td', cls:'fieldValue', children:[ | 89 | {tag:'td', cls:'fieldValue', children:[ |
93 | {tag:'div', cls:'unlocked', id:this.getId('valueWrapper'), children:[ | 90 | {tag:'div', cls:'unlocked', id:this.getId('valueWrapper'), children:[ |
94 | {tag:'input', type:'text', cls:'value', id:this.getId('value')} | 91 | {tag:'input', type:'text', cls:'value', id:this.getId('value')} |
95 | ]} | 92 | ]} |
96 | ]}, | 93 | ]}, |
97 | {tag:'td', cls:'fieldAddDelete', children:[ | 94 | {tag:'td', cls:'fieldAddDelete', children:[ |
98 | {tag:'div', cls:'delete', children:[ | 95 | {tag:'div', cls:'delete', children:[ |
99 | {tag:'span', children:[ | 96 | {tag:'span', children:[ |
100 | {tag:'a', href:'#', id:this.getId('delete'), html:"delete"} | 97 | {tag:'a', href:'#', id:this.getId('delete'), html:"delete"} |
101 | ]} | 98 | ]} |
102 | ]} | 99 | ]} |
103 | ]} | 100 | ]} |
104 | */ | 101 | */ |
105 | ]); | 102 | ]); |
106 | 103 | ||
107 | MochiKit.Signal.connect(this.getId('label'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); | 104 | MochiKit.Signal.connect(this.getId('label'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); |
108 | MochiKit.Signal.connect(this.getId('open'), 'onclick',this, 'openDirectLogin'); | 105 | MochiKit.Signal.connect(this.getId('open'), 'onclick',this, 'openDirectLogin'); |
109 | MochiKit.Signal.connect(this.getId('edit'), 'onclick',this, 'editDirectLogin'); | 106 | MochiKit.Signal.connect(this.getId('edit'), 'onclick',this, 'editDirectLogin'); |
110 | MochiKit.Signal.connect(this.getId('delete'), 'onclick',this, 'deleteDirectLogin'); | 107 | MochiKit.Signal.connect(this.getId('delete'), 'onclick',this, 'deleteDirectLogin'); |
111 | }, | 108 | }, |
112 | 109 | ||
113 | //------------------------------------------------------------------------- | 110 | //------------------------------------------------------------------------- |
114 | 111 | ||
115 | 'shouldShowElementWhileRendering': function () { | 112 | 'shouldShowElementWhileRendering': function () { |
116 | return false; | 113 | return false; |
117 | }, | 114 | }, |
118 | 115 | ||
119 | //------------------------------------------------------------------------- | 116 | //------------------------------------------------------------------------- |
120 | 117 | ||
121 | 'faviconComponent': function () { | 118 | 'faviconComponent': function () { |
122 | if (this._faviconComponent == null) { | 119 | if (this._faviconComponent == null) { |
123 | //console.log("created the FAVICON component"); | 120 | //console.log("created the FAVICON component"); |
124 | this._faviconComponent = new Clipperz.PM.UI.Common.Components.FaviconComponent({element:this.getId('favicon')}); | 121 | this._faviconComponent = new Clipperz.PM.UI.Common.Components.FaviconComponent({element:this.getId('favicon')}); |
125 | } | 122 | } |
126 | 123 | ||
127 | return this._faviconComponent; | 124 | return this._faviconComponent; |
128 | }, | 125 | }, |
129 | 126 | ||
130 | //========================================================================= | 127 | //========================================================================= |
131 | 128 | ||
132 | 'label': function () { | 129 | 'label': function () { |
133 | return this.getElement('label').value; | 130 | return this.getElement('label').value; |
134 | }, | 131 | }, |
135 | 132 | ||
136 | 'setLabel': function (aValue) { | 133 | 'setLabel': function (aValue) { |
137 | this.getElement('label').value = Clipperz.Base.sanitizeString(aValue); | 134 | this.getElement('label').value = Clipperz.Base.sanitizeString(aValue); |
138 | }, | 135 | }, |
139 | 136 | ||
140 | //------------------------------------------------------------------------- | 137 | //------------------------------------------------------------------------- |
141 | 138 | ||
142 | 'favicon': function () { | 139 | 'favicon': function () { |
143 | // return this.getElement('favicon').src; | 140 | // return this.getElement('favicon').src; |
144 | return this.faviconComponent().src(); | 141 | return this.faviconComponent().src(); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | 'setFavicon': function (aValue) { | 144 | 'setFavicon': function (aValue) { |
148 | // this.getElement('favicon').src = Clipperz.Base.sanitizeString(aValue); | 145 | // this.getElement('favicon').src = Clipperz.Base.sanitizeString(aValue); |
149 | this.faviconComponent().setSrc(Clipperz.Base.sanitizeString(aValue)); | 146 | this.faviconComponent().setSrc(Clipperz.Base.sanitizeString(aValue)); |
150 | }, | 147 | }, |
151 | 148 | ||
152 | //========================================================================= | 149 | //========================================================================= |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordFieldComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordFieldComponent.js index c1a7c13..b58062c 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordFieldComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CardDialogRecordFieldComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._reference = args.reference|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._reference = args.reference|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._actionType = null; | 34 | this._actionType = null; |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | //============================================================================= | 39 | //============================================================================= |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
45 | 42 | ||
46 | //------------------------------------------------------------------------- | 43 | //------------------------------------------------------------------------- |
47 | 44 | ||
48 | 'toString': function () { | 45 | 'toString': function () { |
49 | return "Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent component"; | 46 | return "Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent component"; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //------------------------------------------------------------------------- | 49 | //------------------------------------------------------------------------- |
53 | 50 | ||
54 | 'renderSelf': function() { | 51 | 'renderSelf': function() { |
55 | this.append(this.element(), [ | 52 | this.append(this.element(), [ |
56 | {tag:'td', cls:'fieldState'}, | 53 | {tag:'td', cls:'fieldState'}, |
57 | {tag:'td', cls:'fieldLabel', children:[ | 54 | {tag:'td', cls:'fieldLabel', children:[ |
58 | {tag:'input', cls:'label', id:this.getId('label')} | 55 | {tag:'input', cls:'label', id:this.getId('label')} |
59 | ]}, | 56 | ]}, |
60 | {tag:'td', cls:'fieldLock', children:[ | 57 | {tag:'td', cls:'fieldLock', children:[ |
61 | {tag:'div', cls:'unlocked', id:this.getId('isHidden')} | 58 | {tag:'div', cls:'unlocked', id:this.getId('isHidden')} |
62 | ]}, | 59 | ]}, |
63 | {tag:'td', cls:'fieldValue', children:[ | 60 | {tag:'td', cls:'fieldValue', children:[ |
64 | {tag:'div', cls:'unlocked', id:this.getId('valueWrapper'), children:[ | 61 | {tag:'div', cls:'unlocked', id:this.getId('valueWrapper'), children:[ |
65 | {tag:'input', type:'text', cls:'value', id:this.getId('value')} | 62 | {tag:'input', type:'text', cls:'value', id:this.getId('value')} |
66 | ]} | 63 | ]} |
67 | ]}, | 64 | ]}, |
68 | {tag:'td', cls:'fieldAction', children:[ | 65 | {tag:'td', cls:'fieldAction', children:[ |
69 | {tag:'a', href:'#', id:this.getId('actionLink'), html:' '} | 66 | {tag:'a', href:'#', id:this.getId('actionLink'), html:' '} |
70 | ]}, | 67 | ]}, |
71 | {tag:'td', cls:'fieldAddDelete', children:[ | 68 | {tag:'td', cls:'fieldAddDelete', children:[ |
72 | {tag:'div', cls:'delete', children:[ | 69 | {tag:'div', cls:'delete', children:[ |
73 | {tag:'span', children:[ | 70 | {tag:'span', children:[ |
74 | {tag:'a', href:'#', id:this.getId('delete'), html:"delete"} | 71 | {tag:'a', href:'#', id:this.getId('delete'), html:"delete"} |
75 | ]} | 72 | ]} |
76 | ]} | 73 | ]} |
77 | ]} | 74 | ]} |
78 | ]); | 75 | ]); |
79 | 76 | ||
80 | MochiKit.Signal.connect(this.getId('label'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); | 77 | MochiKit.Signal.connect(this.getId('label'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); |
81 | MochiKit.Signal.connect(this.getId('isHidden'), 'onclick',this, 'toggleIsHidden'); | 78 | MochiKit.Signal.connect(this.getId('isHidden'), 'onclick',this, 'toggleIsHidden'); |
82 | MochiKit.Signal.connect(this.getId('value'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); | 79 | MochiKit.Signal.connect(this.getId('value'), 'onkeyup',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'changedValue')); |
83 | MochiKit.Signal.connect(this.getId('actionLink'), 'onclick',this, 'handleActionLink'); | 80 | MochiKit.Signal.connect(this.getId('actionLink'), 'onclick',this, 'handleActionLink'); |
84 | MochiKit.Signal.connect(this.getId('delete'), 'onclick',this, 'deleteField'); | 81 | MochiKit.Signal.connect(this.getId('delete'), 'onclick',this, 'deleteField'); |
85 | // MochiKit.Signal.connect(this.getId('delete'), 'onclick',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'deleteField', this.reference())); | 82 | // MochiKit.Signal.connect(this.getId('delete'), 'onclick',MochiKit.Base.partial(MochiKit.Signal.signal, this, 'deleteField', this.reference())); |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //------------------------------------------------------------------------- | 85 | //------------------------------------------------------------------------- |
89 | 86 | ||
90 | 'shouldShowElementWhileRendering': function () { | 87 | 'shouldShowElementWhileRendering': function () { |
91 | return false; | 88 | return false; |
92 | }, | 89 | }, |
93 | 90 | ||
94 | //========================================================================= | 91 | //========================================================================= |
95 | 92 | ||
96 | 'reference': function () { | 93 | 'reference': function () { |
97 | return this._reference; | 94 | return this._reference; |
98 | }, | 95 | }, |
99 | 96 | ||
100 | //========================================================================= | 97 | //========================================================================= |
101 | 98 | ||
102 | 'label': function () { | 99 | 'label': function () { |
103 | return this.getElement('label').value; | 100 | return this.getElement('label').value; |
104 | }, | 101 | }, |
105 | 102 | ||
106 | 'setLabel': function (aValue) { | 103 | 'setLabel': function (aValue) { |
107 | // this.getElement('label').value = Clipperz.Base.sanitizeString(aValue); | 104 | // this.getElement('label').value = Clipperz.Base.sanitizeString(aValue); |
108 | this.getElement('label').value = aValue; | 105 | this.getElement('label').value = aValue; |
109 | }, | 106 | }, |
110 | 107 | ||
111 | //========================================================================= | 108 | //========================================================================= |
112 | 109 | ||
113 | 'value': function () { | 110 | 'value': function () { |
114 | return this.getElement('value').value; | 111 | return this.getElement('value').value; |
115 | }, | 112 | }, |
116 | 113 | ||
117 | 'setValue': function (aValue) { | 114 | 'setValue': function (aValue) { |
118 | // this.getElement('value').value = Clipperz.Base.sanitizeString(aValue); | 115 | // this.getElement('value').value = Clipperz.Base.sanitizeString(aValue); |
119 | this.getElement('value').value = aValue; | 116 | this.getElement('value').value = aValue; |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //------------------------------------------------------------------------- | 119 | //------------------------------------------------------------------------- |
123 | 120 | ||
124 | 'actionType': function () { | 121 | 'actionType': function () { |
125 | return this._actionType; | 122 | return this._actionType; |
126 | }, | 123 | }, |
127 | 124 | ||
128 | 'setActionType': function (anActionType) { | 125 | 'setActionType': function (anActionType) { |
129 | this._actionType = anActionType; | 126 | this._actionType = anActionType; |
130 | 127 | ||
131 | switch (this._actionType) { | 128 | switch (this._actionType) { |
132 | case 'NONE': | 129 | case 'NONE': |
133 | MochiKit.Style.hideElement(this.getId('actionLink')); | 130 | MochiKit.Style.hideElement(this.getId('actionLink')); |
134 | MochiKit.DOM.setElementClass(this.getId('actionLink'), ''); | 131 | MochiKit.DOM.setElementClass(this.getId('actionLink'), ''); |
135 | break; | 132 | break; |
136 | case 'URL': | 133 | case 'URL': |
137 | MochiKit.Style.showElement(this.getId('actionLink')); | 134 | MochiKit.Style.showElement(this.getId('actionLink')); |
138 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'url'); | 135 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'url'); |
139 | break; | 136 | break; |
140 | case 'EMAIL': | 137 | case 'EMAIL': |
141 | MochiKit.Style.showElement(this.getId('actionLink')); | 138 | MochiKit.Style.showElement(this.getId('actionLink')); |
142 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'email'); | 139 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'email'); |
143 | break; | 140 | break; |
144 | case 'PASSWORD': | 141 | case 'PASSWORD': |
145 | MochiKit.Style.showElement(this.getId('actionLink')); | 142 | MochiKit.Style.showElement(this.getId('actionLink')); |
146 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'password'); | 143 | MochiKit.DOM.setElementClass(this.getId('actionLink'), 'password'); |
147 | break; | 144 | break; |
148 | } | 145 | } |
149 | }, | 146 | }, |
150 | 147 | ||
151 | //========================================================================= | 148 | //========================================================================= |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ColumnManager.js index bfc7e61..391c379 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ColumnManager.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.ColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.ColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.ColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.ColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | this._name = args.name || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._name = args.name || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._selector = args.selector|| Clipperz.Base.exception.raise('MandatoryParameter');; | 35 | this._selector = args.selector|| Clipperz.Base.exception.raise('MandatoryParameter');; |
39 | this._label = args.label || null; | 36 | this._label = args.label || null; |
40 | this._isSortable = args.sortable|| false; | 37 | this._isSortable = args.sortable|| false; |
41 | this._comparator = args.comparator|| null; | 38 | this._comparator = args.comparator|| null; |
42 | this._sorted = args.sorted || 'UNSORTED'; //'ASCENDING' | 'DESCENDING' | 'UNSORTED' | 39 | this._sorted = args.sorted || 'UNSORTED'; //'ASCENDING' | 'DESCENDING' | 'UNSORTED' |
43 | this._cssClass = args.cssClass|| ''; | 40 | this._cssClass = args.cssClass|| ''; |
44 | 41 | ||
45 | this._signalIdentifiers = []; | 42 | this._signalIdentifiers = []; |
46 | 43 | ||
47 | return this; | 44 | return this; |
48 | } | 45 | } |
49 | 46 | ||
50 | //============================================================================= | 47 | //============================================================================= |
51 | 48 | ||
52 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ColumnManager, Clipperz.PM.UI.Common.Components.BaseComponent, { | 49 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ColumnManager, Clipperz.PM.UI.Common.Components.BaseComponent, { |
53 | 50 | ||
54 | 'toString': function () { | 51 | 'toString': function () { |
55 | return "Clipperz.PM.UI.Web.Components.ColumnManager - " + this._name; | 52 | return "Clipperz.PM.UI.Web.Components.ColumnManager - " + this._name; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | 'name': function () { | 55 | 'name': function () { |
59 | return this._name; | 56 | return this._name; |
60 | }, | 57 | }, |
61 | 58 | ||
62 | 'label': function () { | 59 | 'label': function () { |
63 | return this._label; | 60 | return this._label; |
64 | }, | 61 | }, |
65 | 62 | ||
66 | 'selector': function () { | 63 | 'selector': function () { |
67 | return this._selector; | 64 | return this._selector; |
68 | }, | 65 | }, |
69 | 66 | ||
70 | 'comparator': function() { | 67 | 'comparator': function() { |
71 | return this._comparator; | 68 | return this._comparator; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'cssClass': function() { | 71 | 'cssClass': function() { |
75 | return this._cssClass; | 72 | return this._cssClass; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //------------------------------------------------------------------------- | 75 | //------------------------------------------------------------------------- |
79 | 76 | ||
80 | 'isSortable': function () { | 77 | 'isSortable': function () { |
81 | return this._isSortable; | 78 | return this._isSortable; |
82 | }, | 79 | }, |
83 | 80 | ||
84 | //------------------------------------------------------------------------- | 81 | //------------------------------------------------------------------------- |
85 | 82 | ||
86 | 'sorted': function () { | 83 | 'sorted': function () { |
87 | return this._sorted; | 84 | return this._sorted; |
88 | }, | 85 | }, |
89 | 86 | ||
90 | 'isSorted': function () { | 87 | 'isSorted': function () { |
91 | return (this.sorted() != 'UNSORTED'); | 88 | return (this.sorted() != 'UNSORTED'); |
92 | }, | 89 | }, |
93 | 90 | ||
94 | 'setSorted': function(aValue) { | 91 | 'setSorted': function(aValue) { |
95 | this._sorted = aValue; | 92 | this._sorted = aValue; |
96 | this.updateSortIcon(); | 93 | this.updateSortIcon(); |
97 | }, | 94 | }, |
98 | 95 | ||
99 | //------------------------------------------------------------------------- | 96 | //------------------------------------------------------------------------- |
100 | 97 | ||
101 | 'signalIdentifiers': function () { | 98 | 'signalIdentifiers': function () { |
102 | return this._signalIdentifiers; | 99 | return this._signalIdentifiers; |
103 | }, | 100 | }, |
104 | 101 | ||
105 | 'resetSignalIdentifiers': function () { | 102 | 'resetSignalIdentifiers': function () { |
106 | this._signalIdentifiers = []; | 103 | this._signalIdentifiers = []; |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //------------------------------------------------------------------------- | 106 | //------------------------------------------------------------------------- |
110 | 107 | ||
111 | 'disconnectRowsSignals': function () { | 108 | 'disconnectRowsSignals': function () { |
112 | MochiKit.Base.map(MochiKit.Signal.disconnect, this.signalIdentifiers()); | 109 | MochiKit.Base.map(MochiKit.Signal.disconnect, this.signalIdentifiers()); |
113 | this.resetSignalIdentifiers(); | 110 | this.resetSignalIdentifiers(); |
114 | }, | 111 | }, |
115 | 112 | ||
116 | 'connectEvent': function () { | 113 | 'connectEvent': function () { |
117 | var ident; | 114 | var ident; |
118 | 115 | ||
119 | ident = MochiKit.Signal.connect.apply(null, arguments); | 116 | ident = MochiKit.Signal.connect.apply(null, arguments); |
120 | this.signalIdentifiers().push(ident); | 117 | this.signalIdentifiers().push(ident); |
121 | }, | 118 | }, |
122 | 119 | ||
123 | //------------------------------------------------------------------------- | 120 | //------------------------------------------------------------------------- |
124 | 121 | ||
125 | 'renderHeader': function(aTRElement) { | 122 | 'renderHeader': function(aTRElement) { |
126 | varthElement; | 123 | varthElement; |
127 | 124 | ||
128 | thElement = Clipperz.DOM.Helper.append(aTRElement, {tag:'th', cls:(this.cssClass() + 'TH'), id:this.getId('sortLink'), children:[ | 125 | thElement = Clipperz.DOM.Helper.append(aTRElement, {tag:'th', cls:(this.cssClass() + 'TH'), id:this.getId('sortLink'), children:[ |
129 | {tag:'span', html:this.label() ? this.label() : ' '} | 126 | {tag:'span', html:this.label() ? this.label() : ' '} |
130 | ]}); | 127 | ]}); |
131 | 128 | ||
132 | if (this.isSortable()) { | 129 | if (this.isSortable()) { |
133 | Clipperz.DOM.Helper.append(thElement, {tag:'span', cls:'sortable', children:[ | 130 | Clipperz.DOM.Helper.append(thElement, {tag:'span', cls:'sortable', children:[ |
134 | {tag:'a', href:'#'/*, id:this.getId('sortLink')*/, html:' '} | 131 | {tag:'a', href:'#'/*, id:this.getId('sortLink')*/, html:' '} |
135 | ]}); | 132 | ]}); |
136 | 133 | ||
137 | MochiKit.DOM.addElementClass(thElement, 'sortable'); | 134 | MochiKit.DOM.addElementClass(thElement, 'sortable'); |
138 | MochiKit.Signal.connect(thElement, 'onclick', this, 'handleClickOnSortingCriteria'); | 135 | MochiKit.Signal.connect(thElement, 'onclick', this, 'handleClickOnSortingCriteria'); |
139 | }; | 136 | }; |
140 | 137 | ||
141 | this.updateSortIcon(); | 138 | this.updateSortIcon(); |
142 | }, | 139 | }, |
143 | 140 | ||
144 | //------------------------------------------------------------------------- | 141 | //------------------------------------------------------------------------- |
145 | 142 | ||
146 | 'toggleSorting': function () { | 143 | 'toggleSorting': function () { |
147 | var result; | 144 | var result; |
148 | switch (this.sorted()) { | 145 | switch (this.sorted()) { |
149 | case 'UNSORTED': | 146 | case 'UNSORTED': |
150 | result = 'ASCENDING'; | 147 | result = 'ASCENDING'; |
151 | break; | 148 | break; |
152 | case 'ASCENDING': | 149 | case 'ASCENDING': |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CreateNewCardSplashComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CreateNewCardSplashComponent.js index 61d6ead..d3aa175 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CreateNewCardSplashComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/CreateNewCardSplashComponent.js | |||
@@ -1,71 +1,68 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | return this; | 33 | return this; |
37 | } | 34 | } |
38 | 35 | ||
39 | //============================================================================= | 36 | //============================================================================= |
40 | 37 | ||
41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 38 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
42 | 39 | ||
43 | //------------------------------------------------------------------------- | 40 | //------------------------------------------------------------------------- |
44 | 41 | ||
45 | 'toString': function () { | 42 | 'toString': function () { |
46 | return "Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent component"; | 43 | return "Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent component"; |
47 | }, | 44 | }, |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'renderSelf': function() { | 48 | 'renderSelf': function() { |
52 | this.append(this.element(), [ | 49 | this.append(this.element(), [ |
53 | {tag:'div', cls:'createNewCardSplash', id:this.getId('button'), children:[ | 50 | {tag:'div', cls:'createNewCardSplash', id:this.getId('button'), children:[ |
54 | {tag:'span', html:"Create New Card"} | 51 | {tag:'span', html:"Create New Card"} |
55 | ]} | 52 | ]} |
56 | ]); | 53 | ]); |
57 | 54 | ||
58 | MochiKit.Signal.connect(this.getElement('button'), 'onclick', this, 'handleClick'); | 55 | MochiKit.Signal.connect(this.getElement('button'), 'onclick', this, 'handleClick'); |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'handleClick': function (anEvent) { | 60 | 'handleClick': function (anEvent) { |
64 | anEvent.preventDefault(); | 61 | anEvent.preventDefault(); |
65 | MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'addCard', this.element()); | 62 | MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'addCard', this.element()); |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | __syntaxFix__: "syntax fix" | 67 | __syntaxFix__: "syntax fix" |
71 | }); | 68 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DataPanel.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DataPanel.js index 91d99e3..d2f1045 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DataPanel.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DataPanel.js | |||
@@ -1,111 +1,108 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.DataPanel = function(args) { | 28 | Clipperz.PM.UI.Web.Components.DataPanel = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.DataPanel.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.DataPanel.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._initiallySelectedTab = args.selected || 'OFFLINE_COPY'; | 33 | this._initiallySelectedTab = args.selected || 'OFFLINE_COPY'; |
37 | this._tabPanelControllerConfiguration = { | 34 | this._tabPanelControllerConfiguration = { |
38 | 'OFFLINE_COPY': { | 35 | 'OFFLINE_COPY': { |
39 | tab:'offlineCopyTab', | 36 | tab:'offlineCopyTab', |
40 | panel:'offlineCopyPanel' | 37 | panel:'offlineCopyPanel' |
41 | }, | 38 | }, |
42 | 'SHARING': { | 39 | 'SHARING': { |
43 | tab:'sharingTab', | 40 | tab:'sharingTab', |
44 | panel:'sharingPanel' | 41 | panel:'sharingPanel' |
45 | }, | 42 | }, |
46 | 'IMPORT': { | 43 | 'IMPORT': { |
47 | tab:'importTab', | 44 | tab:'importTab', |
48 | panel:'importPanel' | 45 | panel:'importPanel' |
49 | }, | 46 | }, |
50 | 'EXPORT': { | 47 | 'EXPORT': { |
51 | tab:'exportTab', | 48 | tab:'exportTab', |
52 | panel:'exportPanel' | 49 | panel:'exportPanel' |
53 | } | 50 | } |
54 | }; | 51 | }; |
55 | 52 | ||
56 | return this; | 53 | return this; |
57 | } | 54 | } |
58 | 55 | ||
59 | //============================================================================= | 56 | //============================================================================= |
60 | 57 | ||
61 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DataPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { | 58 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DataPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { |
62 | 59 | ||
63 | //------------------------------------------------------------------------- | 60 | //------------------------------------------------------------------------- |
64 | 61 | ||
65 | 'toString': function () { | 62 | 'toString': function () { |
66 | return "Clipperz.PM.UI.Web.Components.DataPanel component"; | 63 | return "Clipperz.PM.UI.Web.Components.DataPanel component"; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'renderSelf': function(/*aContainer, aPosition*/) { | 68 | 'renderSelf': function(/*aContainer, aPosition*/) { |
72 | this.append(this.element(), [ | 69 | this.append(this.element(), [ |
73 | {tag:'div', cls:'header', children:[ | 70 | {tag:'div', cls:'header', children:[ |
74 | {tag:'div', cls:'subPanelTabs', children:[ | 71 | {tag:'div', cls:'subPanelTabs', children:[ |
75 | {tag:'ul', children:[ | 72 | {tag:'ul', children:[ |
76 | {tag:'li', id:this.getId('offlineCopyTab'),children:[{tag:'a', href:'#', html:'Offline copy'}], cls:'first'}, | 73 | {tag:'li', id:this.getId('offlineCopyTab'),children:[{tag:'a', href:'#', html:'Offline copy'}], cls:'first'}, |
77 | {tag:'li', id:this.getId('sharingTab'), children:[{tag:'a', href:'#', html:'Sharing'}]}, | 74 | {tag:'li', id:this.getId('sharingTab'), children:[{tag:'a', href:'#', html:'Sharing'}]}, |
78 | {tag:'li', id:this.getId('importTab'), children:[{tag:'a', href:'#', html:'Import'}]}, | 75 | {tag:'li', id:this.getId('importTab'), children:[{tag:'a', href:'#', html:'Import'}]}, |
79 | {tag:'li', id:this.getId('exportTab'), children:[{tag:'a', href:'#', html:'Export'}]} | 76 | {tag:'li', id:this.getId('exportTab'), children:[{tag:'a', href:'#', html:'Export'}]} |
80 | ]} | 77 | ]} |
81 | ]} | 78 | ]} |
82 | ]}, | 79 | ]}, |
83 | {tag:'div', cls:'body', children:[ | 80 | {tag:'div', cls:'body', children:[ |
84 | {tag:'div', cls:'accountPanel', children:[ | 81 | {tag:'div', cls:'accountPanel', children:[ |
85 | {tag:'div', cls:'subPanelContent', children:[ | 82 | {tag:'div', cls:'subPanelContent', children:[ |
86 | {tag:'ul', children:[ | 83 | {tag:'ul', children:[ |
87 | {tag:'li', id:this.getId('offlineCopyPanel'),children:[ | 84 | {tag:'li', id:this.getId('offlineCopyPanel'),children:[ |
88 | {tag:'h3', html:"Offline copy"} | 85 | {tag:'h3', html:"Offline copy"} |
89 | ]}, | 86 | ]}, |
90 | {tag:'li', id:this.getId('sharingPanel'),children:[ | 87 | {tag:'li', id:this.getId('sharingPanel'),children:[ |
91 | {tag:'h3', html:"Sharing"} | 88 | {tag:'h3', html:"Sharing"} |
92 | ]}, | 89 | ]}, |
93 | {tag:'li', id:this.getId('importPanel'), children:[ | 90 | {tag:'li', id:this.getId('importPanel'), children:[ |
94 | {tag:'h3', html:"Import"} | 91 | {tag:'h3', html:"Import"} |
95 | ]}, | 92 | ]}, |
96 | {tag:'li', id:this.getId('exportPanel'), children:[ | 93 | {tag:'li', id:this.getId('exportPanel'), children:[ |
97 | {tag:'h3', html:"Export"} | 94 | {tag:'h3', html:"Export"} |
98 | ]} | 95 | ]} |
99 | ]} | 96 | ]} |
100 | ]} | 97 | ]} |
101 | ]} | 98 | ]} |
102 | ]}, | 99 | ]}, |
103 | {tag:'div', cls:'footer'} | 100 | {tag:'div', cls:'footer'} |
104 | ]); | 101 | ]); |
105 | 102 | ||
106 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); | 103 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //------------------------------------------------------------------------- | 106 | //------------------------------------------------------------------------- |
110 | __syntaxFix__: "syntax fix" | 107 | __syntaxFix__: "syntax fix" |
111 | }); | 108 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DateColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DateColumnManager.js index 3f8aa88..ea55ba4 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DateColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DateColumnManager.js | |||
@@ -1,72 +1,69 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.DateColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.DateColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.DateColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.DateColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | this._format = args.format|| Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._format = args.format|| Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | //============================================================================= | 39 | //============================================================================= |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DateColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DateColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
45 | 42 | ||
46 | 'toString': function () { | 43 | 'toString': function () { |
47 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; | 44 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'format': function () { | 49 | 'format': function () { |
53 | return this._format; | 50 | return this._format; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //------------------------------------------------------------------------- | 53 | //------------------------------------------------------------------------- |
57 | 54 | ||
58 | 'renderCell': function(aRowElement, anObject) { | 55 | 'renderCell': function(aRowElement, anObject) { |
59 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 56 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
60 | { | 57 | { |
61 | tag:'span', | 58 | tag:'span', |
62 | title:Clipperz.PM.Date.formatDateWithTemplate(anObject[this.name()], "D, d M Y H:i:s"), | 59 | title:Clipperz.PM.Date.formatDateWithTemplate(anObject[this.name()], "D, d M Y H:i:s"), |
63 | html:Clipperz.PM.Date.formatDateWithTemplate(anObject[this.name()], this.format()) | 60 | html:Clipperz.PM.Date.formatDateWithTemplate(anObject[this.name()], this.format()) |
64 | } | 61 | } |
65 | ]}); | 62 | ]}); |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //----------------------------------------------------- | 65 | //----------------------------------------------------- |
69 | 66 | ||
70 | '__syntax_fix__' : 'syntax fix' | 67 | '__syntax_fix__' : 'syntax fix' |
71 | }); | 68 | }); |
72 | 69 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DeleteObjectColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DeleteObjectColumnManager.js index ee60f2f..fe59494 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DeleteObjectColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DeleteObjectColumnManager.js | |||
@@ -1,70 +1,67 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager, Clipperz.PM.UI.Web.Components.LinkColumnManager, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager, Clipperz.PM.UI.Web.Components.LinkColumnManager, { |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return "Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager component"; | 42 | return "Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager component"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'renderCell': function(aRowElement, anObject) { | 47 | 'renderCell': function(aRowElement, anObject) { |
51 | var tdElement; | 48 | var tdElement; |
52 | var linkElement; | 49 | var linkElement; |
53 | 50 | ||
54 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 51 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
55 | {tag:'div', cls:'delete', children:[ | 52 | {tag:'div', cls:'delete', children:[ |
56 | {tag:'span', children:[ | 53 | {tag:'span', children:[ |
57 | {tag:'a', href:'delete', html:"delete"} | 54 | {tag:'a', href:'delete', html:"delete"} |
58 | ]} | 55 | ]} |
59 | ]} | 56 | ]} |
60 | ]}); | 57 | ]}); |
61 | 58 | ||
62 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); | 59 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); |
63 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 60 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
64 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 61 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
65 | }, | 62 | }, |
66 | 63 | ||
67 | //----------------------------------------------------- | 64 | //----------------------------------------------------- |
68 | '__syntax_fix__' : 'syntax fix' | 65 | '__syntax_fix__' : 'syntax fix' |
69 | }); | 66 | }); |
70 | 67 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginColumnManager.js index 4bf9020..a1f0f9f 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginColumnManager.js | |||
@@ -1,90 +1,87 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | /* | 26 | /* |
30 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 27 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
31 | 28 | ||
32 | //############################################################################# | 29 | //############################################################################# |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.DirectLoginColumnManager = function(args) { | 31 | Clipperz.PM.UI.Web.Components.DirectLoginColumnManager = function(args) { |
35 | args = args || {}; | 32 | args = args || {}; |
36 | Clipperz.PM.UI.Web.Components.DirectLoginColumnManager.superclass.constructor.call(this, args); | 33 | Clipperz.PM.UI.Web.Components.DirectLoginColumnManager.superclass.constructor.call(this, args); |
37 | 34 | ||
38 | this._actionMethod = args.actionMethod || null; | 35 | this._actionMethod = args.actionMethod || null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
46 | 43 | ||
47 | 'toString': function () { | 44 | 'toString': function () { |
48 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; | 45 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'actionMethod': function () { | 50 | 'actionMethod': function () { |
54 | return this._actionMethod; | 51 | return this._actionMethod; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //------------------------------------------------------------------------- | 54 | //------------------------------------------------------------------------- |
58 | 55 | ||
59 | 'renderCell': function(aRowElement, anObject) { | 56 | 'renderCell': function(aRowElement, anObject) { |
60 | vartdElement; | 57 | vartdElement; |
61 | varlinkElement; | 58 | varlinkElement; |
62 | 59 | ||
63 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 60 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
64 | {tag:'div', cls:'directLogin_directLogin', children:[ | 61 | {tag:'div', cls:'directLogin_directLogin', children:[ |
65 | {tag:'div', cls:'directLogin_directLogin_body', children:[ | 62 | {tag:'div', cls:'directLogin_directLogin_body', children:[ |
66 | {tag:'a', href:'#', html:anObject[this.name()]} | 63 | {tag:'a', href:'#', html:anObject[this.name()]} |
67 | ]} | 64 | ]} |
68 | ]} | 65 | ]} |
69 | ]}); | 66 | ]}); |
70 | 67 | ||
71 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); | 68 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); |
72 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 69 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
73 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 70 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
74 | }, | 71 | }, |
75 | 72 | ||
76 | //----------------------------------------------------- | 73 | //----------------------------------------------------- |
77 | 74 | ||
78 | 'handleLinkClick': function (anObject, anEvent) { | 75 | 'handleLinkClick': function (anObject, anEvent) { |
79 | anEvent.preventDefault(); | 76 | anEvent.preventDefault(); |
80 | 77 | ||
81 | if (this.actionMethod() != null) { | 78 | if (this.actionMethod() != null) { |
82 | this.actionMethod()(anObject, anEvent); | 79 | this.actionMethod()(anObject, anEvent); |
83 | } | 80 | } |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //----------------------------------------------------- | 83 | //----------------------------------------------------- |
87 | '__syntax_fix__' : 'syntax fix' | 84 | '__syntax_fix__' : 'syntax fix' |
88 | }); | 85 | }); |
89 | 86 | ||
90 | */ \ No newline at end of file | 87 | */ \ No newline at end of file |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingBindingComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingBindingComponent.js index 9a9c0b2..1a76b0c 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingBindingComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingBindingComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._formFieldName = args.formFieldName|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._formFieldName = args.formFieldName|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._fields = args.fields || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._fields = args.fields || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._initiallySelectedFieldKey = args.selectedFieldKey|| null; | 35 | this._initiallySelectedFieldKey = args.selectedFieldKey|| null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent component"; | 47 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingBindingComponent component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'formFieldName': function () { | 52 | 'formFieldName': function () { |
56 | return this._formFieldName; | 53 | return this._formFieldName; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'fields': function () { | 58 | 'fields': function () { |
62 | return this._fields; | 59 | return this._fields; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'selectedValue': function () { | 64 | 'selectedValue': function () { |
68 | var result; | 65 | var result; |
69 | 66 | ||
70 | result = this.getElement('select').value; | 67 | result = this.getElement('select').value; |
71 | 68 | ||
72 | if (result == '---') { | 69 | if (result == '---') { |
73 | result = null; | 70 | result = null; |
74 | } | 71 | } |
75 | 72 | ||
76 | return result; | 73 | return result; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | 'initiallySelectedFieldKey': function () { | 76 | 'initiallySelectedFieldKey': function () { |
80 | return this._initiallySelectedFieldKey; | 77 | return this._initiallySelectedFieldKey; |
81 | }, | 78 | }, |
82 | 79 | ||
83 | //========================================================================= | 80 | //========================================================================= |
84 | 81 | ||
85 | 'renderSelf': function() { | 82 | 'renderSelf': function() { |
86 | var initiallySelectedOptions; | 83 | var initiallySelectedOptions; |
87 | 84 | ||
88 | this.append(this.element(), {tag:'div', id:this.getId('div'), cls:'binding', children:[ | 85 | this.append(this.element(), {tag:'div', id:this.getId('div'), cls:'binding', children:[ |
89 | {tag:'span', cls:'formFieldName', html:this.formFieldName()}, | 86 | {tag:'span', cls:'formFieldName', html:this.formFieldName()}, |
90 | {tag:'span', cls:'fieldLock', id:this.getId('isHidden'), children:[ | 87 | {tag:'span', cls:'fieldLock', id:this.getId('isHidden'), children:[ |
91 | {tag:'a', href:'#', id:this.getId('showHide'), html:' '} | 88 | {tag:'a', href:'#', id:this.getId('showHide'), html:' '} |
92 | ]}, | 89 | ]}, |
93 | {tag:'input', id:this.getId('input'), cls:'formFieldExampleValue', disabled:true, value:''}, | 90 | {tag:'input', id:this.getId('input'), cls:'formFieldExampleValue', disabled:true, value:''}, |
94 | {tag:'select', name:this.formFieldName(), id:this.getId('select'), cls:'formFieldMatchinCardField', children: | 91 | {tag:'select', name:this.formFieldName(), id:this.getId('select'), cls:'formFieldMatchinCardField', children: |
95 | MochiKit.Base.flattenArguments( | 92 | MochiKit.Base.flattenArguments( |
96 | {tag:'option', value:'---', html:"---"}, | 93 | {tag:'option', value:'---', html:"---"}, |
97 | MochiKit.Base.map( | 94 | MochiKit.Base.map( |
98 | MochiKit.Base.bind(function (aField) { return {tag:'option', value:aField['reference'], html:aField['label']}; }, this), | 95 | MochiKit.Base.bind(function (aField) { return {tag:'option', value:aField['reference'], html:aField['label']}; }, this), |
99 | this.fields() | 96 | this.fields() |
100 | ) | 97 | ) |
101 | ) | 98 | ) |
102 | } | 99 | } |
103 | ]}); | 100 | ]}); |
104 | 101 | ||
105 | MochiKit.Signal.connect(this.getElement('select'), 'onchange', this, 'handleSelectChange'); | 102 | MochiKit.Signal.connect(this.getElement('select'), 'onchange', this, 'handleSelectChange'); |
106 | MochiKit.Signal.connect(this.getElement('showHide'), 'onclick', this, 'handleShowHide'); | 103 | MochiKit.Signal.connect(this.getElement('showHide'), 'onclick', this, 'handleShowHide'); |
107 | 104 | ||
108 | if (! MochiKit.Base.isUndefinedOrNull(this.initiallySelectedFieldKey())) { | 105 | if (! MochiKit.Base.isUndefinedOrNull(this.initiallySelectedFieldKey())) { |
109 | initiallySelectedOptions = MochiKit.Selector.findChildElements(this.element(), ['option[value=' + this.initiallySelectedFieldKey() + ']']); | 106 | initiallySelectedOptions = MochiKit.Selector.findChildElements(this.element(), ['option[value=' + this.initiallySelectedFieldKey() + ']']); |
110 | if (initiallySelectedOptions.length == 1) { | 107 | if (initiallySelectedOptions.length == 1) { |
111 | MochiKit.DOM.updateNodeAttributes(initiallySelectedOptions[0], {selected:true}); | 108 | MochiKit.DOM.updateNodeAttributes(initiallySelectedOptions[0], {selected:true}); |
112 | this.handleSelectChange(); | 109 | this.handleSelectChange(); |
113 | } | 110 | } |
114 | } | 111 | } |
115 | }, | 112 | }, |
116 | 113 | ||
117 | //------------------------------------------------------------------------- | 114 | //------------------------------------------------------------------------- |
118 | 115 | ||
119 | 'setFieldValue': function (aValue) { | 116 | 'setFieldValue': function (aValue) { |
120 | this.getElement('input').value = aValue; | 117 | this.getElement('input').value = aValue; |
121 | }, | 118 | }, |
122 | 119 | ||
123 | 'isHidden': function () { | 120 | 'isHidden': function () { |
124 | return MochiKit.DOM.hasElementClass(this.getElement('div'), 'locked'); | 121 | return MochiKit.DOM.hasElementClass(this.getElement('div'), 'locked'); |
125 | }, | 122 | }, |
126 | 123 | ||
127 | 'setIsHidden': function (aValue) { | 124 | 'setIsHidden': function (aValue) { |
128 | if (aValue == true) { | 125 | if (aValue == true) { |
129 | MochiKit.DOM.addElementClass(this.getElement('div'), 'locked'); | 126 | MochiKit.DOM.addElementClass(this.getElement('div'), 'locked'); |
130 | MochiKit.DOM.addElementClass(this.getElement('div'), 'showLocked'); | 127 | MochiKit.DOM.addElementClass(this.getElement('div'), 'showLocked'); |
131 | } else { | 128 | } else { |
132 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'locked'); | 129 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'locked'); |
133 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'showLocked'); | 130 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'showLocked'); |
134 | } | 131 | } |
135 | }, | 132 | }, |
136 | 133 | ||
137 | 'isShowLocked': function () { | 134 | 'isShowLocked': function () { |
138 | return MochiKit.DOM.hasElementClass(this.getElement('div'), 'showLocked'); | 135 | return MochiKit.DOM.hasElementClass(this.getElement('div'), 'showLocked'); |
139 | }, | 136 | }, |
140 | 137 | ||
141 | //------------------------------------------------------------------------- | 138 | //------------------------------------------------------------------------- |
142 | 139 | ||
143 | 'handleSelectChange': function (anEvent) { | 140 | 'handleSelectChange': function (anEvent) { |
144 | // this.getElement('input').value = this.valueOfField(anEvent.src().value); | 141 | // this.getElement('input').value = this.valueOfField(anEvent.src().value); |
145 | MochiKit.Signal.signal(this, 'bindChange', this); | 142 | MochiKit.Signal.signal(this, 'bindChange', this); |
146 | }, | 143 | }, |
147 | 144 | ||
148 | 'handleShowHide': function (anEvent) { | 145 | 'handleShowHide': function (anEvent) { |
149 | anEvent.preventDefault(); | 146 | anEvent.preventDefault(); |
150 | 147 | ||
151 | if (this.isShowLocked()) { | 148 | if (this.isShowLocked()) { |
152 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'showLocked'); | 149 | MochiKit.DOM.removeElementClass(this.getElement('div'), 'showLocked'); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingComponent.js index d254c29..5114b1d 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._tabPanelController = null; | 33 | this._tabPanelController = null; |
37 | 34 | ||
38 | this._initiallySelectedTab = args.selected || 'TYPE'; | 35 | this._initiallySelectedTab = args.selected || 'TYPE'; |
39 | this._tabPanelControllerConfiguration = { | 36 | this._tabPanelControllerConfiguration = { |
40 | 'LABEL': { | 37 | 'LABEL': { |
41 | tab:'labelTab', | 38 | tab:'labelTab', |
42 | panel:'labelTabpanel' | 39 | panel:'labelTabpanel' |
43 | }, | 40 | }, |
44 | 'TYPE': { | 41 | 'TYPE': { |
45 | tab:'typeTab', | 42 | tab:'typeTab', |
46 | panel:'typeTabpanel' | 43 | panel:'typeTabpanel' |
47 | }, | 44 | }, |
48 | 'CONFIGURATION': { | 45 | 'CONFIGURATION': { |
49 | tab:'configurationTab', | 46 | tab:'configurationTab', |
50 | panel:'configurationTabpanel' | 47 | panel:'configurationTabpanel' |
51 | }, | 48 | }, |
52 | 'BINDINGS': { | 49 | 'BINDINGS': { |
53 | tab:'bindingsTab', | 50 | tab:'bindingsTab', |
54 | panel:'bindingsTabpanel' | 51 | panel:'bindingsTabpanel' |
55 | }, | 52 | }, |
56 | 'FAVICON': { | 53 | 'FAVICON': { |
57 | tab:'faviconTab', | 54 | tab:'faviconTab', |
58 | panel:'faviconTabpanel' | 55 | panel:'faviconTabpanel' |
59 | }, | 56 | }, |
60 | 'DONE': { | 57 | 'DONE': { |
61 | tab:'doneTab', | 58 | tab:'doneTab', |
62 | panel:'doneTabpanel' | 59 | panel:'doneTabpanel' |
63 | } | 60 | } |
64 | }; | 61 | }; |
65 | 62 | ||
66 | this._directLoginReference = null; | 63 | this._directLoginReference = null; |
67 | 64 | ||
68 | this._directLoginFavicon = null; | 65 | this._directLoginFavicon = null; |
69 | 66 | ||
70 | this._updateFaviconCounter = 0; | 67 | this._updateFaviconCounter = 0; |
71 | this._faviconComponent = null; | 68 | this._faviconComponent = null; |
72 | 69 | ||
73 | this._bindingComponents= []; | 70 | this._bindingComponents= []; |
74 | this._formValueComponents = []; | 71 | this._formValueComponents = []; |
75 | 72 | ||
76 | return this; | 73 | return this; |
77 | } | 74 | } |
78 | 75 | ||
79 | //============================================================================= | 76 | //============================================================================= |
80 | 77 | ||
81 | //Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 78 | //Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
82 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent, Clipperz.PM.UI.Common.Components.TabPanelComponent, { | 79 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent, Clipperz.PM.UI.Common.Components.TabPanelComponent, { |
83 | 80 | ||
84 | //------------------------------------------------------------------------- | 81 | //------------------------------------------------------------------------- |
85 | 82 | ||
86 | 'toString': function () { | 83 | 'toString': function () { |
87 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent component"; | 84 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent component"; |
88 | }, | 85 | }, |
89 | 86 | ||
90 | //========================================================================= | 87 | //========================================================================= |
91 | 88 | ||
92 | 'directLoginReference': function () { | 89 | 'directLoginReference': function () { |
93 | return this._directLoginReference; | 90 | return this._directLoginReference; |
94 | }, | 91 | }, |
95 | 92 | ||
96 | //------------------------------------------------------------------------- | 93 | //------------------------------------------------------------------------- |
97 | 94 | ||
98 | 'setDirectLoginReference': function (aDirectLoginReference) { | 95 | 'setDirectLoginReference': function (aDirectLoginReference) { |
99 | this._directLoginReference = aDirectLoginReference; | 96 | this._directLoginReference = aDirectLoginReference; |
100 | 97 | ||
101 | return this._directLoginReference; | 98 | return this._directLoginReference; |
102 | }, | 99 | }, |
103 | 100 | ||
104 | //========================================================================= | 101 | //========================================================================= |
105 | 102 | ||
106 | 'label': function () { | 103 | 'label': function () { |
107 | return this.getElement('label').value | 104 | return this.getElement('label').value |
108 | }, | 105 | }, |
109 | 106 | ||
110 | 'setLabel': function (aValue) { | 107 | 'setLabel': function (aValue) { |
111 | //console.log("##> LABEL: " + aValue); | 108 | //console.log("##> LABEL: " + aValue); |
112 | this.getElement('label').value = (aValue ? aValue : ''); | 109 | this.getElement('label').value = (aValue ? aValue : ''); |
113 | }, | 110 | }, |
114 | 111 | ||
115 | //------------------------------------------------------------------------- | 112 | //------------------------------------------------------------------------- |
116 | 113 | ||
117 | 'favicon': function () { | 114 | 'favicon': function () { |
118 | return this.getElement('faviconURL').value; | 115 | return this.getElement('faviconURL').value; |
119 | }, | 116 | }, |
120 | 117 | ||
121 | 'setFavicon': function (aValue) { | 118 | 'setFavicon': function (aValue) { |
122 | var regexp; | 119 | var regexp; |
123 | var displayValue; | 120 | var displayValue; |
124 | 121 | ||
125 | regexp = new RegExp('^data\:\/\/.*', 'i'); | 122 | regexp = new RegExp('^data\:\/\/.*', 'i'); |
126 | if (regexp.test(aValue)) { | 123 | if (regexp.test(aValue)) { |
127 | displayValue = '' | 124 | displayValue = '' |
128 | } else { | 125 | } else { |
129 | displayValue = (aValue ? aValue : ''); | 126 | displayValue = (aValue ? aValue : ''); |
130 | } | 127 | } |
131 | 128 | ||
132 | this.getElement('faviconURL').value = displayValue; | 129 | this.getElement('faviconURL').value = displayValue; |
133 | this.faviconComponent().setSrc(aValue); | 130 | this.faviconComponent().setSrc(aValue); |
134 | }, | 131 | }, |
135 | 132 | ||
136 | //'setFaviconData': function (aValue) { | 133 | //'setFaviconData': function (aValue) { |
137 | // this.getElement('faviconIcon').src = aValue; | 134 | // this.getElement('faviconIcon').src = aValue; |
138 | //}, | 135 | //}, |
139 | 136 | ||
140 | 'directLoginFavicon': function () { | 137 | 'directLoginFavicon': function () { |
141 | return this._directLoginFavicon; | 138 | return this._directLoginFavicon; |
142 | }, | 139 | }, |
143 | 140 | ||
144 | 'setDirectLoginFavicon': function (aValue) { | 141 | 'setDirectLoginFavicon': function (aValue) { |
145 | this._directLoginFavicon = aValue; | 142 | this._directLoginFavicon = aValue; |
146 | this.setFavicon(aValue); | 143 | this.setFavicon(aValue); |
147 | }, | 144 | }, |
148 | 145 | ||
149 | //------------------------------------------------------------------------- | 146 | //------------------------------------------------------------------------- |
150 | 147 | ||
151 | 'bookmarkletConfiguration': function () { | 148 | 'bookmarkletConfiguration': function () { |
152 | return this.getElement('bookmarkletConfiguration').value | 149 | return this.getElement('bookmarkletConfiguration').value |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingFormValueComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingFormValueComponent.js index b91eb98..fa57233 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingFormValueComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginEditingFormValueComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._formFieldName = args.formFieldName|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._formFieldName = args.formFieldName|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._fieldOptions = args.fieldOptions || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._fieldOptions = args.fieldOptions || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | this._initialValue = args.initialValue || null; | 35 | this._initialValue = args.initialValue || null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent component"; | 47 | return "Clipperz.PM.UI.Web.Components.DirectLoginEditingFormValueComponent component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'formFieldName': function () { | 52 | 'formFieldName': function () { |
56 | return this._formFieldName; | 53 | return this._formFieldName; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'fieldOptions': function () { | 58 | 'fieldOptions': function () { |
62 | return this._fieldOptions; | 59 | return this._fieldOptions; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | 'fieldType': function () { | 62 | 'fieldType': function () { |
66 | return this.fieldOptions()['type']; | 63 | return this.fieldOptions()['type']; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | 'optionValues': function () { | 66 | 'optionValues': function () { |
70 | return MochiKit.Base.map(function (anOptionValue) { | 67 | return MochiKit.Base.map(function (anOptionValue) { |
71 | return { | 68 | return { |
72 | 'label': anOptionValue['label'] || anOptionValue['value'], | 69 | 'label': anOptionValue['label'] || anOptionValue['value'], |
73 | 'value': anOptionValue['value'] | 70 | 'value': anOptionValue['value'] |
74 | } | 71 | } |
75 | }, this.fieldOptions()['options']); | 72 | }, this.fieldOptions()['options']); |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //------------------------------------------------------------------------- | 75 | //------------------------------------------------------------------------- |
79 | 76 | ||
80 | 'selectedValue': function () { | 77 | 'selectedValue': function () { |
81 | var result; | 78 | var result; |
82 | 79 | ||
83 | result = this.getElement('select').value; | 80 | result = this.getElement('select').value; |
84 | 81 | ||
85 | if (result == '---') { | 82 | if (result == '---') { |
86 | result = null; | 83 | result = null; |
87 | } | 84 | } |
88 | 85 | ||
89 | return result; | 86 | return result; |
90 | }, | 87 | }, |
91 | 88 | ||
92 | 'initialValue': function () { | 89 | 'initialValue': function () { |
93 | return this._initialValue; | 90 | return this._initialValue; |
94 | }, | 91 | }, |
95 | 92 | ||
96 | //========================================================================= | 93 | //========================================================================= |
97 | 94 | ||
98 | 'renderSelf': function() { | 95 | 'renderSelf': function() { |
99 | //console.log(">>> DirectLoginEditingFormValueComponent.renderSelf"); | 96 | //console.log(">>> DirectLoginEditingFormValueComponent.renderSelf"); |
100 | //console.log("FIELD OPTIONS", this.fieldOptions()); | 97 | //console.log("FIELD OPTIONS", this.fieldOptions()); |
101 | //console.log("OPTION VALUES", this.optionValues()); | 98 | //console.log("OPTION VALUES", this.optionValues()); |
102 | this.append(this.element(), {tag:'div', id:this.getId('div'), cls:'formValue', children:[ | 99 | this.append(this.element(), {tag:'div', id:this.getId('div'), cls:'formValue', children:[ |
103 | {tag:'span', cls:'formFieldName', html:this.formFieldName()}, | 100 | {tag:'span', cls:'formFieldName', html:this.formFieldName()}, |
104 | {tag:'div', id:this.getId('values')} | 101 | {tag:'div', id:this.getId('values')} |
105 | ]}); | 102 | ]}); |
106 | 103 | ||
107 | if ((this.fieldType() == 'radio') || (this.fieldType() == 'select')) { | 104 | if ((this.fieldType() == 'radio') || (this.fieldType() == 'select')) { |
108 | this.append(this.getElement('values'), | 105 | this.append(this.getElement('values'), |
109 | {tag:'select', name:this.formFieldName(), id:this.getId('select'), cls:'formFieldMatchinCardField', children: | 106 | {tag:'select', name:this.formFieldName(), id:this.getId('select'), cls:'formFieldMatchinCardField', children: |
110 | MochiKit.Base.flattenArguments( | 107 | MochiKit.Base.flattenArguments( |
111 | // {tag:'option', value:'---', html:"---"}, | 108 | // {tag:'option', value:'---', html:"---"}, |
112 | MochiKit.Base.map( | 109 | MochiKit.Base.map( |
113 | MochiKit.Base.bind(function (aValue) { return {tag:'option', value:aValue['value'], html:aValue['label']}; }, this), | 110 | MochiKit.Base.bind(function (aValue) { return {tag:'option', value:aValue['value'], html:aValue['label']}; }, this), |
114 | this.optionValues() | 111 | this.optionValues() |
115 | ) | 112 | ) |
116 | ) | 113 | ) |
117 | } | 114 | } |
118 | ); | 115 | ); |
119 | 116 | ||
120 | MochiKit.Signal.connect(this.getElement('select'), 'onchange', this, 'handleSelectChange'); | 117 | MochiKit.Signal.connect(this.getElement('select'), 'onchange', this, 'handleSelectChange'); |
121 | 118 | ||
122 | if (! MochiKit.Base.isUndefinedOrNull(this.initialValue())) { | 119 | if (! MochiKit.Base.isUndefinedOrNull(this.initialValue())) { |
123 | var initiallySelectedOptions; | 120 | var initiallySelectedOptions; |
124 | initiallySelectedOptions = MochiKit.Selector.findChildElements(this.element(), ['option[value=' + this.initialValue() + ']']); | 121 | initiallySelectedOptions = MochiKit.Selector.findChildElements(this.element(), ['option[value=' + this.initialValue() + ']']); |
125 | if (initiallySelectedOptions.length == 1) { | 122 | if (initiallySelectedOptions.length == 1) { |
126 | MochiKit.DOM.updateNodeAttributes(initiallySelectedOptions[0], {selected:true}); | 123 | MochiKit.DOM.updateNodeAttributes(initiallySelectedOptions[0], {selected:true}); |
127 | this.handleSelectChange(); | 124 | this.handleSelectChange(); |
128 | } else { | 125 | } else { |
129 | Clipperz.DOM.Helper.insertBefore(this.getElement('select').childNodes[0], {tag:'option', value:'---', html:"", selected:true}); | 126 | Clipperz.DOM.Helper.insertBefore(this.getElement('select').childNodes[0], {tag:'option', value:'---', html:"", selected:true}); |
130 | } | 127 | } |
131 | } else { | 128 | } else { |
132 | Clipperz.DOM.Helper.insertBefore(this.getElement('select').childNodes[0], {tag:'option', value:'---', html:"", selected:true}); | 129 | Clipperz.DOM.Helper.insertBefore(this.getElement('select').childNodes[0], {tag:'option', value:'---', html:"", selected:true}); |
133 | } | 130 | } |
134 | } else if (this.fieldType() == 'checkbox') { | 131 | } else if (this.fieldType() == 'checkbox') { |
135 | this.append(this.getElement('values'), | 132 | this.append(this.getElement('values'), |
136 | {tag:'input', type:'checkbox', name:this.formFieldName(), id:this.getId('checkbox'), cls:'formFieldMatchinCardField'} | 133 | {tag:'input', type:'checkbox', name:this.formFieldName(), id:this.getId('checkbox'), cls:'formFieldMatchinCardField'} |
137 | ); | 134 | ); |
138 | 135 | ||
139 | MochiKit.Signal.connect(this.getElement('checkbox'), 'onchange', this, 'handleSelectChange'); | 136 | MochiKit.Signal.connect(this.getElement('checkbox'), 'onchange', this, 'handleSelectChange'); |
140 | 137 | ||
141 | if (this.initialValue()) { | 138 | if (this.initialValue()) { |
142 | MochiKit.DOM.updateNodeAttributes(this.getElement('checkbox'), {checked:true}); | 139 | MochiKit.DOM.updateNodeAttributes(this.getElement('checkbox'), {checked:true}); |
143 | } | 140 | } |
144 | } else { | 141 | } else { |
145 | WTF = TODO; | 142 | WTF = TODO; |
146 | } | 143 | } |
147 | //console.log("<<< DirectLoginEditingFormValueComponent.renderSelf"); | 144 | //console.log("<<< DirectLoginEditingFormValueComponent.renderSelf"); |
148 | }, | 145 | }, |
149 | 146 | ||
150 | //========================================================================= | 147 | //========================================================================= |
151 | 148 | ||
152 | 'handleSelectChange': function (anEvent) { | 149 | 'handleSelectChange': function (anEvent) { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginsColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginsColumnManager.js index 1f49575..d8dc941 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginsColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/DirectLoginsColumnManager.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | this._enterLeaveCounter = 0; | 34 | this._enterLeaveCounter = 0; |
38 | this._selectedRowObject = null; | 35 | this._selectedRowObject = null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
46 | 43 | ||
47 | 'toString': function () { | 44 | 'toString': function () { |
48 | return "Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager component"; | 45 | return "Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager component"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'renderHeader': function(aTRElement) { | 50 | 'renderHeader': function(aTRElement) { |
54 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager.superclass.renderHeader.call(this, aTRElement); | 51 | Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager.superclass.renderHeader.call(this, aTRElement); |
55 | 52 | ||
56 | Clipperz.DOM.Helper.append(MochiKit.DOM.currentDocument().body, {tag:'div', cls:'DirectLoginListPopup', id:this.getId('DirectLoginListPopup'), children:[ | 53 | Clipperz.DOM.Helper.append(MochiKit.DOM.currentDocument().body, {tag:'div', cls:'DirectLoginListPopup', id:this.getId('DirectLoginListPopup'), children:[ |
57 | {tag:'div', cls:'DirectLoginListPopup_body', children:[ | 54 | {tag:'div', cls:'DirectLoginListPopup_body', children:[ |
58 | {tag:'ul', id:this.getId('DirectLoginListPopup_list'), children:[ | 55 | {tag:'ul', id:this.getId('DirectLoginListPopup_list'), children:[ |
59 | // {tag:'li', children:[ | 56 | // {tag:'li', children:[ |
60 | // {tag:'img', cls:'favicon', src:'http://www.microsoft.com/favicon.ico'}, | 57 | // {tag:'img', cls:'favicon', src:'http://www.microsoft.com/favicon.ico'}, |
61 | // {tag:'a', href:'#', html:"Google Mail"} | 58 | // {tag:'a', href:'#', html:"Google Mail"} |
62 | // ]}, | 59 | // ]}, |
63 | // ... | 60 | // ... |
64 | ]} | 61 | ]} |
65 | ]}, | 62 | ]}, |
66 | {tag:'div', cls:'DirectLoginListPopup_footer'} | 63 | {tag:'div', cls:'DirectLoginListPopup_footer'} |
67 | ]}); | 64 | ]}); |
68 | 65 | ||
69 | MochiKit.Style.hideElement(this.getId('DirectLoginListPopup')); | 66 | MochiKit.Style.hideElement(this.getId('DirectLoginListPopup')); |
70 | 67 | ||
71 | //BEWARE: use MochiKit.Signal.connect instead of this.connectEvent, as the HEADER is NOT redrawn after each refresh | 68 | //BEWARE: use MochiKit.Signal.connect instead of this.connectEvent, as the HEADER is NOT redrawn after each refresh |
72 | MochiKit.Signal.connect(this.getId('DirectLoginListPopup'), 'onmouseenter', this, 'handleDirectLoginListPopupEnter'); | 69 | MochiKit.Signal.connect(this.getId('DirectLoginListPopup'), 'onmouseenter', this, 'handleDirectLoginListPopupEnter'); |
73 | MochiKit.Signal.connect(this.getId('DirectLoginListPopup'), 'onmouseleave', this, 'handleDirectLoginListPopupLeave'); | 70 | MochiKit.Signal.connect(this.getId('DirectLoginListPopup'), 'onmouseleave', this, 'handleDirectLoginListPopupLeave'); |
74 | }, | 71 | }, |
75 | 72 | ||
76 | //------------------------------------------------------------------------- | 73 | //------------------------------------------------------------------------- |
77 | 74 | ||
78 | 'renderCell': function(aRowElement, anObject) { | 75 | 'renderCell': function(aRowElement, anObject) { |
79 | var i,c; | 76 | var i,c; |
80 | var directLoginsInfo; | 77 | var directLoginsInfo; |
81 | 78 | ||
82 | directLoginsInfo = anObject[this.name()]; | 79 | directLoginsInfo = anObject[this.name()]; |
83 | 80 | ||
84 | TDElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:'card_directLogins'}); | 81 | TDElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:'card_directLogins'}); |
85 | 82 | ||
86 | c = Math.min(2, directLoginsInfo.length); | 83 | c = Math.min(2, directLoginsInfo.length); |
87 | for (i=0; i<c; i++) { | 84 | for (i=0; i<c; i++) { |
88 | var elementID; | 85 | var elementID; |
89 | 86 | ||
90 | elementID = 'directLogin_' + directLoginsInfo[i]['_reference']; | 87 | elementID = 'directLogin_' + directLoginsInfo[i]['_reference']; |
91 | 88 | ||
92 | Clipperz.DOM.Helper.append(TDElement, {tag:'div', cls:'card_directLogin', children:[ | 89 | Clipperz.DOM.Helper.append(TDElement, {tag:'div', cls:'card_directLogin', children:[ |
93 | {tag:'div', cls:'card_directLogin_body', children:[ | 90 | {tag:'div', cls:'card_directLogin_body', children:[ |
94 | {tag:'a', href:'#', id:elementID, html:directLoginsInfo[i]['label']} | 91 | {tag:'a', href:'#', id:elementID, html:directLoginsInfo[i]['label']} |
95 | ]} | 92 | ]} |
96 | ]}); | 93 | ]}); |
97 | // MochiKit.Signal.connect(elementID, 'onclick', MochiKit.Base.method(this, 'handleDirectLoginClick', directLoginsInfo[i]['_rowObject'])); | 94 | // MochiKit.Signal.connect(elementID, 'onclick', MochiKit.Base.method(this, 'handleDirectLoginClick', directLoginsInfo[i]['_rowObject'])); |
98 | this.connectEvent(elementID, 'onclick', MochiKit.Base.method(this, 'handleDirectLoginClick', directLoginsInfo[i]['_rowObject'])); | 95 | this.connectEvent(elementID, 'onclick', MochiKit.Base.method(this, 'handleDirectLoginClick', directLoginsInfo[i]['_rowObject'])); |
99 | } | 96 | } |
100 | 97 | ||
101 | if (directLoginsInfo.length > 2) { | 98 | if (directLoginsInfo.length > 2) { |
102 | var ellipsesElement; | 99 | var ellipsesElement; |
103 | 100 | ||
104 | ellipsesElement = Clipperz.DOM.Helper.append(TDElement, {tag:'div', cls:'card_directLogin_ellipses', children:[ | 101 | ellipsesElement = Clipperz.DOM.Helper.append(TDElement, {tag:'div', cls:'card_directLogin_ellipses', children:[ |
105 | {tag:'div', cls:'card_directLogin_ellipses_body', children:[ | 102 | {tag:'div', cls:'card_directLogin_ellipses_body', children:[ |
106 | {tag:'span', html:'…'} | 103 | {tag:'span', html:'…'} |
107 | ]} | 104 | ]} |
108 | ]}); | 105 | ]}); |
109 | 106 | ||
110 | /// MochiKit.Signal.connect(ellipsesElement, 'onmouseenter', MochiKit.Base.method(this, 'handleEllipsesEnter', anObject)); | 107 | /// MochiKit.Signal.connect(ellipsesElement, 'onmouseenter', MochiKit.Base.method(this, 'handleEllipsesEnter', anObject)); |
111 | /// MochiKit.Signal.connect(ellipsesElement, 'onmouseleave', MochiKit.Base.method(this, 'handleEllipsesLeave')); | 108 | /// MochiKit.Signal.connect(ellipsesElement, 'onmouseleave', MochiKit.Base.method(this, 'handleEllipsesLeave')); |
112 | // MochiKit.Signal.connect(TDElement, 'onmouseleave', MochiKit.Base.method(this, 'handleTDLeave')); | 109 | // MochiKit.Signal.connect(TDElement, 'onmouseleave', MochiKit.Base.method(this, 'handleTDLeave')); |
113 | this.connectEvent(TDElement, 'onmouseleave', MochiKit.Base.method(this, 'handleTDLeave')); | 110 | this.connectEvent(TDElement, 'onmouseleave', MochiKit.Base.method(this, 'handleTDLeave')); |
114 | } | 111 | } |
115 | // MochiKit.Signal.connect(TDElement, 'onmouseenter', MochiKit.Base.method(this, 'handleTDEnter', anObject)); | 112 | // MochiKit.Signal.connect(TDElement, 'onmouseenter', MochiKit.Base.method(this, 'handleTDEnter', anObject)); |
116 | this.connectEvent(TDElement, 'onmouseenter', MochiKit.Base.method(this, 'handleTDEnter', anObject)); | 113 | this.connectEvent(TDElement, 'onmouseenter', MochiKit.Base.method(this, 'handleTDEnter', anObject)); |
117 | 114 | ||
118 | }, | 115 | }, |
119 | 116 | ||
120 | //========================================================================= | 117 | //========================================================================= |
121 | /* | 118 | /* |
122 | 'handleEllipsesEnter': function (aRecordInfo, anEvent) { | 119 | 'handleEllipsesEnter': function (aRecordInfo, anEvent) { |
123 | this._enterLeaveCounter ++; | 120 | this._enterLeaveCounter ++; |
124 | if (this._enterLeaveCounter > 2) { | 121 | if (this._enterLeaveCounter > 2) { |
125 | this._enterLeaveCounter = 2; | 122 | this._enterLeaveCounter = 2; |
126 | } | 123 | } |
127 | 124 | ||
128 | if (this._enterLeaveCounter == 1) { | 125 | if (this._enterLeaveCounter == 1) { |
129 | this.showDirectLoginListPopup(aRecordInfo, anEvent.src()); | 126 | this.showDirectLoginListPopup(aRecordInfo, anEvent.src()); |
130 | } | 127 | } |
131 | }, | 128 | }, |
132 | 129 | ||
133 | 'handleEllipsesLeave': function (anEvent) { | 130 | 'handleEllipsesLeave': function (anEvent) { |
134 | this._enterLeaveCounter --; | 131 | this._enterLeaveCounter --; |
135 | 132 | ||
136 | MochiKit.Async.callLater(0.3, MochiKit.Base.bind(function () { | 133 | MochiKit.Async.callLater(0.3, MochiKit.Base.bind(function () { |
137 | if (this._enterLeaveCounter == 0) { | 134 | if (this._enterLeaveCounter == 0) { |
138 | this.hideDirectLoginListPopup(); | 135 | this.hideDirectLoginListPopup(); |
139 | } | 136 | } |
140 | }, this)) | 137 | }, this)) |
141 | }, | 138 | }, |
142 | */ | 139 | */ |
143 | //------------------------------------------------------------------------- | 140 | //------------------------------------------------------------------------- |
144 | 141 | ||
145 | 'handleTDEnter': function (aRecordInfo, anEvent) { | 142 | 'handleTDEnter': function (aRecordInfo, anEvent) { |
146 | if (MochiKit.Selector.findChildElements(anEvent.src(), ['div.card_directLogin_ellipses']).length > 0) { | 143 | if (MochiKit.Selector.findChildElements(anEvent.src(), ['div.card_directLogin_ellipses']).length > 0) { |
147 | this._enterLeaveCounter ++; | 144 | this._enterLeaveCounter ++; |
148 | if (this._enterLeaveCounter > 2) { | 145 | if (this._enterLeaveCounter > 2) { |
149 | this._enterLeaveCounter = 2; | 146 | this._enterLeaveCounter = 2; |
150 | } | 147 | } |
151 | 148 | ||
152 | if (this._enterLeaveCounter == 1) { | 149 | if (this._enterLeaveCounter == 1) { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/FaviconColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/FaviconColumnManager.js index 19d1635..6297002 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/FaviconColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/FaviconColumnManager.js | |||
@@ -1,89 +1,86 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.FaviconColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.FaviconColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.FaviconColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.FaviconColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.FaviconColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.FaviconColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return "Clipperz.PM.UI.Web.Components.FaviconColumnManager component"; | 42 | return "Clipperz.PM.UI.Web.Components.FaviconColumnManager component"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'renderCell': function(aRowElement, anObject) { | 47 | 'renderCell': function(aRowElement, anObject) { |
51 | varfaviconImageElement; | 48 | varfaviconImageElement; |
52 | var faviconUrl; | 49 | var faviconUrl; |
53 | 50 | ||
54 | faviconImageElement = this.getId('favicon'); | 51 | faviconImageElement = this.getId('favicon'); |
55 | faviconUrl = anObject[this.name()]; | 52 | faviconUrl = anObject[this.name()]; |
56 | 53 | ||
57 | if (faviconUrl == null) { | 54 | if (faviconUrl == null) { |
58 | faviconUrl = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); | 55 | faviconUrl = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); |
59 | } | 56 | } |
60 | 57 | ||
61 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 58 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
62 | {tag:'img', id:faviconImageElement, src:faviconUrl} | 59 | {tag:'img', id:faviconImageElement, src:faviconUrl} |
63 | ]}); | 60 | ]}); |
64 | 61 | ||
65 | MochiKit.Signal.connect(faviconImageElement, 'onload', this, 'handleLoadedFaviconImage'); | 62 | MochiKit.Signal.connect(faviconImageElement, 'onload', this, 'handleLoadedFaviconImage'); |
66 | MochiKit.Signal.connect(faviconImageElement, 'onerror', this, 'handleMissingFaviconImage'); | 63 | MochiKit.Signal.connect(faviconImageElement, 'onerror', this, 'handleMissingFaviconImage'); |
67 | MochiKit.Signal.connect(faviconImageElement, 'onabort', this, 'handleMissingFaviconImage'); | 64 | MochiKit.Signal.connect(faviconImageElement, 'onabort', this, 'handleMissingFaviconImage'); |
68 | }, | 65 | }, |
69 | 66 | ||
70 | //----------------------------------------------------- | 67 | //----------------------------------------------------- |
71 | 68 | ||
72 | 'handleLoadedFaviconImage': function(anEvent) { | 69 | 'handleLoadedFaviconImage': function(anEvent) { |
73 | MochiKit.Signal.disconnectAllTo(anEvent.src()); | 70 | MochiKit.Signal.disconnectAllTo(anEvent.src()); |
74 | if (anEvent.src().complete == false) { | 71 | if (anEvent.src().complete == false) { |
75 | anEvent.src().src = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); | 72 | anEvent.src().src = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); |
76 | } | 73 | } |
77 | }, | 74 | }, |
78 | 75 | ||
79 | //----------------------------------------------------- | 76 | //----------------------------------------------------- |
80 | 77 | ||
81 | 'handleMissingFaviconImage': function(anEvent) { | 78 | 'handleMissingFaviconImage': function(anEvent) { |
82 | MochiKit.Signal.disconnectAllTo(anEvent.src()); | 79 | MochiKit.Signal.disconnectAllTo(anEvent.src()); |
83 | anEvent.src().src = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); | 80 | anEvent.src().src = Clipperz.PM.Strings.getValue('defaultFaviconUrl'); |
84 | }, | 81 | }, |
85 | 82 | ||
86 | //----------------------------------------------------- | 83 | //----------------------------------------------------- |
87 | '__syntax_fix__' : 'syntax fix' | 84 | '__syntax_fix__' : 'syntax fix' |
88 | }); | 85 | }); |
89 | 86 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/GridComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/GridComponent.js index 8b3e6c9..51d55f4 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/GridComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/GridComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.GridComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.GridComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.GridComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.GridComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._columnsManagers = args.columnsManagers; | 33 | this._columnsManagers = args.columnsManagers; |
37 | 34 | ||
38 | this._rowsObjects = []; | 35 | this._rowsObjects = []; |
39 | this._noRowsGridComponent = null; | 36 | this._noRowsGridComponent = null; |
40 | 37 | ||
41 | this._slots = { | 38 | this._slots = { |
42 | 'headerSlot':this.getId('headerSlot') | 39 | 'headerSlot':this.getId('headerSlot') |
43 | }; | 40 | }; |
44 | 41 | ||
45 | return this; | 42 | return this; |
46 | } | 43 | } |
47 | 44 | ||
48 | //============================================================================= | 45 | //============================================================================= |
49 | 46 | ||
50 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.GridComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 47 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.GridComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
51 | 48 | ||
52 | //------------------------------------------------------------------------- | 49 | //------------------------------------------------------------------------- |
53 | 50 | ||
54 | 'toString': function () { | 51 | 'toString': function () { |
55 | return "Clipperz.PM.UI.Web.Components.GridComponent component"; | 52 | return "Clipperz.PM.UI.Web.Components.GridComponent component"; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | //------------------------------------------------------------------------- | 55 | //------------------------------------------------------------------------- |
59 | 56 | ||
60 | 'rows': function () { | 57 | 'rows': function () { |
61 | throw Clipperz.Base.exception.AbstractMethod; | 58 | throw Clipperz.Base.exception.AbstractMethod; |
62 | // return this._rows; | 59 | // return this._rows; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'columnsManagers': function () { | 64 | 'columnsManagers': function () { |
68 | return this._columnsManagers; | 65 | return this._columnsManagers; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | //------------------------------------------------------------------------- | 68 | //------------------------------------------------------------------------- |
72 | 69 | ||
73 | 'renderSelf': function(/*aContainer, aPosition*/) { | 70 | 'renderSelf': function(/*aContainer, aPosition*/) { |
74 | this.append(this.element(), [ | 71 | this.append(this.element(), [ |
75 | {tag:'div', cls:'header', children:[ | 72 | {tag:'div', cls:'header', children:[ |
76 | {tag:'form', id:this.getId('searchForm'), cls:'search', children:[ | 73 | {tag:'form', id:this.getId('searchForm'), cls:'search', children:[ |
77 | {tag:'div', cls:'search', children:[ | 74 | {tag:'div', cls:'search', children:[ |
78 | {tag:'input', type:'text', id:this.getId('search'), cls:'search', placeholder:"search", name:'textToSearch'/*, value:"clipperz"*/} | 75 | {tag:'input', type:'text', id:this.getId('search'), cls:'search', placeholder:"search", name:'textToSearch'/*, value:"clipperz"*/} |
79 | ]}, | 76 | ]}, |
80 | {tag:'div', cls:'clearSearchButton', id:this.getId('clearSearch')}, | 77 | {tag:'div', cls:'clearSearchButton', id:this.getId('clearSearch')}, |
81 | // {tag:'input', type:'button', cls:'searchButton', name:'searchButton', value:"search"}, | 78 | // {tag:'input', type:'button', cls:'searchButton', name:'searchButton', value:"search"}, |
82 | {tag:'div', cls:'headerSlot', id:this.getId('headerSlot')} | 79 | {tag:'div', cls:'headerSlot', id:this.getId('headerSlot')} |
83 | ]} | 80 | ]} |
84 | ]}, | 81 | ]}, |
85 | {tag:'div', cls:'body', children:[ | 82 | {tag:'div', cls:'body', children:[ |
86 | {tag:'div', cls:'rows', id:this.getId('rows'), children:[ | 83 | {tag:'div', cls:'rows', id:this.getId('rows'), children:[ |
87 | {tag:'table', cellpadding:'0', cellspacing:'0', cls:'rows', children:[ | 84 | {tag:'table', cellpadding:'0', cellspacing:'0', cls:'rows', children:[ |
88 | {tag:'thead', children:[ | 85 | {tag:'thead', children:[ |
89 | {tag:'tr', id:this.getId('thead_tr'), children:[]} | 86 | {tag:'tr', id:this.getId('thead_tr'), children:[]} |
90 | ]}, | 87 | ]}, |
91 | {tag:'tbody', id:this.getId('gridRows'), children:[]} | 88 | {tag:'tbody', id:this.getId('gridRows'), children:[]} |
92 | ]} | 89 | ]} |
93 | ]}, | 90 | ]}, |
94 | {tag:'div', cls:'noRowsBlock', id:this.getId('noRowsBlock'), children:[]} | 91 | {tag:'div', cls:'noRowsBlock', id:this.getId('noRowsBlock'), children:[]} |
95 | ]}, | 92 | ]}, |
96 | {tag:'div', cls:'footer'} | 93 | {tag:'div', cls:'footer'} |
97 | ]); | 94 | ]); |
98 | 95 | ||
99 | this.renderHeader(); | 96 | this.renderHeader(); |
100 | MochiKit.Signal.connect(this.getId('clearSearch'), 'onclick', this, 'clearSearchHandler'); | 97 | MochiKit.Signal.connect(this.getId('clearSearch'), 'onclick', this, 'clearSearchHandler'); |
101 | }, | 98 | }, |
102 | 99 | ||
103 | //------------------------------------------------------------------------- | 100 | //------------------------------------------------------------------------- |
104 | 101 | ||
105 | 'renderHeader': function () { | 102 | 'renderHeader': function () { |
106 | var headerElement; | 103 | var headerElement; |
107 | 104 | ||
108 | headerElement = this.getElement('thead_tr'); | 105 | headerElement = this.getElement('thead_tr'); |
109 | headerElement.innerHTML = ""; | 106 | headerElement.innerHTML = ""; |
110 | 107 | ||
111 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { | 108 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { |
112 | aColumnManager.renderHeader(headerElement); | 109 | aColumnManager.renderHeader(headerElement); |
113 | }); | 110 | }); |
114 | }, | 111 | }, |
115 | 112 | ||
116 | //------------------------------------------------------------------------- | 113 | //------------------------------------------------------------------------- |
117 | 114 | ||
118 | 'update': function (someObjects) { | 115 | 'update': function (someObjects) { |
119 | this._rowsObjects = someObjects | 116 | this._rowsObjects = someObjects |
120 | this.refresh(); | 117 | this.refresh(); |
121 | this.focus(); | 118 | this.focus(); |
122 | }, | 119 | }, |
123 | 120 | ||
124 | 'focus': function () { | 121 | 'focus': function () { |
125 | this.getElement('search').focus(); | 122 | this.getElement('search').focus(); |
126 | }, | 123 | }, |
127 | 124 | ||
128 | //------------------------------------------------------------------------- | 125 | //------------------------------------------------------------------------- |
129 | 126 | ||
130 | 'startSearch': function () { | 127 | 'startSearch': function () { |
131 | //console.log("--> startSearch"); | 128 | //console.log("--> startSearch"); |
132 | MochiKit.DOM.addElementClass(this.getElement('search'), 'running'); | 129 | MochiKit.DOM.addElementClass(this.getElement('search'), 'running'); |
133 | }, | 130 | }, |
134 | 131 | ||
135 | 'endSearch': function () { | 132 | 'endSearch': function () { |
136 | MochiKit.DOM.removeElementClass(this.getElement('search'), 'running'); | 133 | MochiKit.DOM.removeElementClass(this.getElement('search'), 'running'); |
137 | //console.log("<-- startSearch"); | 134 | //console.log("<-- startSearch"); |
138 | }, | 135 | }, |
139 | 136 | ||
140 | //------------------------------------------------------------------------- | 137 | //------------------------------------------------------------------------- |
141 | 138 | ||
142 | 'disconnectColumnManagersRowsSignals': function () { | 139 | 'disconnectColumnManagersRowsSignals': function () { |
143 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { | 140 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { |
144 | aColumnManager.disconnectRowsSignals(); | 141 | aColumnManager.disconnectRowsSignals(); |
145 | }); | 142 | }); |
146 | }, | 143 | }, |
147 | 144 | ||
148 | //------------------------------------------------------------------------- | 145 | //------------------------------------------------------------------------- |
149 | 146 | ||
150 | 'refresh': function () { | 147 | 'refresh': function () { |
151 | var gridRowsElement; | 148 | var gridRowsElement; |
152 | var rowClass; | 149 | var rowClass; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ImageColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ImageColumnManager.js index 07b8dcc..3e03fcf 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ImageColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ImageColumnManager.js | |||
@@ -1,68 +1,65 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.ImageColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.ImageColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.ImageColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.ImageColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ImageColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ImageColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return "Clipperz.PM.UI.Web.Components.ImageColumnManager component"; | 42 | return "Clipperz.PM.UI.Web.Components.ImageColumnManager component"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'renderCell': function(aRowElement, anObject) { | 47 | 'renderCell': function(aRowElement, anObject) { |
51 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 48 | Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
52 | {tag:'img', src:anObject[this.name()]} | 49 | {tag:'img', src:anObject[this.name()]} |
53 | ]}); | 50 | ]}); |
54 | 51 | ||
55 | // return Clipperz.Async.callbacks("ImageColumnManager.renderCell", [ | 52 | // return Clipperz.Async.callbacks("ImageColumnManager.renderCell", [ |
56 | // this.selector(), | 53 | // this.selector(), |
57 | // MochiKit.Base.bind(function (aValue) { | 54 | // MochiKit.Base.bind(function (aValue) { |
58 | // Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 55 | // Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
59 | // {tag:'img', src:aValue} | 56 | // {tag:'img', src:aValue} |
60 | // ]}); | 57 | // ]}); |
61 | // }, this) | 58 | // }, this) |
62 | // ], {trace:false}, anObject); | 59 | // ], {trace:false}, anObject); |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //----------------------------------------------------- | 62 | //----------------------------------------------------- |
66 | '__syntax_fix__' : 'syntax fix' | 63 | '__syntax_fix__' : 'syntax fix' |
67 | }); | 64 | }); |
68 | 65 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LinkColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LinkColumnManager.js index e833190..f3f9cd5 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LinkColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LinkColumnManager.js | |||
@@ -1,92 +1,89 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.LinkColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.LinkColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.LinkColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.LinkColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | this._actionMethod = args.actionMethod || null; | 34 | this._actionMethod = args.actionMethod || null; |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | //============================================================================= | 39 | //============================================================================= |
43 | 40 | ||
44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LinkColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LinkColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
45 | 42 | ||
46 | 'toString': function () { | 43 | 'toString': function () { |
47 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; | 44 | return "Clipperz.PM.UI.Web.Components.DateColumnManager component"; |
48 | }, | 45 | }, |
49 | 46 | ||
50 | //------------------------------------------------------------------------- | 47 | //------------------------------------------------------------------------- |
51 | 48 | ||
52 | 'actionMethod': function () { | 49 | 'actionMethod': function () { |
53 | return this._actionMethod; | 50 | return this._actionMethod; |
54 | }, | 51 | }, |
55 | 52 | ||
56 | //------------------------------------------------------------------------- | 53 | //------------------------------------------------------------------------- |
57 | 54 | ||
58 | 'renderCell': function(aRowElement, anObject) { | 55 | 'renderCell': function(aRowElement, anObject) { |
59 | vartdElement; | 56 | vartdElement; |
60 | varlinkElement; | 57 | varlinkElement; |
61 | 58 | ||
62 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ | 59 | tdElement = Clipperz.DOM.Helper.append(aRowElement, {tag:'td', cls:this.cssClass(), children:[ |
63 | {tag:'span', children:[ | 60 | {tag:'span', children:[ |
64 | {tag:'a', href:'#', html:anObject[this.name()]} | 61 | {tag:'a', href:'#', html:anObject[this.name()]} |
65 | ]} | 62 | ]} |
66 | ]}); | 63 | ]}); |
67 | 64 | ||
68 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); | 65 | linkElement = MochiKit.DOM.getFirstElementByTagAndClassName('a', null, tdElement); |
69 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 66 | // MochiKit.Signal.connect(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
70 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); | 67 | this.connectEvent(linkElement, 'onclick', MochiKit.Base.method(this, 'handleLinkClick', anObject['_rowObject'])); |
71 | }, | 68 | }, |
72 | 69 | ||
73 | //----------------------------------------------------- | 70 | //----------------------------------------------------- |
74 | 71 | ||
75 | 'handleLinkClick': function (anObject, anEvent) { | 72 | 'handleLinkClick': function (anObject, anEvent) { |
76 | anEvent.preventDefault(); | 73 | anEvent.preventDefault(); |
77 | 74 | ||
78 | if (this.actionMethod() != null) { | 75 | if (this.actionMethod() != null) { |
79 | var deferredResult; | 76 | var deferredResult; |
80 | 77 | ||
81 | deferredResult = new Clipperz.Async.Deferred("LinkColumnManager.handleLinkClick", {trace:false}); | 78 | deferredResult = new Clipperz.Async.Deferred("LinkColumnManager.handleLinkClick", {trace:false}); |
82 | // deferredResult.addCallbackPass(MochiKit.Signal.signal, this, 'selectRow', anObject); | 79 | // deferredResult.addCallbackPass(MochiKit.Signal.signal, this, 'selectRow', anObject); |
83 | deferredResult.addCallback(this.actionMethod(), anObject, anEvent); | 80 | deferredResult.addCallback(this.actionMethod(), anObject, anEvent); |
84 | // deferredResult.addBothPass(MochiKit.Signal.signal, this, 'unselectRow', anObject); | 81 | // deferredResult.addBothPass(MochiKit.Signal.signal, this, 'unselectRow', anObject); |
85 | deferredResult.callback(); | 82 | deferredResult.callback(); |
86 | } | 83 | } |
87 | }, | 84 | }, |
88 | 85 | ||
89 | //----------------------------------------------------- | 86 | //----------------------------------------------------- |
90 | '__syntax_fix__' : 'syntax fix' | 87 | '__syntax_fix__' : 'syntax fix' |
91 | }); | 88 | }); |
92 | 89 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js index de20853..389d876 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.LoginForm = function(args) { | 28 | Clipperz.PM.UI.Web.Components.LoginForm = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | this._autocomplete = args.autocomplete || 'off'; | 31 | this._autocomplete = args.autocomplete || 'off'; |
35 | 32 | ||
36 | Clipperz.PM.UI.Web.Components.LoginForm.superclass.constructor.apply(this, arguments); | 33 | Clipperz.PM.UI.Web.Components.LoginForm.superclass.constructor.apply(this, arguments); |
37 | 34 | ||
38 | this._slots = { | 35 | this._slots = { |
39 | 'passphraseEntropy':this.getId('passphraseEntropy') | 36 | 'passphraseEntropy':this.getId('passphraseEntropy') |
40 | }; | 37 | }; |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Web.Components.LoginForm component"; | 49 | return "Clipperz.PM.UI.Web.Components.LoginForm component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | 'autocomplete': function () { | 52 | 'autocomplete': function () { |
56 | return this._autocomplete; | 53 | return this._autocomplete; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | //------------------------------------------------------------------------- | 56 | //------------------------------------------------------------------------- |
60 | 57 | ||
61 | 'renderSelf': function() { | 58 | 'renderSelf': function() { |
62 | this.append(this.element(), {tag:'div', id:'loginBox', children:[ | 59 | this.append(this.element(), {tag:'div', id:'loginBox', children:[ |
63 | {tag:'div', cls:'header'}, | 60 | {tag:'div', cls:'header'}, |
64 | {tag:'div', cls:'body', id:this.getId('body'), children:[ | 61 | {tag:'div', cls:'body', id:this.getId('body'), children:[ |
65 | {tag:'div', id:this.getId('loginForm'), children:[ | 62 | {tag:'div', id:this.getId('loginForm'), children:[ |
66 | {tag:'div', children:[ | 63 | {tag:'div', children:[ |
67 | {tag:'h4', html:'Login'}, | 64 | {tag:'h4', html:'Login'}, |
68 | // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[ | 65 | // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[ |
69 | {tag:'form', id:this.getId('form'), cls:'loginForm', children:[ | 66 | {tag:'form', id:this.getId('form'), cls:'loginForm', children:[ |
70 | {tag:'label', html:'username', 'for':this.getId('usernameField')}, | 67 | {tag:'label', html:'username', 'for':this.getId('usernameField')}, |
71 | {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'/*, value:'joe'*/}, | 68 | {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'/*, value:'joe'*/}, |
72 | {tag:'ul', id:this.getId('passwordOptions'), children:[ | 69 | {tag:'ul', id:this.getId('passwordOptions'), children:[ |
73 | {tag:'li', id:this.getId('passphraseOption'), children:[ | 70 | {tag:'li', id:this.getId('passphraseOption'), children:[ |
74 | {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')}, | 71 | {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')}, |
75 | {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'/*, value:'clipperz'*/} | 72 | {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'/*, value:'clipperz'*/} |
76 | ]} //, | 73 | ]} //, |
77 | /* | 74 | /* |
78 | {tag:'li', id:this.getId('otpOption'), children:[ | 75 | {tag:'li', id:this.getId('otpOption'), children:[ |
79 | {tag:'label', html:'one-time password', 'for':this.getId('otpField_1')}, | 76 | {tag:'label', html:'one-time password', 'for':this.getId('otpField_1')}, |
80 | {tag:'input', id:this.getId('otpField_1'), type:'text', cls:'otp', value:'abcd-efgh'}, | 77 | {tag:'input', id:this.getId('otpField_1'), type:'text', cls:'otp', value:'abcd-efgh'}, |
81 | {tag:'input', id:this.getId('otpField_2'), type:'text', cls:'otp', value:'abcd-efgh'}, | 78 | {tag:'input', id:this.getId('otpField_2'), type:'text', cls:'otp', value:'abcd-efgh'}, |
82 | {tag:'input', id:this.getId('otpField_3'), type:'text', cls:'otp', value:'abcd-efgh'}, | 79 | {tag:'input', id:this.getId('otpField_3'), type:'text', cls:'otp', value:'abcd-efgh'}, |
83 | {tag:'input', id:this.getId('otpField_4'), type:'text', cls:'otp', value:'abcd-efgh'} | 80 | {tag:'input', id:this.getId('otpField_4'), type:'text', cls:'otp', value:'abcd-efgh'} |
84 | ]} | 81 | ]} |
85 | */ | 82 | */ |
86 | ]}, | 83 | ]}, |
87 | // {tag:'input', id:this.getId('otpCheckbox'), type:'checkbox', cls:'checkbox'}, | 84 | // {tag:'input', id:this.getId('otpCheckbox'), type:'checkbox', cls:'checkbox'}, |
88 | // {tag:'label', html:'use a one-time passphrase', 'for':this.getId('otpCheckbox'), cls:'checkbox'}, | 85 | // {tag:'label', html:'use a one-time passphrase', 'for':this.getId('otpCheckbox'), cls:'checkbox'}, |
89 | 86 | ||
90 | {tag:'div', cls:'translations', children:[ | 87 | {tag:'div', cls:'translations', children:[ |
91 | {tag:'h4', html:'choose your language'}, | 88 | {tag:'h4', html:'choose your language'}, |
92 | {tag:'ul', children:[ | 89 | {tag:'ul', children:[ |
93 | {tag:'li', cls:'selected', html:'english'}, | 90 | {tag:'li', cls:'selected', html:'english'}, |
94 | {tag:'li', html:'italiano'}, | 91 | {tag:'li', html:'italiano'}, |
95 | {tag:'li', html:'dutch'}, | 92 | {tag:'li', html:'dutch'}, |
96 | {tag:'li', html:'french'}, | 93 | {tag:'li', html:'french'}, |
97 | {tag:'li', html:'spanish'}, | 94 | {tag:'li', html:'spanish'}, |
98 | {tag:'li', html:'chinese'}, | 95 | {tag:'li', html:'chinese'}, |
99 | {tag:'li', html:'japanese'}, | 96 | {tag:'li', html:'japanese'}, |
100 | {tag:'li', html:'portugal'}, | 97 | {tag:'li', html:'portugal'}, |
101 | {tag:'li', html:'arabic'} | 98 | {tag:'li', html:'arabic'} |
102 | ]} | 99 | ]} |
103 | ]}, | 100 | ]}, |
104 | 101 | ||
105 | {tag:'input', id:this.getId('submitButton'), type:'submit', value:'login', cls:'submit'} | 102 | {tag:'input', id:this.getId('submitButton'), type:'submit', value:'login', cls:'submit'} |
106 | ]} | 103 | ]} |
107 | ]} | 104 | ]} |
108 | ]} | 105 | ]} |
109 | ]}, | 106 | ]}, |
110 | {tag:'div', cls:'footer'} | 107 | {tag:'div', cls:'footer'} |
111 | ]}); | 108 | ]}); |
112 | 109 | ||
113 | if (this.autocomplete() == 'off') { | 110 | if (this.autocomplete() == 'off') { |
114 | MochiKit.DOM.updateNodeAttributes(this.getElement('form'), {autocomplete:'off'}); | 111 | MochiKit.DOM.updateNodeAttributes(this.getElement('form'), {autocomplete:'off'}); |
115 | } | 112 | } |
116 | 113 | ||
117 | // Clipperz.Style.setBackgroundGradient(this.getElement('body'), {from:"#ff9955", to:"#ff6622"}) | 114 | // Clipperz.Style.setBackgroundGradient(this.getElement('body'), {from:"#ff9955", to:"#ff6622"}) |
118 | 115 | ||
119 | // this.setEntropyDisplay(new Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay(this.getElement('passphraseField'))); | 116 | // this.setEntropyDisplay(new Clipperz.PM.UI.Common.Components.PasswordEntropyDisplay(this.getElement('passphraseField'))); |
120 | 117 | ||
121 | // MochiKit.Signal.connect(this.getId('otpCheckbox'), 'onclick', this, 'togglePasswordFields'); | 118 | // MochiKit.Signal.connect(this.getId('otpCheckbox'), 'onclick', this, 'togglePasswordFields'); |
122 | // this.showPassphraseField(); | 119 | // this.showPassphraseField(); |
123 | 120 | ||
124 | this.getElement('usernameField').focus(); | 121 | this.getElement('usernameField').focus(); |
125 | 122 | ||
126 | MochiKit.Signal.connect(this.getElement('loginForm'), 'onsubmit', this, 'loginEventHandler'); | 123 | MochiKit.Signal.connect(this.getElement('loginForm'), 'onsubmit', this, 'loginEventHandler'); |
127 | }, | 124 | }, |
128 | 125 | ||
129 | //----------------------------------------------------------------------------- | 126 | //----------------------------------------------------------------------------- |
130 | /* | 127 | /* |
131 | 'togglePasswordFields': function(anEvent) { | 128 | 'togglePasswordFields': function(anEvent) { |
132 | var shouldUseOTP; | 129 | var shouldUseOTP; |
133 | 130 | ||
134 | shouldUseOTP = this.getElement('otpCheckbox').checked; | 131 | shouldUseOTP = this.getElement('otpCheckbox').checked; |
135 | 132 | ||
136 | if (shouldUseOTP == false) { | 133 | if (shouldUseOTP == false) { |
137 | this.showPassphraseField(); | 134 | this.showPassphraseField(); |
138 | } else { | 135 | } else { |
139 | this.showOTPFields(); | 136 | this.showOTPFields(); |
140 | } | 137 | } |
141 | }, | 138 | }, |
142 | */ | 139 | */ |
143 | //----------------------------------------------------------------------------- | 140 | //----------------------------------------------------------------------------- |
144 | /* | 141 | /* |
145 | 'showPassphraseField': function() { | 142 | 'showPassphraseField': function() { |
146 | this.showElement('passphraseOption'); | 143 | this.showElement('passphraseOption'); |
147 | this.hideElement('otpOption'); | 144 | this.hideElement('otpOption'); |
148 | }, | 145 | }, |
149 | */ | 146 | */ |
150 | //----------------------------------------------------------------------------- | 147 | //----------------------------------------------------------------------------- |
151 | 148 | ||
152 | 'focusOnPassphraseField': function () { | 149 | 'focusOnPassphraseField': function () { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginPage.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginPage.js index 49c030d..2894af8 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginPage.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginPage.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.LoginPage = function(args) { | 28 | Clipperz.PM.UI.Web.Components.LoginPage = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.LoginPage.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.LoginPage.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._slots = { | 33 | this._slots = { |
37 | 'loginForm':this.getId('loginBoxSlot') | 34 | 'loginForm':this.getId('loginBoxSlot') |
38 | }; | 35 | }; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginPage, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginPage, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.LoginPage component"; | 47 | return "Clipperz.PM.UI.Web.Components.LoginPage component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'renderSelf': function(/*aContainer, aPosition*/) { | 52 | 'renderSelf': function(/*aContainer, aPosition*/) { |
56 | this.append(this.element(), [ | 53 | this.append(this.element(), [ |
57 | {tag:'div', id:this.getId('loginBoxSlot')}, | 54 | {tag:'div', id:this.getId('loginBoxSlot')}, |
58 | {tag:'div', id:'main', children:[ | 55 | {tag:'div', id:'main', children:[ |
59 | {tag:'div', id:'featurePoints', children:[ | 56 | {tag:'div', id:'featurePoints', children:[ |
60 | {tag:'table', children:[ | 57 | {tag:'table', children:[ |
61 | {tag:'tr', children:[ | 58 | {tag:'tr', children:[ |
62 | {tag:'td', children:[ | 59 | {tag:'td', children:[ |
63 | {tag:'div', cls:'block', children:[ | 60 | {tag:'div', cls:'block', children:[ |
64 | {tag:'h3', html:'Clipperz is:'}, | 61 | {tag:'h3', html:'Clipperz is:'}, |
65 | {tag:'ul', children:[ | 62 | {tag:'ul', children:[ |
66 | {tag:'li', html:'a secure and simple password manager'}, | 63 | {tag:'li', html:'a secure and simple password manager'}, |
67 | {tag:'li', html:'an effective single sign-on solution'}, | 64 | {tag:'li', html:'an effective single sign-on solution'}, |
68 | {tag:'li', html:'a digital vault for your personal data'} | 65 | {tag:'li', html:'a digital vault for your personal data'} |
69 | ]} | 66 | ]} |
70 | ]}, | 67 | ]}, |
71 | {tag:'div', cls:'block', children:[ | 68 | {tag:'div', cls:'block', children:[ |
72 | {tag:'h3', html:'Clipperz benefits:'}, | 69 | {tag:'h3', html:'Clipperz benefits:'}, |
73 | {tag:'ul', children:[ | 70 | {tag:'ul', children:[ |
74 | {tag:'li', html:'free and completely anonymous'}, | 71 | {tag:'li', html:'free and completely anonymous'}, |
75 | {tag:'li', html:'access it any time from any computer'}, | 72 | {tag:'li', html:'access it any time from any computer'}, |
76 | {tag:'li', html:'no software to download and nothing to install'}, | 73 | {tag:'li', html:'no software to download and nothing to install'}, |
77 | {tag:'li', html:'avoid keeping secrets on your PC or on paper'} | 74 | {tag:'li', html:'avoid keeping secrets on your PC or on paper'} |
78 | ]} | 75 | ]} |
79 | ]} | 76 | ]} |
80 | ]}, {tag:'td', children:[ | 77 | ]}, {tag:'td', children:[ |
81 | {tag:'div', cls:'block', children:[ | 78 | {tag:'div', cls:'block', children:[ |
82 | {tag:'h3', html:'Clipperz security:'}, | 79 | {tag:'h3', html:'Clipperz security:'}, |
83 | {tag:'ul', children:[ | 80 | {tag:'ul', children:[ |
84 | {tag:'li', html:'your secretes are locally encrypted by your browser before being uploaded to Clipperz'}, | 81 | {tag:'li', html:'your secretes are locally encrypted by your browser before being uploaded to Clipperz'}, |
85 | {tag:'li', html:'the encryption key is a passphrase known only to you'}, | 82 | {tag:'li', html:'the encryption key is a passphrase known only to you'}, |
86 | {tag:'li', html:'Clipperz hosts your sensitive data in an encrypted form and could never access the data in its plain form'}, | 83 | {tag:'li', html:'Clipperz hosts your sensitive data in an encrypted form and could never access the data in its plain form'}, |
87 | {tag:'li', html:'Clipperz is built upon standard encryption schemes, nothing fancies of homemade'}, | 84 | {tag:'li', html:'Clipperz is built upon standard encryption schemes, nothing fancies of homemade'}, |
88 | {tag:'li', html:'you can review the source code anytime you like, but you need to know nothing about cryptography to be an happy user!'} | 85 | {tag:'li', html:'you can review the source code anytime you like, but you need to know nothing about cryptography to be an happy user!'} |
89 | ]} | 86 | ]} |
90 | ]} | 87 | ]} |
91 | ]} | 88 | ]} |
92 | ]} | 89 | ]} |
93 | ]} | 90 | ]} |
94 | ]}, | 91 | ]}, |
95 | {tag:'div', cls:'activeFeatures', children:[ | 92 | {tag:'div', cls:'activeFeatures', children:[ |
96 | {tag:'div', id:this.getId('registerButton'), cls:'createAccountLink', children:[ | 93 | {tag:'div', id:this.getId('registerButton'), cls:'createAccountLink', children:[ |
97 | {tag:'canvas', id:this.getId('registerButtonIcon')}, | 94 | {tag:'canvas', id:this.getId('registerButtonIcon')}, |
98 | {tag:'a', href:'#', id:this.getId('createAccountLink'), cls:'createAccountLink', children:[ | 95 | {tag:'a', href:'#', id:this.getId('createAccountLink'), cls:'createAccountLink', children:[ |
99 | {tag:'span', cls:'payoff', html:"Free sign up!"}, | 96 | {tag:'span', cls:'payoff', html:"Free sign up!"}, |
100 | {tag:'span', cls:'link', html:"Create account >>"} | 97 | {tag:'span', cls:'link', html:"Create account >>"} |
101 | ]} | 98 | ]} |
102 | ]}, | 99 | ]}, |
103 | {tag:'div', cls:'keepTogether', children:[ | 100 | {tag:'div', cls:'keepTogether', children:[ |
104 | {tag:'div', id:this.getId('screenshotLink'), cls:'screenshotLink', children:[ | 101 | {tag:'div', id:this.getId('screenshotLink'), cls:'screenshotLink', children:[ |
105 | {tag:'canvas', id:this.getId('lookIcon')}, | 102 | {tag:'canvas', id:this.getId('lookIcon')}, |
106 | {tag:'a', href:'#', cls:'screenshotLink', children:[ | 103 | {tag:'a', href:'#', cls:'screenshotLink', children:[ |
107 | {tag:'span', cls:'payoff', html:"Look Clipperz!"}, | 104 | {tag:'span', cls:'payoff', html:"Look Clipperz!"}, |
108 | {tag:'span', cls:'link', html:"screenshot tour >>"} | 105 | {tag:'span', cls:'link', html:"screenshot tour >>"} |
109 | ]} | 106 | ]} |
110 | ]}, | 107 | ]}, |
111 | {tag:'div', id:this.getId('offlineLink'), cls:'offlineLink', children:[ | 108 | {tag:'div', id:this.getId('offlineLink'), cls:'offlineLink', children:[ |
112 | {tag:'canvas', id:this.getId('downloadIcon')}, | 109 | {tag:'canvas', id:this.getId('downloadIcon')}, |
113 | {tag:'a', href:'#', cls:'offlineLink', children:[ | 110 | {tag:'a', href:'#', cls:'offlineLink', children:[ |
114 | {tag:'span', cls:'payoff', html:"Download!"}, | 111 | {tag:'span', cls:'payoff', html:"Download!"}, |
115 | {tag:'span', cls:'link', html:"Offline version >>"} | 112 | {tag:'span', cls:'link', html:"Offline version >>"} |
116 | ]} | 113 | ]} |
117 | ]} | 114 | ]} |
118 | ]} | 115 | ]} |
119 | ]} | 116 | ]} |
120 | ]} | 117 | ]} |
121 | ]); | 118 | ]); |
122 | 119 | ||
123 | this.setRegistrationButtonIconDefaultColors(); | 120 | this.setRegistrationButtonIconDefaultColors(); |
124 | this.setLookIconDefaultColors(); | 121 | this.setLookIconDefaultColors(); |
125 | this.setDownloadIconDefaultColors(); | 122 | this.setDownloadIconDefaultColors(); |
126 | 123 | ||
127 | // MochiKit.Signal.connect(this.getElement('createAccountLink'), 'onclick', this, 'handleCreateAccountLink') | 124 | // MochiKit.Signal.connect(this.getElement('createAccountLink'), 'onclick', this, 'handleCreateAccountLink') |
128 | 125 | ||
129 | MochiKit.Signal.connect(this.getElement('registerButton'), 'onmouseenter', this, 'handleMouseEnterOnRegisterButtonIcon'); | 126 | MochiKit.Signal.connect(this.getElement('registerButton'), 'onmouseenter', this, 'handleMouseEnterOnRegisterButtonIcon'); |
130 | MochiKit.Signal.connect(this.getElement('registerButton'), 'onmouseleave', this, 'handleMouseLeaveOnRegisterButtonIcon'); | 127 | MochiKit.Signal.connect(this.getElement('registerButton'), 'onmouseleave', this, 'handleMouseLeaveOnRegisterButtonIcon'); |
131 | 128 | ||
132 | MochiKit.Signal.connect(this.getElement('screenshotLink'), 'onmouseenter', this, 'handleMouseEnterOnLookIcon'); | 129 | MochiKit.Signal.connect(this.getElement('screenshotLink'), 'onmouseenter', this, 'handleMouseEnterOnLookIcon'); |
133 | MochiKit.Signal.connect(this.getElement('screenshotLink'), 'onmouseleave', this, 'handleMouseLeaveOnLookIcon'); | 130 | MochiKit.Signal.connect(this.getElement('screenshotLink'), 'onmouseleave', this, 'handleMouseLeaveOnLookIcon'); |
134 | 131 | ||
135 | MochiKit.Signal.connect(this.getElement('offlineLink'), 'onmouseenter', this, 'handleMouseEnterOnDownloadIcon'); | 132 | MochiKit.Signal.connect(this.getElement('offlineLink'), 'onmouseenter', this, 'handleMouseEnterOnDownloadIcon'); |
136 | MochiKit.Signal.connect(this.getElement('offlineLink'), 'onmouseleave', this, 'handleMouseLeaveOnDownloadIcon'); | 133 | MochiKit.Signal.connect(this.getElement('offlineLink'), 'onmouseleave', this, 'handleMouseLeaveOnDownloadIcon'); |
137 | 134 | ||
138 | MochiKit.Signal.connect(this.getElement('createAccountLink'), 'onclick', this, 'handleCreateAccountLink') | 135 | MochiKit.Signal.connect(this.getElement('createAccountLink'), 'onclick', this, 'handleCreateAccountLink') |
139 | }, | 136 | }, |
140 | 137 | ||
141 | //------------------------------------------------------------------------- | 138 | //------------------------------------------------------------------------- |
142 | 139 | ||
143 | 'setRegistrationButtonIconDefaultColors': function () { | 140 | 'setRegistrationButtonIconDefaultColors': function () { |
144 | Clipperz.PM.UI.Canvas.registerButton.normal(this.getElement('registerButtonIcon'), "#eeeeee", "#eeeeee", "#ecab12", "#e14624", "#ffffff"); | 141 | Clipperz.PM.UI.Canvas.registerButton.normal(this.getElement('registerButtonIcon'), "#eeeeee", "#eeeeee", "#ecab12", "#e14624", "#ffffff"); |
145 | }, | 142 | }, |
146 | 143 | ||
147 | 'setRegistrationButtonIconHoverColors': function () { | 144 | 'setRegistrationButtonIconHoverColors': function () { |
148 | Clipperz.PM.UI.Canvas.registerButton.normal(this.getElement('registerButtonIcon'), "#cccccc", "#999999", "#ffb710", "#ff4d27", "#ffffff"); | 145 | Clipperz.PM.UI.Canvas.registerButton.normal(this.getElement('registerButtonIcon'), "#cccccc", "#999999", "#ffb710", "#ff4d27", "#ffffff"); |
149 | }, | 146 | }, |
150 | 147 | ||
151 | 'handleMouseEnterOnRegisterButtonIcon': function (anEvent) { | 148 | 'handleMouseEnterOnRegisterButtonIcon': function (anEvent) { |
152 | this.setRegistrationButtonIconHoverColors(); | 149 | this.setRegistrationButtonIconHoverColors(); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginProgress.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginProgress.js index 03c7b9e..5d082b5 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginProgress.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginProgress.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.LoginProgress = function(args) { | 28 | Clipperz.PM.UI.Web.Components.LoginProgress = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.LoginProgress.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.LoginProgress.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._deferred = null; | 33 | this._deferred = null; |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | //============================================================================= | 38 | //============================================================================= |
42 | 39 | ||
43 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginProgress, Clipperz.PM.UI.Common.Components.BaseComponent, { | 40 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginProgress, Clipperz.PM.UI.Common.Components.BaseComponent, { |
44 | 41 | ||
45 | //------------------------------------------------------------------------- | 42 | //------------------------------------------------------------------------- |
46 | 43 | ||
47 | 'toString': function () { | 44 | 'toString': function () { |
48 | return "Clipperz.PM.UI.Web.Components.LoginProgress component"; | 45 | return "Clipperz.PM.UI.Web.Components.LoginProgress component"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'deferred': function() { | 50 | 'deferred': function() { |
54 | return this._deferred; | 51 | return this._deferred; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | 'setDeferred': function(aValue) { | 54 | 'setDeferred': function(aValue) { |
58 | this._deferred = aValue; | 55 | this._deferred = aValue; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'renderSelf': function() { | 60 | 'renderSelf': function() { |
64 | // var loginProgressElement; | 61 | // var loginProgressElement; |
65 | // | 62 | // |
66 | // loginProgressElement = MochiKit.DOM.getElement('loginProgress'); | 63 | // loginProgressElement = MochiKit.DOM.getElement('loginProgress'); |
67 | // | 64 | // |
68 | // if (loginProgressElement == null) { | 65 | // if (loginProgressElement == null) { |
69 | // loginProgressElement = this.append(this.element(), {tag:'div', id:'loginProgress', cls:'LoginProgress'}, true); | 66 | // loginProgressElement = this.append(this.element(), {tag:'div', id:'loginProgress', cls:'LoginProgress'}, true); |
70 | // } | 67 | // } |
71 | 68 | ||
72 | //console.log(">> LoginProgress.renderSelf", this.element()); | 69 | //console.log(">> LoginProgress.renderSelf", this.element()); |
73 | this.append(this.element(), {tag:'div', id:'loginProgress', cls:'LoginProgress', children: [ | 70 | this.append(this.element(), {tag:'div', id:'loginProgress', cls:'LoginProgress', children: [ |
74 | // this.append(loginProgressElement, [ | 71 | // this.append(loginProgressElement, [ |
75 | {tag:'div', cls:'header', children:[ | 72 | {tag:'div', cls:'header', children:[ |
76 | {tag:'h3', id:this.getId('title'), html:"login progress"} | 73 | {tag:'h3', id:this.getId('title'), html:"login progress"} |
77 | ]}, | 74 | ]}, |
78 | {tag:'div', cls:'body', children:[ | 75 | {tag:'div', cls:'body', children:[ |
79 | {tag:'div', id:this.getId('progressBar')}, | 76 | {tag:'div', id:this.getId('progressBar')}, |
80 | {tag:'div', id:this.getId('errorBox'), cls:'errorBox', children:[ | 77 | {tag:'div', id:this.getId('errorBox'), cls:'errorBox', children:[ |
81 | // {tag:'div',cls:'img ALERT', children:[{tag:'div'}]}, | 78 | // {tag:'div',cls:'img ALERT', children:[{tag:'div'}]}, |
82 | {tag:'div',cls:'img ALERT', children:[{tag:'canvas', id:this.getId('canvas')}]}, | 79 | {tag:'div',cls:'img ALERT', children:[{tag:'canvas', id:this.getId('canvas')}]}, |
83 | {tag:'p', html:"Login failed"} | 80 | {tag:'p', html:"Login failed"} |
84 | ]} | 81 | ]} |
85 | ]}, | 82 | ]}, |
86 | {tag:'div', cls:'footer', children:[ | 83 | {tag:'div', cls:'footer', children:[ |
87 | {tag:'div', cls:'buttonArea', id:this.getId('buttonArea'), children:[ | 84 | {tag:'div', cls:'buttonArea', id:this.getId('buttonArea'), children:[ |
88 | {tag:'div', cls:'button', id:this.getId('button'), children:[ | 85 | {tag:'div', cls:'button', id:this.getId('button'), children:[ |
89 | {tag:'a', href:'#', id:this.getId('buttonLink'), html:"cancel"} | 86 | {tag:'a', href:'#', id:this.getId('buttonLink'), html:"cancel"} |
90 | ]} | 87 | ]} |
91 | ]} | 88 | ]} |
92 | ]} | 89 | ]} |
93 | ]}); | 90 | ]}); |
94 | // ]); | 91 | // ]); |
95 | 92 | ||
96 | Clipperz.PM.UI.Canvas.marks['!'](this.getElement('canvas'), "#ffffff"); | 93 | Clipperz.PM.UI.Canvas.marks['!'](this.getElement('canvas'), "#ffffff"); |
97 | 94 | ||
98 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); | 95 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); |
99 | MochiKit.Style.hideElement(this.getElement('errorBox')); | 96 | MochiKit.Style.hideElement(this.getElement('errorBox')); |
100 | 97 | ||
101 | MochiKit.Signal.connect(this.getId('buttonLink'), 'onclick', this, 'cancelEventHandler'); | 98 | MochiKit.Signal.connect(this.getId('buttonLink'), 'onclick', this, 'cancelEventHandler'); |
102 | }, | 99 | }, |
103 | 100 | ||
104 | //------------------------------------------------------------------------- | 101 | //------------------------------------------------------------------------- |
105 | 102 | ||
106 | 'displayElement': function() { | 103 | 'displayElement': function() { |
107 | return MochiKit.DOM.getElement('loginProgress'); | 104 | return MochiKit.DOM.getElement('loginProgress'); |
108 | }, | 105 | }, |
109 | 106 | ||
110 | //------------------------------------------------------------------------- | 107 | //------------------------------------------------------------------------- |
111 | 108 | ||
112 | 'cancelEventHandler': function(anEvent) { | 109 | 'cancelEventHandler': function(anEvent) { |
113 | anEvent.preventDefault(); | 110 | anEvent.preventDefault(); |
114 | 111 | ||
115 | MochiKit.Signal.signal(this, 'cancelEvent'); | 112 | MochiKit.Signal.signal(this, 'cancelEvent'); |
116 | }, | 113 | }, |
117 | 114 | ||
118 | //------------------------------------------------------------------------- | 115 | //------------------------------------------------------------------------- |
119 | 116 | ||
120 | 'disableCancel': function() { | 117 | 'disableCancel': function() { |
121 | MochiKit.Style.hideElement(this.getElement('buttonArea')); | 118 | MochiKit.Style.hideElement(this.getElement('buttonArea')); |
122 | }, | 119 | }, |
123 | 120 | ||
124 | //------------------------------------------------------------------------- | 121 | //------------------------------------------------------------------------- |
125 | 122 | ||
126 | 'showErrorMessage': function() { | 123 | 'showErrorMessage': function() { |
127 | this.getElement('buttonLink').innerHTML = "close"; | 124 | this.getElement('buttonLink').innerHTML = "close"; |
128 | 125 | ||
129 | MochiKit.Style.hideElement(this.getElement('progressBar')); | 126 | MochiKit.Style.hideElement(this.getElement('progressBar')); |
130 | 127 | ||
131 | this.getElement('title').innerHTML = "Error"; | 128 | this.getElement('title').innerHTML = "Error"; |
132 | MochiKit.Style.showElement(this.getElement('errorBox')); | 129 | MochiKit.Style.showElement(this.getElement('errorBox')); |
133 | MochiKit.Style.showElement(this.getElement('buttonArea')); | 130 | MochiKit.Style.showElement(this.getElement('buttonArea')); |
134 | }, | 131 | }, |
135 | 132 | ||
136 | //------------------------------------------------------------------------- | 133 | //------------------------------------------------------------------------- |
137 | 134 | ||
138 | 'deferredHideModalAndRemove': function(someParameters, aResult) { | 135 | 'deferredHideModalAndRemove': function(someParameters, aResult) { |
139 | vardeferredResult; | 136 | vardeferredResult; |
140 | 137 | ||
141 | deferredResult = new Clipperz.Async.Deferred("LoginProgress.deferredHideModalAndRemove", {trace:false}); | 138 | deferredResult = new Clipperz.Async.Deferred("LoginProgress.deferredHideModalAndRemove", {trace:false}); |
142 | deferredResult.addMethod(this, 'deferredHideModal'); | 139 | deferredResult.addMethod(this, 'deferredHideModal'); |
143 | deferredResult.addMethod(this, 'remove'); | 140 | deferredResult.addMethod(this, 'remove'); |
144 | deferredResult.addCallback(function () { | 141 | deferredResult.addCallback(function () { |
145 | return aResult; | 142 | return aResult; |
146 | }); | 143 | }); |
147 | deferredResult.callback(someParameters); | 144 | deferredResult.callback(someParameters); |
148 | 145 | ||
149 | return deferredResult; | 146 | return deferredResult; |
150 | }, | 147 | }, |
151 | 148 | ||
152 | //------------------------------------------------------------------------- | 149 | //------------------------------------------------------------------------- |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/NewUserCreationComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/NewUserCreationComponent.js index b40d1f3..feb16ad 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/NewUserCreationComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/NewUserCreationComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.NewUserCreationComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.NewUserCreationComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.NewUserCreationComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.NewUserCreationComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._tabPanelController = null; | 33 | this._tabPanelController = null; |
37 | 34 | ||
38 | this._initiallySelectedTab = args.selected || 'CREDENTIALS'; | 35 | this._initiallySelectedTab = args.selected || 'CREDENTIALS'; |
39 | this._tabPanelControllerConfiguration = { | 36 | this._tabPanelControllerConfiguration = { |
40 | 'CREDENTIALS': { | 37 | 'CREDENTIALS': { |
41 | tab:'credentialsTab', | 38 | tab:'credentialsTab', |
42 | panel:'credentialsTabpanel' | 39 | panel:'credentialsTabpanel' |
43 | }, | 40 | }, |
44 | 'CHECK_CREDENTIALS': { | 41 | 'CHECK_CREDENTIALS': { |
45 | tab:'checkCredentialsTab', | 42 | tab:'checkCredentialsTab', |
46 | panel:'checkCredentialsTabpanel' | 43 | panel:'checkCredentialsTabpanel' |
47 | }, | 44 | }, |
48 | 'TERMS_OF_SERVICE': { | 45 | 'TERMS_OF_SERVICE': { |
49 | tab:'termsOfServiceTab', | 46 | tab:'termsOfServiceTab', |
50 | panel:'termsOfServiceTabpanel' | 47 | panel:'termsOfServiceTabpanel' |
51 | }, | 48 | }, |
52 | 'CREATE_USER': { | 49 | 'CREATE_USER': { |
53 | tab:'createUserTab', | 50 | tab:'createUserTab', |
54 | panel:'createUserTabpanel' | 51 | panel:'createUserTabpanel' |
55 | }//, | 52 | }//, |
56 | /* | 53 | /* |
57 | 'LOGIN': { | 54 | 'LOGIN': { |
58 | tab:'loginTab', | 55 | tab:'loginTab', |
59 | panel:'loginTabpanel' | 56 | panel:'loginTabpanel' |
60 | } | 57 | } |
61 | */ | 58 | */ |
62 | }; | 59 | }; |
63 | 60 | ||
64 | return this; | 61 | return this; |
65 | } | 62 | } |
66 | 63 | ||
67 | //============================================================================= | 64 | //============================================================================= |
68 | 65 | ||
69 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.NewUserCreationComponent, Clipperz.PM.UI.Common.Components.TabPanelComponent, { | 66 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.NewUserCreationComponent, Clipperz.PM.UI.Common.Components.TabPanelComponent, { |
70 | 67 | ||
71 | //------------------------------------------------------------------------- | 68 | //------------------------------------------------------------------------- |
72 | 69 | ||
73 | 'toString': function () { | 70 | 'toString': function () { |
74 | return "Clipperz.PM.UI.Web.Components.NewUserCreationComponent component"; | 71 | return "Clipperz.PM.UI.Web.Components.NewUserCreationComponent component"; |
75 | }, | 72 | }, |
76 | 73 | ||
77 | //========================================================================= | 74 | //========================================================================= |
78 | 75 | ||
79 | 'disableAllPanels': function () { | 76 | 'disableAllPanels': function () { |
80 | this.tabPanelController().selectTab(null); | 77 | this.tabPanelController().selectTab(null); |
81 | }, | 78 | }, |
82 | 79 | ||
83 | //------------------------------------------------------------------------- | 80 | //------------------------------------------------------------------------- |
84 | 81 | ||
85 | 'enableCredentialsPanel': function () { | 82 | 'enableCredentialsPanel': function () { |
86 | this.tabPanelController().selectTab('CREDENTIALS'); | 83 | this.tabPanelController().selectTab('CREDENTIALS'); |
87 | }, | 84 | }, |
88 | 85 | ||
89 | 'enableCheckCredentialsPanel': function () { | 86 | 'enableCheckCredentialsPanel': function () { |
90 | this.tabPanelController().selectTab('CHECK_CREDENTIALS'); | 87 | this.tabPanelController().selectTab('CHECK_CREDENTIALS'); |
91 | }, | 88 | }, |
92 | 89 | ||
93 | 'enableTermsOfServicePanel': function () { | 90 | 'enableTermsOfServicePanel': function () { |
94 | this.tabPanelController().selectTab('TERMS_OF_SERVICE'); | 91 | this.tabPanelController().selectTab('TERMS_OF_SERVICE'); |
95 | }, | 92 | }, |
96 | 93 | ||
97 | 'enableCreateUserPanel': function () { | 94 | 'enableCreateUserPanel': function () { |
98 | this.tabPanelController().selectTab('CREATE_USER'); | 95 | this.tabPanelController().selectTab('CREATE_USER'); |
99 | }, | 96 | }, |
100 | 97 | ||
101 | //'enableLoginPanel': function () { | 98 | //'enableLoginPanel': function () { |
102 | // this.tabPanelController().selectTab('LOGIN'); | 99 | // this.tabPanelController().selectTab('LOGIN'); |
103 | //}, | 100 | //}, |
104 | 101 | ||
105 | //========================================================================= | 102 | //========================================================================= |
106 | 103 | ||
107 | 'shouldShowElementWhileRendering': function() { | 104 | 'shouldShowElementWhileRendering': function() { |
108 | return false; | 105 | return false; |
109 | }, | 106 | }, |
110 | 107 | ||
111 | //========================================================================= | 108 | //========================================================================= |
112 | 109 | ||
113 | 'tabPanelController': function () { | 110 | 'tabPanelController': function () { |
114 | if (this._tabPanelController == null) { | 111 | if (this._tabPanelController == null) { |
115 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({ | 112 | this._tabPanelController = new Clipperz.PM.UI.Common.Controllers.TabPanelController({ |
116 | component:this, | 113 | component:this, |
117 | configuration:this._tabPanelControllerConfiguration | 114 | configuration:this._tabPanelControllerConfiguration |
118 | }); | 115 | }); |
119 | 116 | ||
120 | MochiKit.Signal.connect(this._tabPanelController, 'tabSelected', this, 'handleTabSelected') | 117 | MochiKit.Signal.connect(this._tabPanelController, 'tabSelected', this, 'handleTabSelected') |
121 | } | 118 | } |
122 | 119 | ||
123 | return this._tabPanelController; | 120 | return this._tabPanelController; |
124 | }, | 121 | }, |
125 | 122 | ||
126 | //------------------------------------------------------------------------- | 123 | //------------------------------------------------------------------------- |
127 | 124 | ||
128 | 'renderSelf': function() { | 125 | 'renderSelf': function() { |
129 | //console.log('** Clipperz.targetModalDimensionsAndPosition', Clipperz.Base.serializeJSON(Clipperz.PM.UI.Common.Components.BaseComponent.targetModalDimensionsAndPosition)); | 126 | //console.log('** Clipperz.targetModalDimensionsAndPosition', Clipperz.Base.serializeJSON(Clipperz.PM.UI.Common.Components.BaseComponent.targetModalDimensionsAndPosition)); |
130 | 127 | ||
131 | this.append(this.element(), {tag:'div', cls:'NewUserCreation mainDialog', id:this.getId('panel'), children: [ | 128 | this.append(this.element(), {tag:'div', cls:'NewUserCreation mainDialog', id:this.getId('panel'), children: [ |
132 | {tag:'form', id:this.getId('form'), cls:'newUserCreationForm', children:[ | 129 | {tag:'form', id:this.getId('form'), cls:'newUserCreationForm', children:[ |
133 | {tag:'div', cls:'header', children:[ | 130 | {tag:'div', cls:'header', children:[ |
134 | {tag:'div', cls:'title', children:[ | 131 | {tag:'div', cls:'title', children:[ |
135 | {tag:'h3', id:this.getId('title'), html:"Create new user"} | 132 | {tag:'h3', id:this.getId('title'), html:"Create new user"} |
136 | ]} | 133 | ]} |
137 | ]}, | 134 | ]}, |
138 | {tag:'div', id:this.getId('body'), cls:'body', children:[ | 135 | {tag:'div', id:this.getId('body'), cls:'body', children:[ |
139 | {tag:'div', cls:'tabContainer', children:[ | 136 | {tag:'div', cls:'tabContainer', children:[ |
140 | {tag:'ul', cls:'tabs', children:[ | 137 | {tag:'ul', cls:'tabs', children:[ |
141 | {tag:'li', id:this.getId('credentialsTab'), children:[{tag:'span', html:"credentials"}]}, | 138 | {tag:'li', id:this.getId('credentialsTab'), children:[{tag:'span', html:"credentials"}]}, |
142 | {tag:'li', id:this.getId('checkCredentialsTab'),children:[{tag:'span', html:"credentials check"}]}, | 139 | {tag:'li', id:this.getId('checkCredentialsTab'),children:[{tag:'span', html:"credentials check"}]}, |
143 | {tag:'li', id:this.getId('termsOfServiceTab'), children:[{tag:'span', html:"terms of service"}]}, | 140 | {tag:'li', id:this.getId('termsOfServiceTab'), children:[{tag:'span', html:"terms of service"}]}, |
144 | {tag:'li', id:this.getId('createUserTab'), children:[{tag:'span', html:"create user"}]}//, | 141 | {tag:'li', id:this.getId('createUserTab'), children:[{tag:'span', html:"create user"}]}//, |
145 | // {tag:'li', id:this.getId('loginTab'), children:[{tag:'span', html:"login"}]}, | 142 | // {tag:'li', id:this.getId('loginTab'), children:[{tag:'span', html:"login"}]}, |
146 | ]}, | 143 | ]}, |
147 | {tag:'ul', cls:'tabPanels', children:[ | 144 | {tag:'ul', cls:'tabPanels', children:[ |
148 | {tag:'li', id:this.getId('credentialsTabpanel'), cls:'tabPanel credentials', children:[ | 145 | {tag:'li', id:this.getId('credentialsTabpanel'), cls:'tabPanel credentials', children:[ |
149 | {tag:'div', cls:'wizardStepDescription', children:[{tag:'span', html:Clipperz.PM.Strings.getValue('Wizards.NewUserWizard.CREDENTIALS.description')}]}, | 146 | {tag:'div', cls:'wizardStepDescription', children:[{tag:'span', html:Clipperz.PM.Strings.getValue('Wizards.NewUserWizard.CREDENTIALS.description')}]}, |
150 | {tag:'ul', cls:'credentials', children:[ | 147 | {tag:'ul', cls:'credentials', children:[ |
151 | {tag:'li', children:[{tag:'span', cls:'label', html:"username"},{tag:'input', type:'text', id:this.getId('username')/*, value:'test'*/}]}, | 148 | {tag:'li', children:[{tag:'span', cls:'label', html:"username"},{tag:'input', type:'text', id:this.getId('username')/*, value:'test'*/}]}, |
152 | {tag:'li', children:[{tag:'span', cls:'label', html:"passphrase"},{tag:'input', type:'password', id:this.getId('passphrase')/*, value:'test'*/}]} | 149 | {tag:'li', children:[{tag:'span', cls:'label', html:"passphrase"},{tag:'input', type:'password', id:this.getId('passphrase')/*, value:'test'*/}]} |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/Page.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/Page.js index bed6675..3cc5a37 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/Page.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/Page.js | |||
@@ -1,71 +1,68 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.Page = function(args) { | 28 | Clipperz.PM.UI.Web.Components.Page = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.Page.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.Page.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._slots = { | 33 | this._slots = { |
37 | 'header':'pageHeader', | 34 | 'header':'pageHeader', |
38 | 'body': 'pageBody', | 35 | 'body': 'pageBody', |
39 | 'footer':'pageFooter' | 36 | 'footer':'pageFooter' |
40 | }; | 37 | }; |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.Page, Clipperz.PM.UI.Common.Components.BaseComponent, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.Page, Clipperz.PM.UI.Common.Components.BaseComponent, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Web.Components.Page component"; | 49 | return "Clipperz.PM.UI.Web.Components.Page component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'renderSelf': function(/*aContainer, aPosition*/) { | 54 | 'renderSelf': function(/*aContainer, aPosition*/) { |
58 | this.append(this.element(), [ | 55 | this.append(this.element(), [ |
59 | {tag:'div', id:'pageHeaderAndBody', cls:'pageHeaderAndBody', children:[ | 56 | {tag:'div', id:'pageHeaderAndBody', cls:'pageHeaderAndBody', children:[ |
60 | {tag:'div', id:'pageHeader', cls:'pageHeader'}, | 57 | {tag:'div', id:'pageHeader', cls:'pageHeader'}, |
61 | {tag:'div', id:'pageBody', cls:'pageBody'} | 58 | {tag:'div', id:'pageBody', cls:'pageBody'} |
62 | ]}, | 59 | ]}, |
63 | {tag:'div', id:'pageFooter', cls:'pageFooter'} | 60 | {tag:'div', id:'pageFooter', cls:'pageFooter'} |
64 | ]); | 61 | ]); |
65 | 62 | ||
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | __syntaxFix__: "syntax fix" | 67 | __syntaxFix__: "syntax fix" |
71 | }); | 68 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageFooter.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageFooter.js index 11135d8..5e8cd7f 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageFooter.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageFooter.js | |||
@@ -1,71 +1,68 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.PageFooter = function(args) { | 28 | Clipperz.PM.UI.Web.Components.PageFooter = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.PageFooter.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.PageFooter.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | return this; | 33 | return this; |
37 | } | 34 | } |
38 | 35 | ||
39 | //============================================================================= | 36 | //============================================================================= |
40 | 37 | ||
41 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageFooter, Clipperz.PM.UI.Common.Components.BaseComponent, { | 38 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageFooter, Clipperz.PM.UI.Common.Components.BaseComponent, { |
42 | 39 | ||
43 | //------------------------------------------------------------------------- | 40 | //------------------------------------------------------------------------- |
44 | 41 | ||
45 | 'toString': function () { | 42 | 'toString': function () { |
46 | return "Clipperz.PM.UI.Web.Components.PageFooter component"; | 43 | return "Clipperz.PM.UI.Web.Components.PageFooter component"; |
47 | }, | 44 | }, |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'renderSelf': function(/*aContainer, aPosition*/) { | 48 | 'renderSelf': function(/*aContainer, aPosition*/) { |
52 | this.append(this.element(), [ | 49 | this.append(this.element(), [ |
53 | {tag:'div', cls:'footerWrapper', children:[ | 50 | {tag:'div', cls:'footerWrapper', children:[ |
54 | {tag:'div', cls:'footerContent', children:[ | 51 | {tag:'div', cls:'footerContent', children:[ |
55 | // {tag:'div', cls:'footerStarIcon'}, | 52 | // {tag:'div', cls:'footerStarIcon'}, |
56 | {tag:'canvas', id:this.getId('footerStarIcon'), cls:'footerStarIcon'}, | 53 | {tag:'canvas', id:this.getId('footerStarIcon'), cls:'footerStarIcon'}, |
57 | {tag:'span', cls:'copyright', html:'Copyright © 2009 Clipperz Srl'}, | 54 | {tag:'span', cls:'copyright', html:'Copyright © 2009 Clipperz Srl'}, |
58 | {tag:'a', href:'http://www.clipperz.com/terms_of_service',target:'_blank', html:'terms of service'}, | 55 | {tag:'a', href:'http://www.clipperz.com/terms_of_service',target:'_blank', html:'terms of service'}, |
59 | {tag:'a', href:'http://www.clipperz.com/privacy_policy',target:'_blank', html:'privacy policy'}, | 56 | {tag:'a', href:'http://www.clipperz.com/privacy_policy',target:'_blank', html:'privacy policy'}, |
60 | {tag:'span', cls:'applicationVersion', html:'application version: [1992]'} | 57 | {tag:'span', cls:'applicationVersion', html:'application version: [1992]'} |
61 | ]} | 58 | ]} |
62 | ]} | 59 | ]} |
63 | ]); | 60 | ]); |
64 | 61 | ||
65 | Clipperz.PM.UI.Canvas.star.normal(this.getElement('footerStarIcon'), "#7e7e7e"); | 62 | Clipperz.PM.UI.Canvas.star.normal(this.getElement('footerStarIcon'), "#7e7e7e"); |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | __syntaxFix__: "syntax fix" | 67 | __syntaxFix__: "syntax fix" |
71 | }); | 68 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js index 3924434..bce8395 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PageHeader.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.PageHeader = function(args) { | 28 | Clipperz.PM.UI.Web.Components.PageHeader = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.PageHeader.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.PageHeader.superclass.constructor.apply(this, arguments); |
35 | this._newsIsOpen = args.newsIsOpen || false; | 32 | this._newsIsOpen = args.newsIsOpen || false; |
36 | this._animationDuration = args.animationDuration || 0.5; | 33 | this._animationDuration = args.animationDuration || 0.5; |
37 | 34 | ||
38 | this._offset = 82; | 35 | this._offset = 82; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageHeader, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PageHeader, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.PageHeader component"; | 47 | return "Clipperz.PM.UI.Web.Components.PageHeader component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'iframeURL': function () { | 52 | 'iframeURL': function () { |
56 | // return './rss_view.html'; | 53 | // return './rss_view.html'; |
57 | return 'http://www.clipperz.com/files/clipperz.com/appTips/index.html'; | 54 | return 'http://www.clipperz.com/files/clipperz.com/appTips/index.html'; |
58 | }, | 55 | }, |
59 | 56 | ||
60 | //------------------------------------------------------------------------- | 57 | //------------------------------------------------------------------------- |
61 | 58 | ||
62 | 'renderSelf': function(/*aContainer, aPosition*/) { | 59 | 'renderSelf': function(/*aContainer, aPosition*/) { |
63 | this.append(this.element(), [ | 60 | this.append(this.element(), [ |
64 | {tag:'div', id:'miscLinks', children:[ | 61 | {tag:'div', id:'miscLinks', children:[ |
65 | {tag:'ul', children:[ | 62 | {tag:'ul', children:[ |
66 | {tag:'li', children:[{tag:'a', id:'donateHeaderLink', stringID:'pageHeader.donation', href:'http://www.clipperz.com/donations', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.donation')}]}, | 63 | {tag:'li', children:[{tag:'a', id:'donateHeaderLink', stringID:'pageHeader.donation', href:'http://www.clipperz.com/donations', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.donation')}]}, |
67 | {tag:'li', children:[{tag:'a', id:'forumHeaderLink', stringID:'pageHeader.forum', href:'http://www.clipperz.com/forum', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.forum')}]}, | 64 | {tag:'li', children:[{tag:'a', id:'forumHeaderLink', stringID:'pageHeader.forum', href:'http://www.clipperz.com/forum', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.forum')}]}, |
68 | {tag:'li', children:[{tag:'a', id:'creditsHeaderLink', stringID:'pageHeader.credits', href:'http://www.clipperz.com/credits', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.credits')}]}, | 65 | {tag:'li', children:[{tag:'a', id:'creditsHeaderLink', stringID:'pageHeader.credits', href:'http://www.clipperz.com/credits', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.credits')}]}, |
69 | {tag:'li', children:[{tag:'a', id:'feedbackHeaderLink', stringID:'pageHeader.feedback', href:'http://www.clipperz.com/contact', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.feedback')}]}, | 66 | {tag:'li', children:[{tag:'a', id:'feedbackHeaderLink', stringID:'pageHeader.feedback', href:'http://www.clipperz.com/contact', target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.feedback')}]}, |
70 | {tag:'li', children:[{tag:'a', id:'helpHeaderLink', stringID:'pageHeader.help', href:'http://www.clipperz.com/support/user_guide',target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.help')}]} | 67 | {tag:'li', children:[{tag:'a', id:'helpHeaderLink', stringID:'pageHeader.help', href:'http://www.clipperz.com/support/user_guide',target:'_blank', html:Clipperz.PM.Strings.getValue('pageHeader.help')}]} |
71 | ]} | 68 | ]} |
72 | ]}, | 69 | ]}, |
73 | {tag:'div', id:'logoFrame', children:[ | 70 | {tag:'div', id:'logoFrame', children:[ |
74 | {tag:'a', href:'http://www.clipperz.com', target:'_blank', children:[{tag:'div', id:'logo'}]}, | 71 | {tag:'a', href:'http://www.clipperz.com', target:'_blank', children:[{tag:'div', id:'logo'}]}, |
75 | {tag:'h5', cls:'clipperzPayoff', html:'keep it to yourself!'} | 72 | {tag:'h5', cls:'clipperzPayoff', html:'keep it to yourself!'} |
76 | ]}, | 73 | ]}, |
77 | {tag:'div', id:'news', cls:'hidden', children:[ | 74 | {tag:'div', id:'news', cls:'hidden', children:[ |
78 | // {tag:'div', cls:'close', children:[ | 75 | // {tag:'div', cls:'close', children:[ |
79 | // {tag:'a', href:'#', id:this.getId('closeTips'), html:'x'} | 76 | // {tag:'a', href:'#', id:this.getId('closeTips'), html:'x'} |
80 | // ]}, | 77 | // ]}, |
81 | {tag:'div', id:'newsframe', children:[ | 78 | {tag:'div', id:'newsframe', children:[ |
82 | {tag:'iframe', id:this.getId('iframe'), src:this.iframeURL()} | 79 | {tag:'iframe', id:this.getId('iframe'), src:this.iframeURL()} |
83 | ]}, | 80 | ]}, |
84 | {tag:'div', id:this.getId('newsGrip'), cls:'grip', children:[]} | 81 | {tag:'div', id:this.getId('newsGrip'), cls:'grip', children:[]} |
85 | ]}, | 82 | ]}, |
86 | {tag:'div', id:'featureTabs', children:[ | 83 | {tag:'div', id:'featureTabs', children:[ |
87 | {tag:'table', children:[{tag:'tr', children:[ | 84 | {tag:'table', children:[{tag:'tr', children:[ |
88 | {tag:'td', children:[{tag:'div', id:'feature_store', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('storeIcon')}, {tag:'span', html:"Store and manage your password and online credentials"}]}]}, | 85 | {tag:'td', children:[{tag:'div', id:'feature_store', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('storeIcon')}, {tag:'span', html:"Store and manage your password and online credentials"}]}]}, |
89 | {tag:'td', children:[{tag:'div', id:'feature_protect', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('protectIcon')}, {tag:'span', html:"Protect all your sensitive data"}]}]}, | 86 | {tag:'td', children:[{tag:'div', id:'feature_protect', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('protectIcon')}, {tag:'span', html:"Protect all your sensitive data"}]}]}, |
90 | {tag:'td', children:[{tag:'div', id:'feature_directLogin', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('directLoginIcon')},{tag:'span', html:"Login to your web services without entering any username or password"}]}]}, | 87 | {tag:'td', children:[{tag:'div', id:'feature_directLogin', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('directLoginIcon')},{tag:'span', html:"Login to your web services without entering any username or password"}]}]}, |
91 | {tag:'td', children:[{tag:'div', id:'feature_share', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('shareIcon')}, {tag:'span', html:"Share secret with family members and associates"}]}]} | 88 | {tag:'td', children:[{tag:'div', id:'feature_share', children:[{tag:'canvas', cls:'featureIcon', id:this.getId('shareIcon')}, {tag:'span', html:"Share secret with family members and associates"}]}]} |
92 | ]}]} | 89 | ]}]} |
93 | ]} | 90 | ]} |
94 | ]); | 91 | ]); |
95 | 92 | ||
96 | Clipperz.PM.UI.Canvas.features.store(this.getElement('storeIcon'), "#ffffff"); | 93 | Clipperz.PM.UI.Canvas.features.store(this.getElement('storeIcon'), "#ffffff"); |
97 | Clipperz.PM.UI.Canvas.features.protect(this.getElement('protectIcon'), "#ffffff"); | 94 | Clipperz.PM.UI.Canvas.features.protect(this.getElement('protectIcon'), "#ffffff"); |
98 | Clipperz.PM.UI.Canvas.features.directLogin(this.getElement('directLoginIcon'), "#ffffff"); | 95 | Clipperz.PM.UI.Canvas.features.directLogin(this.getElement('directLoginIcon'), "#ffffff"); |
99 | Clipperz.PM.UI.Canvas.features.share(this.getElement('shareIcon'), "#ffffff", "#ffffff", "#ff0000"); | 96 | Clipperz.PM.UI.Canvas.features.share(this.getElement('shareIcon'), "#ffffff", "#ffffff", "#ff0000"); |
100 | 97 | ||
101 | MochiKit.Signal.connect(this.getElement('newsGrip'), 'onclick', this, 'toggleTips'); | 98 | MochiKit.Signal.connect(this.getElement('newsGrip'), 'onclick', this, 'toggleTips'); |
102 | MochiKit.Signal.connect(this.getElement('iframe'), 'onload', this, 'handleIframeDidLoad'); | 99 | MochiKit.Signal.connect(this.getElement('iframe'), 'onload', this, 'handleIframeDidLoad'); |
103 | }, | 100 | }, |
104 | 101 | ||
105 | //------------------------------------------------------------------------- | 102 | //------------------------------------------------------------------------- |
106 | 103 | ||
107 | 'switchToLoggedMode': function() { | 104 | 'switchToLoggedMode': function() { |
108 | // MochiKit.Style.addElementClass(this.element(), 'logged'); | 105 | // MochiKit.Style.addElementClass(this.element(), 'logged'); |
109 | MochiKit.Style.hideElement('featureTabs'); | 106 | MochiKit.Style.hideElement('featureTabs'); |
110 | }, | 107 | }, |
111 | 108 | ||
112 | //------------------------------------------------------------------------- | 109 | //------------------------------------------------------------------------- |
113 | 110 | ||
114 | 'animationDuration': function () { | 111 | 'animationDuration': function () { |
115 | return this._animationDuration; | 112 | return this._animationDuration; |
116 | }, | 113 | }, |
117 | 114 | ||
118 | 'offset': function () { | 115 | 'offset': function () { |
119 | return this._offset; | 116 | return this._offset; |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //------------------------------------------------------------------------- | 119 | //------------------------------------------------------------------------- |
123 | 120 | ||
124 | 'isNewsOpen': function () { | 121 | 'isNewsOpen': function () { |
125 | return this._newsIsOpen; | 122 | return this._newsIsOpen; |
126 | }, | 123 | }, |
127 | 124 | ||
128 | 'toggleNewsIsOpen': function () { | 125 | 'toggleNewsIsOpen': function () { |
129 | this._newsIsOpen = !this._newsIsOpen; | 126 | this._newsIsOpen = !this._newsIsOpen; |
130 | }, | 127 | }, |
131 | 128 | ||
132 | 'toggleTips': function(anEvent) { | 129 | 'toggleTips': function(anEvent) { |
133 | anEvent.preventDefault(); | 130 | anEvent.preventDefault(); |
134 | 131 | ||
135 | if (this.isNewsOpen() == true) { | 132 | if (this.isNewsOpen() == true) { |
136 | MochiKit.Visual.Move(Clipperz.DOM.get('news'), { | 133 | MochiKit.Visual.Move(Clipperz.DOM.get('news'), { |
137 | x: 0, | 134 | x: 0, |
138 | y: -this.offset(), | 135 | y: -this.offset(), |
139 | mode: 'relative', | 136 | mode: 'relative', |
140 | duration: this.animationDuration(), | 137 | duration: this.animationDuration(), |
141 | beforeStart: function () { | 138 | beforeStart: function () { |
142 | MochiKit.DOM.setElementClass(Clipperz.DOM.get('news'), 'hiding'); | 139 | MochiKit.DOM.setElementClass(Clipperz.DOM.get('news'), 'hiding'); |
143 | }, | 140 | }, |
144 | afterFinish: function () { | 141 | afterFinish: function () { |
145 | Clipperz.DOM.get('newsframe').innerHTML = ""; | 142 | Clipperz.DOM.get('newsframe').innerHTML = ""; |
146 | MochiKit.DOM.setElementClass(Clipperz.DOM.get('news'), 'hidden'); | 143 | MochiKit.DOM.setElementClass(Clipperz.DOM.get('news'), 'hidden'); |
147 | } | 144 | } |
148 | }) | 145 | }) |
149 | this.toggleNewsIsOpen(); | 146 | this.toggleNewsIsOpen(); |
150 | } else { | 147 | } else { |
151 | MochiKit.DOM.addElementClass('newsframe', 'loading'); | 148 | MochiKit.DOM.addElementClass('newsframe', 'loading'); |
152 | MochiKit.Visual.Move(Clipperz.DOM.get('news'), { | 149 | MochiKit.Visual.Move(Clipperz.DOM.get('news'), { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PasswordTooltip.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PasswordTooltip.js index 79c8d4f..987e51e 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PasswordTooltip.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/PasswordTooltip.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Common.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.PasswordTooltip = function(args) { | 28 | Clipperz.PM.UI.Web.Components.PasswordTooltip = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.PasswordTooltip.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.PasswordTooltip.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._referenceElement = args.referenceElement|| Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._referenceElement = args.referenceElement|| Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._text = args.text || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | 35 | ||
39 | this._boxDimensions = null; | 36 | this._boxDimensions = null; |
40 | this._isVisible = false; | 37 | this._isVisible = false; |
41 | 38 | ||
42 | this.renderSelf(); | 39 | this.renderSelf(); |
43 | 40 | ||
44 | return this; | 41 | return this; |
45 | } | 42 | } |
46 | 43 | ||
47 | //============================================================================= | 44 | //============================================================================= |
48 | 45 | ||
49 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PasswordTooltip, Clipperz.PM.UI.Common.Components.BaseComponent, { | 46 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.PasswordTooltip, Clipperz.PM.UI.Common.Components.BaseComponent, { |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'toString': function () { | 50 | 'toString': function () { |
54 | return "Clipperz.PM.UI.Web.Components.PasswordTooltip component"; | 51 | return "Clipperz.PM.UI.Web.Components.PasswordTooltip component"; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | //------------------------------------------------------------------------- | 54 | //------------------------------------------------------------------------- |
58 | 55 | ||
59 | 'referenceElement': function () { | 56 | 'referenceElement': function () { |
60 | return this._referenceElement; | 57 | return this._referenceElement; |
61 | }, | 58 | }, |
62 | 59 | ||
63 | //------------------------------------------------------------------------- | 60 | //------------------------------------------------------------------------- |
64 | 61 | ||
65 | 'text': function () { | 62 | 'text': function () { |
66 | return this._text; | 63 | return this._text; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | 'setText': function (aValue) { | 66 | 'setText': function (aValue) { |
70 | this._text = aValue; | 67 | this._text = aValue; |
71 | }, | 68 | }, |
72 | 69 | ||
73 | //------------------------------------------------------------------------- | 70 | //------------------------------------------------------------------------- |
74 | 71 | ||
75 | 'isVisible': function () { | 72 | 'isVisible': function () { |
76 | return this._isVisible; | 73 | return this._isVisible; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | 'setIsVisible': function (aValue) { | 76 | 'setIsVisible': function (aValue) { |
80 | this._isVisible = aValue; | 77 | this._isVisible = aValue; |
81 | }, | 78 | }, |
82 | 79 | ||
83 | //------------------------------------------------------------------------- | 80 | //------------------------------------------------------------------------- |
84 | 81 | ||
85 | 'renderSelf': function() { | 82 | 'renderSelf': function() { |
86 | this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'passwordTooltip', children:[ | 83 | this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'passwordTooltip', children:[ |
87 | {tag:'div', id:this.getId('body'), cls:'passwordTooltip_body', children:[ | 84 | {tag:'div', id:this.getId('body'), cls:'passwordTooltip_body', children:[ |
88 | {tag:'div', cls:'passwordTooltip_text', children:[ | 85 | {tag:'div', cls:'passwordTooltip_text', children:[ |
89 | {tag:'span', html:this.text()} | 86 | {tag:'span', html:this.text()} |
90 | ]}, | 87 | ]}, |
91 | {tag:'div', id:this.getId('footer'), cls:'passwordTooltip_footer'} | 88 | {tag:'div', id:this.getId('footer'), cls:'passwordTooltip_footer'} |
92 | ]}, | 89 | ]}, |
93 | {tag:'div', id:this.getId('arrow'), cls:'passwordTooltip_arrow'} | 90 | {tag:'div', id:this.getId('arrow'), cls:'passwordTooltip_arrow'} |
94 | ]}); | 91 | ]}); |
95 | 92 | ||
96 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); | 93 | this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); |
97 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; | 94 | // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; |
98 | 95 | ||
99 | MochiKit.Style.hideElement(this.displayElement()); | 96 | MochiKit.Style.hideElement(this.displayElement()); |
100 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); | 97 | MochiKit.Signal.connect(this.element(), 'onmouseenter', this, 'show'); |
101 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); | 98 | MochiKit.Signal.connect(this.element(), 'onmouseleave', this, 'hide'); |
102 | }, | 99 | }, |
103 | 100 | ||
104 | //----------------------------------------------------- | 101 | //----------------------------------------------------- |
105 | 102 | ||
106 | 'displayElement': function() { | 103 | 'displayElement': function() { |
107 | return this.getElement('tooltip'); | 104 | return this.getElement('tooltip'); |
108 | }, | 105 | }, |
109 | 106 | ||
110 | //------------------------------------------------------------------------- | 107 | //------------------------------------------------------------------------- |
111 | 108 | ||
112 | 'boxDimensions': function () { | 109 | 'boxDimensions': function () { |
113 | return this._boxDimensions; | 110 | return this._boxDimensions; |
114 | }, | 111 | }, |
115 | 112 | ||
116 | //------------------------------------------------------------------------- | 113 | //------------------------------------------------------------------------- |
117 | 114 | ||
118 | 'show': function () { | 115 | 'show': function () { |
119 | var elementSizeAndPosition; | 116 | var elementSizeAndPosition; |
120 | var arrowPosition; | 117 | var arrowPosition; |
121 | var bodyPosition; | 118 | var bodyPosition; |
122 | 119 | ||
123 | if (this.isVisible() == false) { | 120 | if (this.isVisible() == false) { |
124 | arrowPosition = {}; | 121 | arrowPosition = {}; |
125 | bodyPosition = {}; | 122 | bodyPosition = {}; |
126 | 123 | ||
127 | this.setIsVisible(true); | 124 | this.setIsVisible(true); |
128 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); | 125 | elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); |
129 | 126 | ||
130 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); | 127 | MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); |
131 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); | 128 | bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); |
132 | bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13; | 129 | bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13; |
133 | 130 | ||
134 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); | 131 | arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); |
135 | arrowPosition.y = elementSizeAndPosition.position.y - 13; | 132 | arrowPosition.y = elementSizeAndPosition.position.y - 13; |
136 | 133 | ||
137 | MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); | 134 | MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); |
138 | MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition); | 135 | MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition); |
139 | MochiKit.Visual.appear(this.displayElement(), {duration:0.4}); | 136 | MochiKit.Visual.appear(this.displayElement(), {duration:0.4}); |
140 | } | 137 | } |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'hide': function () { | 140 | 'hide': function () { |
144 | if (this.isVisible() == true) { | 141 | if (this.isVisible() == true) { |
145 | MochiKit.Visual.fade(this.displayElement(), {duration:0.4}); | 142 | MochiKit.Visual.fade(this.displayElement(), {duration:0.4}); |
146 | this.setIsVisible(false); | 143 | this.setIsVisible(false); |
147 | } | 144 | } |
148 | }, | 145 | }, |
149 | 146 | ||
150 | //------------------------------------------------------------------------- | 147 | //------------------------------------------------------------------------- |
151 | /* | 148 | /* |
152 | 'shouldRemoveElementWhenClearningUp': function () { | 149 | 'shouldRemoveElementWhenClearningUp': function () { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/RulerComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/RulerComponent.js index ab8a38c..69c1ede 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/RulerComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/RulerComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.RulerComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.RulerComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | Clipperz.PM.UI.Web.Components.RulerComponent.superclass.constructor.apply(this, arguments); | 30 | Clipperz.PM.UI.Web.Components.RulerComponent.superclass.constructor.apply(this, arguments); |
34 | 31 | ||
35 | this._translationContext = args.translationContext|| Clipperz.Base.exception.raise('MandatoryParameter'); | 32 | this._translationContext = args.translationContext|| Clipperz.Base.exception.raise('MandatoryParameter'); |
36 | // this._steps = args.steps || Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | // this._steps = args.steps || Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._steps = args.steps; | 34 | this._steps = args.steps; |
38 | 35 | ||
39 | this._currentStep = -1; | 36 | this._currentStep = -1; |
40 | 37 | ||
41 | return this; | 38 | return this; |
42 | } | 39 | } |
43 | 40 | ||
44 | //============================================================================= | 41 | //============================================================================= |
45 | 42 | ||
46 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.RulerComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { | 43 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.RulerComponent, Clipperz.PM.UI.Common.Components.BaseComponent, { |
47 | 44 | ||
48 | //------------------------------------------------------------------------- | 45 | //------------------------------------------------------------------------- |
49 | 46 | ||
50 | 'toString': function () { | 47 | 'toString': function () { |
51 | return "Clipperz.PM.UI.Web.Components.RulerComponent component"; | 48 | return "Clipperz.PM.UI.Web.Components.RulerComponent component"; |
52 | }, | 49 | }, |
53 | 50 | ||
54 | //------------------------------------------------------------------------- | 51 | //------------------------------------------------------------------------- |
55 | 52 | ||
56 | 'resetStatus': function (args) { | 53 | 'resetStatus': function (args) { |
57 | args = args || {}; | 54 | args = args || {}; |
58 | 55 | ||
59 | if (this.currentStep() != 0) { | 56 | if (this.currentStep() != 0) { |
60 | var shouldAnimateTransition; | 57 | var shouldAnimateTransition; |
61 | 58 | ||
62 | shouldAnimateTransition = args.animateTransition || false; | 59 | shouldAnimateTransition = args.animateTransition || false; |
63 | 60 | ||
64 | if (shouldAnimateTransition) { | 61 | if (shouldAnimateTransition) { |
65 | this.moveToFirstStep(MochiKit.Base.method(this, 'cursorMoved')); | 62 | this.moveToFirstStep(MochiKit.Base.method(this, 'cursorMoved')); |
66 | } else { | 63 | } else { |
67 | this._currentStep = 0; | 64 | this._currentStep = 0; |
68 | this.cursorMoved(); | 65 | this.cursorMoved(); |
69 | } | 66 | } |
70 | } | 67 | } |
71 | }, | 68 | }, |
72 | 69 | ||
73 | //------------------------------------------------------------------------- | 70 | //------------------------------------------------------------------------- |
74 | 71 | ||
75 | 'translationContext': function () { | 72 | 'translationContext': function () { |
76 | return this._translationContext; | 73 | return this._translationContext; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | 'steps': function () { | 76 | 'steps': function () { |
80 | return this._steps; | 77 | return this._steps; |
81 | }, | 78 | }, |
82 | 79 | ||
83 | 'setSteps': function (aValue) { | 80 | 'setSteps': function (aValue) { |
84 | this._steps = aValue; | 81 | this._steps = aValue; |
85 | this.renderStepsComponents(); | 82 | this.renderStepsComponents(); |
86 | this.resetStatus(); | 83 | this.resetStatus(); |
87 | }, | 84 | }, |
88 | 85 | ||
89 | 'translatedStepDescription': function (aStep) { | 86 | 'translatedStepDescription': function (aStep) { |
90 | return Clipperz.PM.Strings.getValue(this.translationContext() + '.' + aStep + '.' + 'name'); | 87 | return Clipperz.PM.Strings.getValue(this.translationContext() + '.' + aStep + '.' + 'name'); |
91 | }, | 88 | }, |
92 | 89 | ||
93 | //------------------------------------------------------------------------- | 90 | //------------------------------------------------------------------------- |
94 | 91 | ||
95 | 'renderSelf': function(/*aContainer, aPosition*/) { | 92 | 'renderSelf': function(/*aContainer, aPosition*/) { |
96 | this.setElement(this.append(MochiKit.DOM.currentDocument().body, [ | 93 | this.setElement(this.append(MochiKit.DOM.currentDocument().body, [ |
97 | {tag:'div', id:this.getId('rulerWrapper'), cls:'rulerWrapper fixed', children:[ | 94 | {tag:'div', id:this.getId('rulerWrapper'), cls:'rulerWrapper fixed', children:[ |
98 | {tag:'div', cls:'ruler', children:[ | 95 | {tag:'div', cls:'ruler', children:[ |
99 | {tag:'a', href:'#', id:this.getId('exit'), cls:'exit', html:' '}, | 96 | {tag:'a', href:'#', id:this.getId('exit'), cls:'exit', html:' '}, |
100 | {tag:'a', href:'#', id:this.getId('smallPreviousButton'),cls:'smallButton previous', html:' '}, | 97 | {tag:'a', href:'#', id:this.getId('smallPreviousButton'),cls:'smallButton previous', html:' '}, |
101 | {tag:'a', href:'#', id:this.getId('smallNextButton'), cls:'smallButton next', html:' '}, | 98 | {tag:'a', href:'#', id:this.getId('smallNextButton'), cls:'smallButton next', html:' '}, |
102 | {tag:'div', cls:'marker', id:this.getId('marker'), children:[ | 99 | {tag:'div', cls:'marker', id:this.getId('marker'), children:[ |
103 | {tag:'div', cls:'previous', id:this.getId('previousButton')}, | 100 | {tag:'div', cls:'previous', id:this.getId('previousButton')}, |
104 | {tag:'div', cls:'markerBody'}, | 101 | {tag:'div', cls:'markerBody'}, |
105 | {tag:'div', cls:'next', id:this.getId('nextButton')} | 102 | {tag:'div', cls:'next', id:this.getId('nextButton')} |
106 | ]}, | 103 | ]}, |
107 | {tag:'div', cls:'steps', id:this.getId('stepsFrame')}, | 104 | {tag:'div', cls:'steps', id:this.getId('stepsFrame')}, |
108 | // {tag:'div', cls:'steps' + ' ' + 'steps_' + this.steps().length, children:[ | 105 | // {tag:'div', cls:'steps' + ' ' + 'steps_' + this.steps().length, children:[ |
109 | // {tag:'ul', id:this.getId('steps'), children:MochiKit.Base.map(MochiKit.Base.bind(function (aStep) { return {tag:'li', children:[{tag:'span', html:this.translatedStepDescription(aStep)}]}}, this), this.steps())} | 106 | // {tag:'ul', id:this.getId('steps'), children:MochiKit.Base.map(MochiKit.Base.bind(function (aStep) { return {tag:'li', children:[{tag:'span', html:this.translatedStepDescription(aStep)}]}}, this), this.steps())} |
110 | // ]}, | 107 | // ]}, |
111 | {tag:'div', cls:'dots', id:this.getId('dotsFrame')} | 108 | {tag:'div', cls:'dots', id:this.getId('dotsFrame')} |
112 | // {tag:'div', cls:'dots' + ' ' + 'steps_' + this.steps().length, children:[ | 109 | // {tag:'div', cls:'dots' + ' ' + 'steps_' + this.steps().length, children:[ |
113 | // {tag:'ul', id:this.getId('dots'), children:MochiKit.Base.map(function (aStep) { return {tag:'li', children:[{tag:'span', html:'*'}]}}, this.steps())} | 110 | // {tag:'ul', id:this.getId('dots'), children:MochiKit.Base.map(function (aStep) { return {tag:'li', children:[{tag:'span', html:'*'}]}}, this.steps())} |
114 | // ]} | 111 | // ]} |
115 | ]} | 112 | ]} |
116 | ]} | 113 | ]} |
117 | ])); | 114 | ])); |
118 | //console.log("ELEMENT", this.element()); | 115 | //console.log("ELEMENT", this.element()); |
119 | 116 | ||
120 | MochiKit.Signal.connect(this.getElement('exit'), 'onclick', this, 'handleExit'); | 117 | MochiKit.Signal.connect(this.getElement('exit'), 'onclick', this, 'handleExit'); |
121 | 118 | ||
122 | MochiKit.Signal.connect(this.getElement('previousButton'), 'onclick', this, 'handlePrevious'); | 119 | MochiKit.Signal.connect(this.getElement('previousButton'), 'onclick', this, 'handlePrevious'); |
123 | MochiKit.Signal.connect(this.getElement('smallPreviousButton'),'onclick', this, 'handlePrevious'); | 120 | MochiKit.Signal.connect(this.getElement('smallPreviousButton'),'onclick', this, 'handlePrevious'); |
124 | 121 | ||
125 | MochiKit.Signal.connect(this.getElement('nextButton'), 'onclick', this, 'handleNext'); | 122 | MochiKit.Signal.connect(this.getElement('nextButton'), 'onclick', this, 'handleNext'); |
126 | MochiKit.Signal.connect(this.getElement('smallNextButton'), 'onclick', this, 'handleNext'); | 123 | MochiKit.Signal.connect(this.getElement('smallNextButton'), 'onclick', this, 'handleNext'); |
127 | 124 | ||
128 | this.enablePrevious(false); | 125 | this.enablePrevious(false); |
129 | this.enableNext(false); | 126 | this.enableNext(false); |
130 | 127 | ||
131 | // this.cursorMoved(); | 128 | // this.cursorMoved(); |
132 | }, | 129 | }, |
133 | 130 | ||
134 | //......................................................................... | 131 | //......................................................................... |
135 | 132 | ||
136 | 'renderStepsComponents': function () { | 133 | 'renderStepsComponents': function () { |
137 | varstepsFrame; | 134 | varstepsFrame; |
138 | var dotsFrame; | 135 | var dotsFrame; |
139 | 136 | ||
140 | stepsFrames = this.getElement('stepsFrame'); | 137 | stepsFrames = this.getElement('stepsFrame'); |
141 | MochiKit.DOM.setElementClass(stepsFrames, 'steps'); | 138 | MochiKit.DOM.setElementClass(stepsFrames, 'steps'); |
142 | MochiKit.DOM.addElementClass(stepsFrames, 'steps_' + this.steps().length); | 139 | MochiKit.DOM.addElementClass(stepsFrames, 'steps_' + this.steps().length); |
143 | 140 | ||
144 | stepsFrames.innerHTML = ""; | 141 | stepsFrames.innerHTML = ""; |
145 | this.append(stepsFrames, {tag:'ul', id:this.getId('steps'), children:MochiKit.Base.map( | 142 | this.append(stepsFrames, {tag:'ul', id:this.getId('steps'), children:MochiKit.Base.map( |
146 | MochiKit.Base.bind(function (aStep) { return {tag:'li', children:[{tag:'span', html:this.translatedStepDescription(aStep)}]}}, this), | 143 | MochiKit.Base.bind(function (aStep) { return {tag:'li', children:[{tag:'span', html:this.translatedStepDescription(aStep)}]}}, this), |
147 | this.steps())} | 144 | this.steps())} |
148 | ); | 145 | ); |
149 | 146 | ||
150 | dotsFrames = this.getElement('dotsFrame'); | 147 | dotsFrames = this.getElement('dotsFrame'); |
151 | MochiKit.DOM.setElementClass(dotsFrames, 'dots'); | 148 | MochiKit.DOM.setElementClass(dotsFrames, 'dots'); |
152 | MochiKit.DOM.addElementClass(dotsFrames, 'steps_' + this.steps().length); | 149 | MochiKit.DOM.addElementClass(dotsFrames, 'steps_' + this.steps().length); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TabSidePanel.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TabSidePanel.js index 39a1ccb..666afe9 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TabSidePanel.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TabSidePanel.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.TabSidePanel = function(args) { | 28 | Clipperz.PM.UI.Web.Components.TabSidePanel = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | Clipperz.PM.UI.Web.Components.TabSidePanel.superclass.constructor.call(this, args); | 30 | Clipperz.PM.UI.Web.Components.TabSidePanel.superclass.constructor.call(this, args); |
34 | 31 | ||
35 | this._element = args.element || null; | 32 | this._element = args.element || null; |
36 | 33 | ||
37 | this._slots = { | 34 | this._slots = { |
38 | }; | 35 | }; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.TabSidePanel, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.TabSidePanel, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.TabSidePanel component"; | 47 | return "Clipperz.PM.UI.Web.Components.TabSidePanel component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'deselectAllTabs': function() { | 52 | 'deselectAllTabs': function() { |
56 | var tabListItems; | 53 | var tabListItems; |
57 | 54 | ||
58 | tabListItems = [ | 55 | tabListItems = [ |
59 | 'cardsLI', | 56 | 'cardsLI', |
60 | // 'directLoginLI', | 57 | // 'directLoginLI', |
61 | 'accountLI', | 58 | 'accountLI', |
62 | 'dataLI', | 59 | 'dataLI', |
63 | 'toolsLI' | 60 | 'toolsLI' |
64 | ]; | 61 | ]; |
65 | 62 | ||
66 | //Clipperz.log("=== TabSidePanel.tabSelected anEvent.src().id", anEvent.src().id); | 63 | //Clipperz.log("=== TabSidePanel.tabSelected anEvent.src().id", anEvent.src().id); |
67 | for (var i in tabListItems) { | 64 | for (var i in tabListItems) { |
68 | //Clipperz.log("=== TabSidePanel.tabSelected aTabListItem", tabListItems[i]); | 65 | //Clipperz.log("=== TabSidePanel.tabSelected aTabListItem", tabListItems[i]); |
69 | MochiKit.DOM.removeElementClass(this.getId(tabListItems[i]), 'selected'); | 66 | MochiKit.DOM.removeElementClass(this.getId(tabListItems[i]), 'selected'); |
70 | } | 67 | } |
71 | }, | 68 | }, |
72 | 69 | ||
73 | 'selectTab': function(aTabName) { | 70 | 'selectTab': function(aTabName) { |
74 | this.deselectAllTabs(); | 71 | this.deselectAllTabs(); |
75 | MochiKit.DOM.addElementClass(this.getId(this.listItemIdForTabNamed(aTabName)), 'selected'); | 72 | MochiKit.DOM.addElementClass(this.getId(this.listItemIdForTabNamed(aTabName)), 'selected'); |
76 | MochiKit.Signal.signal(this, 'tabSelected', aTabName); | 73 | MochiKit.Signal.signal(this, 'tabSelected', aTabName); |
77 | }, | 74 | }, |
78 | 75 | ||
79 | 'tabNameForAnchorId': function(anId) { | 76 | 'tabNameForAnchorId': function(anId) { |
80 | var result; | 77 | var result; |
81 | 78 | ||
82 | switch(anId) { | 79 | switch(anId) { |
83 | case 'cards_tabSidePanel': | 80 | case 'cards_tabSidePanel': |
84 | result = 'cards'; | 81 | result = 'cards'; |
85 | break; | 82 | break; |
86 | // case 'directLogins_tabSidePanel': | 83 | // case 'directLogins_tabSidePanel': |
87 | // result = 'directLogins'; | 84 | // result = 'directLogins'; |
88 | // break; | 85 | // break; |
89 | case 'account_tabSidePanel': | 86 | case 'account_tabSidePanel': |
90 | result = 'account'; | 87 | result = 'account'; |
91 | break; | 88 | break; |
92 | case 'data_tabSidePanel': | 89 | case 'data_tabSidePanel': |
93 | result = 'data'; | 90 | result = 'data'; |
94 | break; | 91 | break; |
95 | case 'tools_tabSidePanel': | 92 | case 'tools_tabSidePanel': |
96 | result = 'tools'; | 93 | result = 'tools'; |
97 | break; | 94 | break; |
98 | } | 95 | } |
99 | 96 | ||
100 | return result; | 97 | return result; |
101 | }, | 98 | }, |
102 | 99 | ||
103 | 'listItemIdForTabNamed': function(aTabName) { | 100 | 'listItemIdForTabNamed': function(aTabName) { |
104 | var result; | 101 | var result; |
105 | 102 | ||
106 | switch (aTabName) { | 103 | switch (aTabName) { |
107 | case 'cards': | 104 | case 'cards': |
108 | result = 'cardsLI'; | 105 | result = 'cardsLI'; |
109 | break; | 106 | break; |
110 | // case 'directLogins': | 107 | // case 'directLogins': |
111 | // result = 'directLoginLI'; | 108 | // result = 'directLoginLI'; |
112 | // break; | 109 | // break; |
113 | case 'account': | 110 | case 'account': |
114 | result = 'accountLI'; | 111 | result = 'accountLI'; |
115 | break; | 112 | break; |
116 | case 'data': | 113 | case 'data': |
117 | result = 'dataLI'; | 114 | result = 'dataLI'; |
118 | break; | 115 | break; |
119 | case 'tools': | 116 | case 'tools': |
120 | result = 'toolsLI'; | 117 | result = 'toolsLI'; |
121 | break; | 118 | break; |
122 | } | 119 | } |
123 | 120 | ||
124 | return result; | 121 | return result; |
125 | }, | 122 | }, |
126 | 123 | ||
127 | 'tabSelected': function (anEvent) { | 124 | 'tabSelected': function (anEvent) { |
128 | this.selectTab(this.tabNameForAnchorId(anEvent.src().id)); | 125 | this.selectTab(this.tabNameForAnchorId(anEvent.src().id)); |
129 | // anEvent.stop(); | 126 | // anEvent.stop(); |
130 | anEvent.preventDefault(); | 127 | anEvent.preventDefault(); |
131 | }, | 128 | }, |
132 | 129 | ||
133 | //------------------------------------------------------------------------- | 130 | //------------------------------------------------------------------------- |
134 | 131 | ||
135 | 'addCard': function (anEvent) { | 132 | 'addCard': function (anEvent) { |
136 | anEvent.stop(); | 133 | anEvent.stop(); |
137 | MochiKit.Signal.signal(this, 'addCard', anEvent.src()); | 134 | MochiKit.Signal.signal(this, 'addCard', anEvent.src()); |
138 | }, | 135 | }, |
139 | 136 | ||
140 | //------------------------------------------------------------------------- | 137 | //------------------------------------------------------------------------- |
141 | 138 | ||
142 | 'renderSelf': function(/*aContainer, aPosition*/) { | 139 | 'renderSelf': function(/*aContainer, aPosition*/) { |
143 | this.append(this.element(), [ | 140 | this.append(this.element(), [ |
144 | {tag:'div', cls:'header'}, | 141 | {tag:'div', cls:'header'}, |
145 | {tag:'div', cls:'body', children:[ | 142 | {tag:'div', cls:'body', children:[ |
146 | {tag:'ul', cls:'mainTabs', children:[ | 143 | {tag:'ul', cls:'mainTabs', children:[ |
147 | {tag:'li', id:this.getId('cardsLI'), cls:'cards', children:[ | 144 | {tag:'li', id:this.getId('cardsLI'), cls:'cards', children:[ |
148 | {tag:'a', id:'cards_tabSidePanel', href:'#', html:"cards"}, | 145 | {tag:'a', id:'cards_tabSidePanel', href:'#', html:"cards"}, |
149 | {tag:'div', cls:'selectionHighlighter', children:[ | 146 | {tag:'div', cls:'selectionHighlighter', children:[ |
150 | {tag:'img', src:'./images/old/main/tabs/selectionHighligher.png'}, | 147 | {tag:'img', src:'./images/old/main/tabs/selectionHighligher.png'}, |
151 | {tag:'a', id:this.getId('addCardA'), cls:'add', href:'#', children:[ | 148 | {tag:'a', id:this.getId('addCardA'), cls:'add', href:'#', children:[ |
152 | {tag:'span', html:"add"}, | 149 | {tag:'span', html:"add"}, |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TextColumnManager.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TextColumnManager.js index 97e81b4..3dc9ce9 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TextColumnManager.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/TextColumnManager.js | |||
@@ -1,53 +1,50 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | //############################################################################# | 28 | //############################################################################# |
32 | 29 | ||
33 | Clipperz.PM.UI.Web.Components.TextColumnManager = function(args) { | 30 | Clipperz.PM.UI.Web.Components.TextColumnManager = function(args) { |
34 | args = args || {}; | 31 | args = args || {}; |
35 | Clipperz.PM.UI.Web.Components.TextColumnManager.superclass.constructor.call(this, args); | 32 | Clipperz.PM.UI.Web.Components.TextColumnManager.superclass.constructor.call(this, args); |
36 | 33 | ||
37 | return this; | 34 | return this; |
38 | } | 35 | } |
39 | 36 | ||
40 | //============================================================================= | 37 | //============================================================================= |
41 | 38 | ||
42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.TextColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { | 39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.TextColumnManager, Clipperz.PM.UI.Web.Components.ColumnManager, { |
43 | 40 | ||
44 | 'toString': function () { | 41 | 'toString': function () { |
45 | return "Clipperz.PM.UI.Web.Components.TextColumnManager component"; | 42 | return "Clipperz.PM.UI.Web.Components.TextColumnManager component"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | //----------------------------------------------------- | 45 | //----------------------------------------------------- |
49 | 46 | ||
50 | '__syntax_fix__' : 'syntax fix' | 47 | '__syntax_fix__' : 'syntax fix' |
51 | 48 | ||
52 | }); | 49 | }); |
53 | 50 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ToolsPanel.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ToolsPanel.js index 179c495..3ee6189 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ToolsPanel.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/ToolsPanel.js | |||
@@ -1,113 +1,110 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.ToolsPanel = function(args) { | 28 | Clipperz.PM.UI.Web.Components.ToolsPanel = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.ToolsPanel.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.ToolsPanel.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._initiallySelectedTab = args.selected || 'PASSWORD_GENERATOR'; | 33 | this._initiallySelectedTab = args.selected || 'PASSWORD_GENERATOR'; |
37 | this._tabPanelControllerConfiguration = { | 34 | this._tabPanelControllerConfiguration = { |
38 | 'PASSWORD_GENERATOR': { | 35 | 'PASSWORD_GENERATOR': { |
39 | tab:'passwordGeneratorTab', | 36 | tab:'passwordGeneratorTab', |
40 | panel:'passwordGeneratorPanel' | 37 | panel:'passwordGeneratorPanel' |
41 | }, | 38 | }, |
42 | 'BOOKMARKLET': { | 39 | 'BOOKMARKLET': { |
43 | tab:'bookmarkletTab', | 40 | tab:'bookmarkletTab', |
44 | panel:'bookmarkletPanel' | 41 | panel:'bookmarkletPanel' |
45 | }, | 42 | }, |
46 | 'COMPACT_EDITION': { | 43 | 'COMPACT_EDITION': { |
47 | tab:'compactEditionTab', | 44 | tab:'compactEditionTab', |
48 | panel:'compactEditionPanel' | 45 | panel:'compactEditionPanel' |
49 | }, | 46 | }, |
50 | 'HTTP_AUTH': { | 47 | 'HTTP_AUTH': { |
51 | tab:'httpAuthTab', | 48 | tab:'httpAuthTab', |
52 | panel:'httpAuthPanel' | 49 | panel:'httpAuthPanel' |
53 | } | 50 | } |
54 | }; | 51 | }; |
55 | 52 | ||
56 | return this; | 53 | return this; |
57 | } | 54 | } |
58 | 55 | ||
59 | //============================================================================= | 56 | //============================================================================= |
60 | 57 | ||
61 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ToolsPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { | 58 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.ToolsPanel, Clipperz.PM.UI.Common.Components.TabPanelComponent, { |
62 | 59 | ||
63 | //------------------------------------------------------------------------- | 60 | //------------------------------------------------------------------------- |
64 | 61 | ||
65 | 'toString': function () { | 62 | 'toString': function () { |
66 | return "Clipperz.PM.UI.Web.Components.ToolsPanel component"; | 63 | return "Clipperz.PM.UI.Web.Components.ToolsPanel component"; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'renderSelf': function(/*aContainer, aPosition*/) { | 68 | 'renderSelf': function(/*aContainer, aPosition*/) { |
72 | this.append(this.element(), [ | 69 | this.append(this.element(), [ |
73 | {tag:'div', cls:'header', children:[ | 70 | {tag:'div', cls:'header', children:[ |
74 | {tag:'div', cls:'subPanelTabs', children:[ | 71 | {tag:'div', cls:'subPanelTabs', children:[ |
75 | {tag:'ul', children:[ | 72 | {tag:'ul', children:[ |
76 | {tag:'li', id:this.getId('passwordGeneratorTab'),children:[{tag:'a', href:'#', html:'Password generator'}], cls:'first'}, | 73 | {tag:'li', id:this.getId('passwordGeneratorTab'),children:[{tag:'a', href:'#', html:'Password generator'}], cls:'first'}, |
77 | {tag:'li', id:this.getId('bookmarkletTab'), children:[{tag:'a', href:'#', html:'Bookmarklet'}]}, | 74 | {tag:'li', id:this.getId('bookmarkletTab'), children:[{tag:'a', href:'#', html:'Bookmarklet'}]}, |
78 | {tag:'li', id:this.getId('compactEditionTab'), children:[{tag:'a', href:'#', html:'Compact edition'}]}, | 75 | {tag:'li', id:this.getId('compactEditionTab'), children:[{tag:'a', href:'#', html:'Compact edition'}]}, |
79 | {tag:'li', id:this.getId('httpAuthTab'), children:[{tag:'a', href:'#', html:'HTTP Auth'}]} | 76 | {tag:'li', id:this.getId('httpAuthTab'), children:[{tag:'a', href:'#', html:'HTTP Auth'}]} |
80 | ]} | 77 | ]} |
81 | ]} | 78 | ]} |
82 | ]}, | 79 | ]}, |
83 | {tag:'div', cls:'body', children:[ | 80 | {tag:'div', cls:'body', children:[ |
84 | {tag:'div', cls:'accountPanel', children:[ | 81 | {tag:'div', cls:'accountPanel', children:[ |
85 | {tag:'div', cls:'subPanelContent', children:[ | 82 | {tag:'div', cls:'subPanelContent', children:[ |
86 | {tag:'ul', children:[ | 83 | {tag:'ul', children:[ |
87 | {tag:'li', id:this.getId('passwordGeneratorPanel'),children:[ | 84 | {tag:'li', id:this.getId('passwordGeneratorPanel'),children:[ |
88 | {tag:'h3', html:"Password generator"} | 85 | {tag:'h3', html:"Password generator"} |
89 | ]}, | 86 | ]}, |
90 | {tag:'li', id:this.getId('bookmarkletPanel'),children:[ | 87 | {tag:'li', id:this.getId('bookmarkletPanel'),children:[ |
91 | {tag:'h3', html:"Bookmarklet"} | 88 | {tag:'h3', html:"Bookmarklet"} |
92 | ]}, | 89 | ]}, |
93 | {tag:'li', id:this.getId('compactEditionPanel'), children:[ | 90 | {tag:'li', id:this.getId('compactEditionPanel'), children:[ |
94 | {tag:'h3', html:"Compact edition"} | 91 | {tag:'h3', html:"Compact edition"} |
95 | ]}, | 92 | ]}, |
96 | {tag:'li', id:this.getId('httpAuthPanel'), children:[ | 93 | {tag:'li', id:this.getId('httpAuthPanel'), children:[ |
97 | {tag:'h3', html:"HTTP Auth"} | 94 | {tag:'h3', html:"HTTP Auth"} |
98 | ]} | 95 | ]} |
99 | ]} | 96 | ]} |
100 | ]} | 97 | ]} |
101 | ]} | 98 | ]} |
102 | ]}, | 99 | ]}, |
103 | {tag:'div', cls:'footer'} | 100 | {tag:'div', cls:'footer'} |
104 | ]); | 101 | ]); |
105 | 102 | ||
106 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); | 103 | this.tabPanelController().setup({selected:this.initiallySelectedTab()}); |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //------------------------------------------------------------------------- | 106 | //------------------------------------------------------------------------- |
110 | 107 | ||
111 | 108 | ||
112 | __syntaxFix__: "syntax fix" | 109 | __syntaxFix__: "syntax fix" |
113 | }); | 110 | }); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UnlockPasswordComponent.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UnlockPasswordComponent.js index 5b9d522..21ccf2a 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UnlockPasswordComponent.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UnlockPasswordComponent.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent = function(args) { | 28 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._openFromElement = args.openFromElement || null; | 33 | this._openFromElement = args.openFromElement || null; |
37 | this._onOkCloseToElement = args.onOkCloseToElement || null; | 34 | this._onOkCloseToElement = args.onOkCloseToElement || null; |
38 | this._onCancelCloseToElement = args.onCancelCloseToElement|| null; | 35 | this._onCancelCloseToElement = args.onCancelCloseToElement|| null; |
39 | 36 | ||
40 | this._progressBarComponent = null; | 37 | this._progressBarComponent = null; |
41 | 38 | ||
42 | return this; | 39 | return this; |
43 | } | 40 | } |
44 | 41 | ||
45 | //============================================================================= | 42 | //============================================================================= |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.UnlockPasswordComponent, Clipperz.PM.UI.Common.Components.SimpleMessagePanel, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.UnlockPasswordComponent, Clipperz.PM.UI.Common.Components.SimpleMessagePanel, { |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'toString': function () { | 48 | 'toString': function () { |
52 | return "Clipperz.PM.UI.Web.Components.UnlockPasswordComponent component"; | 49 | return "Clipperz.PM.UI.Web.Components.UnlockPasswordComponent component"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'getPassphrase': function () { | 54 | 'getPassphrase': function () { |
58 | /* var deferredResult; | 55 | /* var deferredResult; |
59 | 56 | ||
60 | if (this.passphrase() == null) { | 57 | if (this.passphrase() == null) { |
61 | this.deferredShowModal({'openFromElement': this.openFromElement()}); | 58 | this.deferredShowModal({'openFromElement': this.openFromElement()}); |
62 | deferredResult = this.deferred(); | 59 | deferredResult = this.deferred(); |
63 | } else { | 60 | } else { |
64 | deferredResult = MochiKit.Async.succeed(this.passphrase()); | 61 | deferredResult = MochiKit.Async.succeed(this.passphrase()); |
65 | } | 62 | } |
66 | 63 | ||
67 | return deferredResult; | 64 | return deferredResult; |
68 | */ | 65 | */ |
69 | 66 | ||
70 | this.deferredShowModal({'openFromElement': this.openFromElement()}); | 67 | this.deferredShowModal({'openFromElement': this.openFromElement()}); |
71 | 68 | ||
72 | return this.deferred(); | 69 | return this.deferred(); |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //------------------------------------------------------------------------- | 72 | //------------------------------------------------------------------------- |
76 | 73 | ||
77 | 'deferredShowModal': function (someParameters) { | 74 | 'deferredShowModal': function (someParameters) { |
78 | return Clipperz.Async.callbacks("UnlockPasswordComponent.deferredShowModal", [ | 75 | return Clipperz.Async.callbacks("UnlockPasswordComponent.deferredShowModal", [ |
79 | MochiKit.Base.bind(Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.deferredShowModal, this, someParameters), | 76 | MochiKit.Base.bind(Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.deferredShowModal, this, someParameters), |
80 | MochiKit.Base.method(this, 'getElement', 'passphrase'), | 77 | MochiKit.Base.method(this, 'getElement', 'passphrase'), |
81 | MochiKit.Base.methodcaller('focus') | 78 | MochiKit.Base.methodcaller('focus') |
82 | ], {trace:false}) | 79 | ], {trace:false}) |
83 | }, | 80 | }, |
84 | 81 | ||
85 | //------------------------------------------------------------------------- | 82 | //------------------------------------------------------------------------- |
86 | 83 | ||
87 | 'openFromElement': function () { | 84 | 'openFromElement': function () { |
88 | return this._openFromElement; | 85 | return this._openFromElement; |
89 | }, | 86 | }, |
90 | 87 | ||
91 | 'onOkCloseToElement': function () { | 88 | 'onOkCloseToElement': function () { |
92 | return this._onOkCloseToElement; | 89 | return this._onOkCloseToElement; |
93 | }, | 90 | }, |
94 | 91 | ||
95 | 'onCancelCloseToElement': function () { | 92 | 'onCancelCloseToElement': function () { |
96 | return this._onCancelCloseToElement; | 93 | return this._onCancelCloseToElement; |
97 | }, | 94 | }, |
98 | 95 | ||
99 | //------------------------------------------------------------------------- | 96 | //------------------------------------------------------------------------- |
100 | 97 | ||
101 | 'renderSelf': function() { | 98 | 'renderSelf': function() { |
102 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.renderSelf.apply(this, arguments); | 99 | Clipperz.PM.UI.Web.Components.UnlockPasswordComponent.superclass.renderSelf.apply(this, arguments); |
103 | 100 | ||
104 | this.append(this.getElement('container'), {tag:'div', cls:'passphrase', children: [ | 101 | this.append(this.getElement('container'), {tag:'div', cls:'passphrase', children: [ |
105 | // {tag:'form', id:this.getId('passphraseForm'), children:[ | 102 | // {tag:'form', id:this.getId('passphraseForm'), children:[ |
106 | {tag:'input', id:this.getId('passphrase'), type:'password', name:'passphrase', value:''} | 103 | {tag:'input', id:this.getId('passphrase'), type:'password', name:'passphrase', value:''} |
107 | // ]} | 104 | // ]} |
108 | ]}); | 105 | ]}); |
109 | 106 | ||
110 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userSuccessfullyLoggedIn', this, 'userSuccessfullyLoggedInHandler'); | 107 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userSuccessfullyLoggedIn', this, 'userSuccessfullyLoggedInHandler'); |
111 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userLoginFailed', this, 'userLoginFailedHandler'); | 108 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userLoginFailed', this, 'userLoginFailedHandler'); |
112 | 109 | ||
113 | 110 | ||
114 | // MochiKit.Async.callLater(0.1, MochiKit.Base.method(this.getElement('passphrase'), 'focus')); | 111 | // MochiKit.Async.callLater(0.1, MochiKit.Base.method(this.getElement('passphrase'), 'focus')); |
115 | // this.getElement('passphrase').select(); | 112 | // this.getElement('passphrase').select(); |
116 | }, | 113 | }, |
117 | 114 | ||
118 | //------------------------------------------------------------------------- | 115 | //------------------------------------------------------------------------- |
119 | 116 | ||
120 | 'showProgressBar': function () { | 117 | 'showProgressBar': function () { |
121 | varprogressBarElement; | 118 | varprogressBarElement; |
122 | 119 | ||
123 | this.getElement('container').innerHTML = ''; | 120 | this.getElement('container').innerHTML = ''; |
124 | 121 | ||
125 | progressBarElement = this.append(this.getElement('container'), {tag:'div', cls:'progressBarWrapper'}); | 122 | progressBarElement = this.append(this.getElement('container'), {tag:'div', cls:'progressBarWrapper'}); |
126 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':progressBarElement})); | 123 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':progressBarElement})); |
127 | 124 | ||
128 | this.setButtons([{text:"Cancel", result:'CANCEL'}]); | 125 | this.setButtons([{text:"Cancel", result:'CANCEL'}]); |
129 | }, | 126 | }, |
130 | 127 | ||
131 | //------------------------------------------------------------------------- | 128 | //------------------------------------------------------------------------- |
132 | 129 | ||
133 | 'showFailure': function () { | 130 | 'showFailure': function () { |
134 | this.setType('ALERT'); | 131 | this.setType('ALERT'); |
135 | this.setTitle("Login failed"); | 132 | this.setTitle("Login failed"); |
136 | this.setText("Wrong passphrase; the unlock has failed."); | 133 | this.setText("Wrong passphrase; the unlock has failed."); |
137 | this.getElement('container').innerHTML = ''; | 134 | this.getElement('container').innerHTML = ''; |
138 | this.setButtons([{text:"Close", result:'CANCEL', isDefault:true}]); | 135 | this.setButtons([{text:"Close", result:'CANCEL', isDefault:true}]); |
139 | }, | 136 | }, |
140 | 137 | ||
141 | //------------------------------------------------------------------------- | 138 | //------------------------------------------------------------------------- |
142 | 139 | ||
143 | 'closeOk': function () { | 140 | 'closeOk': function () { |
144 | var passphrase; | 141 | var passphrase; |
145 | 142 | ||
146 | passphrase = this.getElement('passphrase').value; | 143 | passphrase = this.getElement('passphrase').value; |
147 | this.showProgressBar(); | 144 | this.showProgressBar(); |
148 | // this.deferred().callback(passphrase); | 145 | // this.deferred().callback(passphrase); |
149 | MochiKit.Async.callLater(0.5, MochiKit.Base.method(this.deferred(), 'callback', passphrase)); | 146 | MochiKit.Async.callLater(0.5, MochiKit.Base.method(this.deferred(), 'callback', passphrase)); |
150 | this._deferred = null; | 147 | this._deferred = null; |
151 | }, | 148 | }, |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js index f26118e..d699dc6 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/UserInfoBox.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Components.UserInfoBox = function(args) { | 28 | Clipperz.PM.UI.Web.Components.UserInfoBox = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Components.UserInfoBox.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.Web.Components.UserInfoBox.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._slots = {}; | 33 | this._slots = {}; |
37 | this._isLocked = false; | 34 | this._isLocked = false; |
38 | this._lockTooltip = null; | 35 | this._lockTooltip = null; |
39 | 36 | ||
40 | return this; | 37 | return this; |
41 | } | 38 | } |
42 | 39 | ||
43 | //============================================================================= | 40 | //============================================================================= |
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.UserInfoBox, Clipperz.PM.UI.Common.Components.BaseComponent, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.UserInfoBox, Clipperz.PM.UI.Common.Components.BaseComponent, { |
46 | 43 | ||
47 | //------------------------------------------------------------------------- | 44 | //------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'toString': function () { | 46 | 'toString': function () { |
50 | return "Clipperz.PM.UI.Web.Components.UserInfoBox component"; | 47 | return "Clipperz.PM.UI.Web.Components.UserInfoBox component"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //------------------------------------------------------------------------- | 50 | //------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'handleLogout': function(anEvent) { | 52 | 'handleLogout': function(anEvent) { |
56 | //Clipperz.log(">>> UserInfoBox.handleLogout"); | 53 | //Clipperz.log(">>> UserInfoBox.handleLogout"); |
57 | anEvent.preventDefault(); | 54 | anEvent.preventDefault(); |
58 | MochiKit.Signal.signal(this, 'logout'); | 55 | MochiKit.Signal.signal(this, 'logout'); |
59 | //Clipperz.log("<<< UserInfoBox.handleLogout"); | 56 | //Clipperz.log("<<< UserInfoBox.handleLogout"); |
60 | }, | 57 | }, |
61 | 58 | ||
62 | //------------------------------------------------------------------------- | 59 | //------------------------------------------------------------------------- |
63 | 60 | ||
64 | 'lockTooltip': function () { | 61 | 'lockTooltip': function () { |
65 | return this._lockTooltip; | 62 | return this._lockTooltip; |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | 'isLocked': function () { | 67 | 'isLocked': function () { |
71 | return this._isLocked; | 68 | return this._isLocked; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'setIsLocked': function (aValue) { | 71 | 'setIsLocked': function (aValue) { |
75 | this._isLocked = aValue; | 72 | this._isLocked = aValue; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | 'toggleLock': function(anEvent) { | 75 | 'toggleLock': function(anEvent) { |
79 | var deferredResult; | 76 | var deferredResult; |
80 | var shouldLock; | 77 | var shouldLock; |
81 | 78 | ||
82 | //console.log(">>> UserInfoBox.toggleLock [locked: " + this.isLocked() + "]"); | 79 | //console.log(">>> UserInfoBox.toggleLock [locked: " + this.isLocked() + "]"); |
83 | anEvent.preventDefault(); | 80 | anEvent.preventDefault(); |
84 | this.lockTooltip().hide(); | 81 | this.lockTooltip().hide(); |
85 | 82 | ||
86 | shouldLock = (this.isLocked() == false); | 83 | shouldLock = (this.isLocked() == false); |
87 | 84 | ||
88 | if (shouldLock) { | 85 | if (shouldLock) { |
89 | var maskElement; | 86 | var maskElement; |
90 | 87 | ||
91 | this.setIsLocked(true); | 88 | this.setIsLocked(true); |
92 | maskElement = this.getId('modalDialogMask'); | 89 | maskElement = this.getId('modalDialogMask'); |
93 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.toggleLock [lock]", [ | 90 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.toggleLock [lock]", [ |
94 | MochiKit.Base.partial(MochiKit.DOM.addElementClass, this.element(), 'locked'), | 91 | MochiKit.Base.partial(MochiKit.DOM.addElementClass, this.element(), 'locked'), |
95 | MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.appear, maskElement, {from:0.0, to:0.75, duration:0.5}), | 92 | MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.appear, maskElement, {from:0.0, to:0.75, duration:0.5}), |
96 | MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', MochiKit.Base.method(this, 'askForPassphrase')), | 93 | MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', MochiKit.Base.method(this, 'askForPassphrase')), |
97 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'lock') | 94 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'lock') |
98 | ], {trace:false}); | 95 | ], {trace:false}); |
99 | } else { | 96 | } else { |
100 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.toggleLock [unlock]", [ | 97 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.toggleLock [unlock]", [ |
101 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'unlock') | 98 | MochiKit.Base.partial(MochiKit.Signal.signal, this, 'unlock') |
102 | ], {trace:false}); | 99 | ], {trace:false}); |
103 | } | 100 | } |
104 | //console.log("<<< UserInfoBox.toggleLock"); | 101 | //console.log("<<< UserInfoBox.toggleLock"); |
105 | 102 | ||
106 | return deferredResult; | 103 | return deferredResult; |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //------------------------------------------------------------------------- | 106 | //------------------------------------------------------------------------- |
110 | 107 | ||
111 | 'unlock': function () { | 108 | 'unlock': function () { |
112 | var deferredResult; | 109 | var deferredResult; |
113 | var maskElement; | 110 | var maskElement; |
114 | 111 | ||
115 | this.setIsLocked(false); | 112 | this.setIsLocked(false); |
116 | maskElement = this.getId('modalDialogMask'); | 113 | maskElement = this.getId('modalDialogMask'); |
117 | 114 | ||
118 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.unlock", [ | 115 | deferredResult = Clipperz.Async.callbacks("UserInfoBox.unlock", [ |
119 | MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, maskElement, {from:0.75, to:0.0, duration:0.5}), | 116 | MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, maskElement, {from:0.75, to:0.0, duration:0.5}), |
120 | // Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, maskElement, {from:0.75, to:0.0, duration:0.5}), | 117 | // Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, maskElement, {from:0.75, to:0.0, duration:0.5}), |
121 | MochiKit.Base.partial(MochiKit.DOM.removeElementClass, this.element(), 'locked') | 118 | MochiKit.Base.partial(MochiKit.DOM.removeElementClass, this.element(), 'locked') |
122 | ], {trace:false}); | 119 | ], {trace:false}); |
123 | }, | 120 | }, |
124 | 121 | ||
125 | //------------------------------------------------------------------------- | 122 | //------------------------------------------------------------------------- |
126 | 123 | ||
127 | 'askForPassphrase': function () { | 124 | 'askForPassphrase': function () { |
128 | varunlockPasswordComponent; | 125 | varunlockPasswordComponent; |
129 | /* | 126 | /* |
130 | vardeferredResult; | 127 | vardeferredResult; |
131 | 128 | ||
132 | deferredResult = new Clipperz.Async.Deferred("UserInfoBox.askForPassphrase", {trace:false}); | 129 | deferredResult = new Clipperz.Async.Deferred("UserInfoBox.askForPassphrase", {trace:false}); |
133 | deferredResult.addCallback(MochiKit.Async.succeed, 'test'); | 130 | deferredResult.addCallback(MochiKit.Async.succeed, 'test'); |
134 | 131 | ||
135 | deferredResult.callback(); | 132 | deferredResult.callback(); |
136 | 133 | ||
137 | return deferredResult; | 134 | return deferredResult; |
138 | */ | 135 | */ |
139 | //console.log(">>> UserInfoBox.askForPassphrase"); | 136 | //console.log(">>> UserInfoBox.askForPassphrase"); |
140 | unlockPasswordComponent = new Clipperz.PM.UI.Web.Components.UnlockPasswordComponent({ | 137 | unlockPasswordComponent = new Clipperz.PM.UI.Web.Components.UnlockPasswordComponent({ |
141 | 'title':"Unlock account", | 138 | 'title':"Unlock account", |
142 | 'text': "Insert the passprase to unlock the account", | 139 | 'text': "Insert the passprase to unlock the account", |
143 | 'type': 'INFO', | 140 | 'type': 'INFO', |
144 | 'buttons': [ | 141 | 'buttons': [ |
145 | {text:"Cancel",result:'CANCEL'}, | 142 | {text:"Cancel",result:'CANCEL'}, |
146 | {text:"Unlock", result:'OK',isDefault:true} | 143 | {text:"Unlock", result:'OK',isDefault:true} |
147 | ], | 144 | ], |
148 | 'openFromElement': this.getElement('lock'), | 145 | 'openFromElement': this.getElement('lock'), |
149 | 'onOkCloseToElement': null, | 146 | 'onOkCloseToElement': null, |
150 | 'onCancelCloseToElement':this.getId('lock') | 147 | 'onCancelCloseToElement':this.getId('lock') |
151 | }); | 148 | }); |
152 | //console.log("<<< UserInfoBox.askForPassphrase"); | 149 | //console.log("<<< UserInfoBox.askForPassphrase"); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js index 05563bf..9a0e744 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.AppController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.AppController = function(args) { |
32 | 29 | ||
33 | this._user = null; | 30 | this._user = null; |
34 | this._tabSlotNames = { | 31 | this._tabSlotNames = { |
35 | //tabName: slotName | 32 | //tabName: slotName |
36 | 'cards': 'cardGrid', | 33 | 'cards': 'cardGrid', |
37 | // 'directLogins':'directLoginGrid', | 34 | // 'directLogins':'directLoginGrid', |
38 | 'account': 'accountPanel', | 35 | 'account': 'accountPanel', |
39 | 'data': 'dataPanel', | 36 | 'data': 'dataPanel', |
40 | 'tools': 'toolsPanel' | 37 | 'tools': 'toolsPanel' |
41 | }; | 38 | }; |
42 | 39 | ||
43 | //controllers | 40 | //controllers |
44 | this._cardsController= null; | 41 | this._cardsController= null; |
45 | //this._directLoginsController = null; | 42 | //this._directLoginsController = null; |
46 | this._filterController = null; //new Clipperz.PM.UI.Web.Controllers.FilterController(); | 43 | this._filterController = null; //new Clipperz.PM.UI.Web.Controllers.FilterController(); |
47 | 44 | ||
48 | //components | 45 | //components |
49 | this._appPage = null; | 46 | this._appPage = null; |
50 | this._userInfoBox = null; | 47 | this._userInfoBox = null; |
51 | this._tabSidePanel = null; | 48 | this._tabSidePanel = null; |
52 | 49 | ||
53 | // MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'editCard', this, 'handleEditCard'); | 50 | // MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'editCard', this, 'handleEditCard'); |
54 | // MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'deleteCard',this, 'handleDeleteCard'); | 51 | // MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'deleteCard',this, 'handleDeleteCard'); |
55 | 52 | ||
56 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userDataSuccessfullySaved',this, 'userDataSuccessfullySavedHandler'); | 53 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'userDataSuccessfullySaved',this, 'userDataSuccessfullySavedHandler'); |
57 | 54 | ||
58 | return this; | 55 | return this; |
59 | } | 56 | } |
60 | 57 | ||
61 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.AppController.prototype, { | 58 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.AppController.prototype, { |
62 | 59 | ||
63 | 'toString': function() { | 60 | 'toString': function() { |
64 | return "Clipperz.PM.UI.Web.Controllers.AppController"; | 61 | return "Clipperz.PM.UI.Web.Controllers.AppController"; |
65 | }, | 62 | }, |
66 | 63 | ||
67 | //----------------------------------------------------------------------------- | 64 | //----------------------------------------------------------------------------- |
68 | 65 | ||
69 | 'setUser': function(anUser) { | 66 | 'setUser': function(anUser) { |
70 | this._user = anUser; | 67 | this._user = anUser; |
71 | }, | 68 | }, |
72 | 69 | ||
73 | 'user': function() { | 70 | 'user': function() { |
74 | return this._user; | 71 | return this._user; |
75 | }, | 72 | }, |
76 | 73 | ||
77 | //----------------------------------------------------------------------------- | 74 | //----------------------------------------------------------------------------- |
78 | /* | 75 | /* |
79 | 'tabSlotNames': function() { | 76 | 'tabSlotNames': function() { |
80 | return this._tabSlotNames; | 77 | return this._tabSlotNames; |
81 | }, | 78 | }, |
82 | */ | 79 | */ |
83 | 'slotNameForTab': function(aTabName) { | 80 | 'slotNameForTab': function(aTabName) { |
84 | return this._tabSlotNames[aTabName]; | 81 | return this._tabSlotNames[aTabName]; |
85 | }, | 82 | }, |
86 | 83 | ||
87 | 'hideAllAppPageTabSlots': function() { | 84 | 'hideAllAppPageTabSlots': function() { |
88 | var aTabName; | 85 | var aTabName; |
89 | 86 | ||
90 | for (aTabName in this._tabSlotNames) { | 87 | for (aTabName in this._tabSlotNames) { |
91 | this.appPage().hideSlot(this.slotNameForTab(aTabName)); | 88 | this.appPage().hideSlot(this.slotNameForTab(aTabName)); |
92 | } | 89 | } |
93 | }, | 90 | }, |
94 | 91 | ||
95 | //----------------------------------------------------------------------------- | 92 | //----------------------------------------------------------------------------- |
96 | 93 | ||
97 | 'appPage': function() { | 94 | 'appPage': function() { |
98 | if (this._appPage == null) { | 95 | if (this._appPage == null) { |
99 | this._appPage = new Clipperz.PM.UI.Web.Components.AppPage(); | 96 | this._appPage = new Clipperz.PM.UI.Web.Components.AppPage(); |
100 | } | 97 | } |
101 | 98 | ||
102 | return this._appPage; | 99 | return this._appPage; |
103 | }, | 100 | }, |
104 | 101 | ||
105 | //----------------------------------------------------------------------------- | 102 | //----------------------------------------------------------------------------- |
106 | 103 | ||
107 | 'tabSidePanel': function() { | 104 | 'tabSidePanel': function() { |
108 | if (this._tabSidePanel == null) { | 105 | if (this._tabSidePanel == null) { |
109 | this._tabSidePanel = new Clipperz.PM.UI.Web.Components.TabSidePanel(); | 106 | this._tabSidePanel = new Clipperz.PM.UI.Web.Components.TabSidePanel(); |
110 | } | 107 | } |
111 | 108 | ||
112 | return this._tabSidePanel; | 109 | return this._tabSidePanel; |
113 | }, | 110 | }, |
114 | 111 | ||
115 | //----------------------------------------------------------------------------- | 112 | //----------------------------------------------------------------------------- |
116 | 113 | ||
117 | 'userInfoBox': function() { | 114 | 'userInfoBox': function() { |
118 | if (this._userInfoBox == null) { | 115 | if (this._userInfoBox == null) { |
119 | this._userInfoBox = new Clipperz.PM.UI.Web.Components.UserInfoBox(); | 116 | this._userInfoBox = new Clipperz.PM.UI.Web.Components.UserInfoBox(); |
120 | 117 | ||
121 | MochiKit.Signal.connect(this._userInfoBox, 'logout',this, 'handleLogout'); | 118 | MochiKit.Signal.connect(this._userInfoBox, 'logout',this, 'handleLogout'); |
122 | MochiKit.Signal.connect(this._userInfoBox, 'lock', this, 'handleLock'); | 119 | MochiKit.Signal.connect(this._userInfoBox, 'lock', this, 'handleLock'); |
123 | MochiKit.Signal.connect(this._userInfoBox, 'unlock',this, 'handleUnlock'); | 120 | MochiKit.Signal.connect(this._userInfoBox, 'unlock',this, 'handleUnlock'); |
124 | } | 121 | } |
125 | 122 | ||
126 | return this._userInfoBox; | 123 | return this._userInfoBox; |
127 | }, | 124 | }, |
128 | 125 | ||
129 | //----------------------------------------------------------------------------- | 126 | //----------------------------------------------------------------------------- |
130 | 127 | ||
131 | 'accountPanel': function () { | 128 | 'accountPanel': function () { |
132 | if (this._accountPanel == null) { | 129 | if (this._accountPanel == null) { |
133 | this._accountPanel = new Clipperz.PM.UI.Web.Components.AccountPanel(/*{selected:'Preferences'}*/); | 130 | this._accountPanel = new Clipperz.PM.UI.Web.Components.AccountPanel(/*{selected:'Preferences'}*/); |
134 | } | 131 | } |
135 | 132 | ||
136 | return this._accountPanel; | 133 | return this._accountPanel; |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //......................................................................... | 136 | //......................................................................... |
140 | 137 | ||
141 | 'dataPanel': function () { | 138 | 'dataPanel': function () { |
142 | if (this._dataPanel == null) { | 139 | if (this._dataPanel == null) { |
143 | this._dataPanel = new Clipperz.PM.UI.Web.Components.DataPanel(); | 140 | this._dataPanel = new Clipperz.PM.UI.Web.Components.DataPanel(); |
144 | } | 141 | } |
145 | 142 | ||
146 | return this._dataPanel; | 143 | return this._dataPanel; |
147 | }, | 144 | }, |
148 | 145 | ||
149 | //......................................................................... | 146 | //......................................................................... |
150 | 147 | ||
151 | 'toolsPanel': function () { | 148 | 'toolsPanel': function () { |
152 | if (this._toolsPanel == null) { | 149 | if (this._toolsPanel == null) { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js index 2340aeb..effde31 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.CardDialogController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.CardDialogController = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Controllers.CardDialogController.superclass.constructor.call(this, args); | 31 | Clipperz.PM.UI.Web.Controllers.CardDialogController.superclass.constructor.call(this, args); |
35 | 32 | ||
36 | this._record = args.record || Clipperz.Base.exception.raise('MandatoryParameter'); | 33 | this._record = args.record || Clipperz.Base.exception.raise('MandatoryParameter'); |
37 | this._delegate = args.delegate || Clipperz.Base.exception.raise('MandatoryParameter'); | 34 | this._delegate = args.delegate || Clipperz.Base.exception.raise('MandatoryParameter'); |
38 | 35 | ||
39 | this._referenceElement = null; | 36 | this._referenceElement = null; |
40 | this._cardDialogComponent = null; | 37 | this._cardDialogComponent = null; |
41 | 38 | ||
42 | this._fieldsReferences = {}; | 39 | this._fieldsReferences = {}; |
43 | this._directLoginReferences = {}; | 40 | this._directLoginReferences = {}; |
44 | 41 | ||
45 | this._directLoginWizardController = null; | 42 | this._directLoginWizardController = null; |
46 | this._directLoginEditingComponent = null; | 43 | this._directLoginEditingComponent = null; |
47 | this._isDirectLoginEditingComponentVisible = false; | 44 | this._isDirectLoginEditingComponentVisible = false; |
48 | 45 | ||
49 | return this; | 46 | return this; |
50 | }; | 47 | }; |
51 | 48 | ||
52 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardDialogController, Object, { | 49 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardDialogController, Object, { |
53 | 50 | ||
54 | 'toString': function() { | 51 | 'toString': function() { |
55 | return "Clipperz.PM.UI.Web.Controllers.CardDialogController"; | 52 | return "Clipperz.PM.UI.Web.Controllers.CardDialogController"; |
56 | }, | 53 | }, |
57 | 54 | ||
58 | //------------------------------------------------------------------------- | 55 | //------------------------------------------------------------------------- |
59 | 56 | ||
60 | 'record': function () { | 57 | 'record': function () { |
61 | return this._record; | 58 | return this._record; |
62 | }, | 59 | }, |
63 | 60 | ||
64 | 'delegate': function () { | 61 | 'delegate': function () { |
65 | return this._delegate; | 62 | return this._delegate; |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //------------------------------------------------------------------------- | 65 | //------------------------------------------------------------------------- |
69 | 66 | ||
70 | 'fieldsReferences': function () { | 67 | 'fieldsReferences': function () { |
71 | return this._fieldsReferences; | 68 | return this._fieldsReferences; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'directLoginReferences': function () { | 71 | 'directLoginReferences': function () { |
75 | return this._directLoginReferences; | 72 | return this._directLoginReferences; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //------------------------------------------------------------------------- | 75 | //------------------------------------------------------------------------- |
79 | 76 | ||
80 | 'referenceElement': function () { | 77 | 'referenceElement': function () { |
81 | return this._referenceElement; | 78 | return this._referenceElement; |
82 | }, | 79 | }, |
83 | 80 | ||
84 | 'setReferenceElement': function (anElement) { | 81 | 'setReferenceElement': function (anElement) { |
85 | this._referenceElement = anElement; | 82 | this._referenceElement = anElement; |
86 | }, | 83 | }, |
87 | 84 | ||
88 | //------------------------------------------------------------------------- | 85 | //------------------------------------------------------------------------- |
89 | 86 | ||
90 | 'cardDialogComponent': function () { | 87 | 'cardDialogComponent': function () { |
91 | if (this._cardDialogComponent == null) { | 88 | if (this._cardDialogComponent == null) { |
92 | this._cardDialogComponent = new Clipperz.PM.UI.Web.Components.CardDialogComponent(); | 89 | this._cardDialogComponent = new Clipperz.PM.UI.Web.Components.CardDialogComponent(); |
93 | 90 | ||
94 | MochiKit.Signal.connect(this._cardDialogComponent, 'cancel', this, 'handleCancel'); | 91 | MochiKit.Signal.connect(this._cardDialogComponent, 'cancel', this, 'handleCancel'); |
95 | MochiKit.Signal.connect(this._cardDialogComponent, 'save', this, 'handleSave'); | 92 | MochiKit.Signal.connect(this._cardDialogComponent, 'save', this, 'handleSave'); |
96 | 93 | ||
97 | MochiKit.Signal.connect(this._cardDialogComponent, 'addField', this, 'handleAddField'); | 94 | MochiKit.Signal.connect(this._cardDialogComponent, 'addField', this, 'handleAddField'); |
98 | MochiKit.Signal.connect(this._cardDialogComponent, 'changedValue',this, 'handleChangedValue'); | 95 | MochiKit.Signal.connect(this._cardDialogComponent, 'changedValue',this, 'handleChangedValue'); |
99 | 96 | ||
100 | MochiKit.Signal.connect(this._cardDialogComponent, 'addDirectLogin',this, 'handleAddDirectLogin'); | 97 | MochiKit.Signal.connect(this._cardDialogComponent, 'addDirectLogin',this, 'handleAddDirectLogin'); |
101 | MochiKit.Signal.connect(this._cardDialogComponent, 'keyPressed',this, 'handleCardDialogComponentKeyPressed'); | 98 | MochiKit.Signal.connect(this._cardDialogComponent, 'keyPressed',this, 'handleCardDialogComponentKeyPressed'); |
102 | } | 99 | } |
103 | 100 | ||
104 | return this._cardDialogComponent; | 101 | return this._cardDialogComponent; |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //========================================================================= | 104 | //========================================================================= |
108 | 105 | ||
109 | 'directLoginWizardController': function () { | 106 | 'directLoginWizardController': function () { |
110 | if (this._directLoginWizardController == null) { | 107 | if (this._directLoginWizardController == null) { |
111 | this._directLoginWizardController = new Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController({ | 108 | this._directLoginWizardController = new Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController({ |
112 | 'cardLabel': this.cardDialogComponent().title(), | 109 | 'cardLabel': this.cardDialogComponent().title(), |
113 | 'directLoginEditingComponent': this.directLoginEditingComponent() | 110 | 'directLoginEditingComponent': this.directLoginEditingComponent() |
114 | }) | 111 | }) |
115 | 112 | ||
116 | MochiKit.Signal.connect(this._directLoginWizardController, 'exit',this, 'handleHideDirectLoginEditingComponent'); | 113 | MochiKit.Signal.connect(this._directLoginWizardController, 'exit',this, 'handleHideDirectLoginEditingComponent'); |
117 | MochiKit.Signal.connect(this._directLoginWizardController, 'done',this, 'handleCompleteDirectLoginEditingComponent'); | 114 | MochiKit.Signal.connect(this._directLoginWizardController, 'done',this, 'handleCompleteDirectLoginEditingComponent'); |
118 | } | 115 | } |
119 | 116 | ||
120 | return this._directLoginWizardController; | 117 | return this._directLoginWizardController; |
121 | }, | 118 | }, |
122 | 119 | ||
123 | //------------------------------------------------------------------------- | 120 | //------------------------------------------------------------------------- |
124 | 121 | ||
125 | 'directLoginEditingComponent': function () { | 122 | 'directLoginEditingComponent': function () { |
126 | if (this._directLoginEditingComponent == null) { | 123 | if (this._directLoginEditingComponent == null) { |
127 | this._directLoginEditingComponent = new Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent(); | 124 | this._directLoginEditingComponent = new Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent(); |
128 | 125 | ||
129 | this.cardDialogComponent().renderDirectLoginEditingComponent(this._directLoginEditingComponent); | 126 | this.cardDialogComponent().renderDirectLoginEditingComponent(this._directLoginEditingComponent); |
130 | 127 | ||
131 | // MochiKit.Signal.connect(this._directLoginEditingComponent, 'back', this, 'handleHideDirectLoginEditingComponent') | 128 | // MochiKit.Signal.connect(this._directLoginEditingComponent, 'back', this, 'handleHideDirectLoginEditingComponent') |
132 | // MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue'); | 129 | // MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue'); |
133 | // MochiKit.Signal.connect(this.__directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed'); | 130 | // MochiKit.Signal.connect(this.__directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed'); |
134 | } | 131 | } |
135 | 132 | ||
136 | return this._directLoginEditingComponent; | 133 | return this._directLoginEditingComponent; |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //------------------------------------------------------------------------- | 136 | //------------------------------------------------------------------------- |
140 | 137 | ||
141 | 'isDirectLoginEditingComponentVisible': function () { | 138 | 'isDirectLoginEditingComponentVisible': function () { |
142 | return this._isDirectLoginEditingComponentVisible; | 139 | return this._isDirectLoginEditingComponentVisible; |
143 | }, | 140 | }, |
144 | 141 | ||
145 | 'setIsDirectLoginEditingComponentVisible': function (aValue) { | 142 | 'setIsDirectLoginEditingComponentVisible': function (aValue) { |
146 | this._isDirectLoginEditingComponentVisible = aValue; | 143 | this._isDirectLoginEditingComponentVisible = aValue; |
147 | }, | 144 | }, |
148 | 145 | ||
149 | //========================================================================= | 146 | //========================================================================= |
150 | 147 | ||
151 | 'run': function (anElement) { | 148 | 'run': function (anElement) { |
152 | var deferredResult; | 149 | var deferredResult; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardsController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardsController.js index b1a34b2..f58f0b8 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardsController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardsController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.CardsController = function() { | 28 | Clipperz.PM.UI.Web.Controllers.CardsController = function() { |
32 | Clipperz.PM.UI.Web.Controllers.CardsController.superclass.constructor.apply(this, arguments); | 29 | Clipperz.PM.UI.Web.Controllers.CardsController.superclass.constructor.apply(this, arguments); |
33 | 30 | ||
34 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'cardDialogComponentClosed', this, 'handleHideCard'); | 31 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'cardDialogComponentClosed', this, 'handleHideCard'); |
35 | 32 | ||
36 | return this; | 33 | return this; |
37 | } | 34 | } |
38 | 35 | ||
39 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardsController, Clipperz.PM.UI.Web.Controllers.GridController, { | 36 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardsController, Clipperz.PM.UI.Web.Controllers.GridController, { |
40 | 37 | ||
41 | 'toString': function() { | 38 | 'toString': function() { |
42 | return "Clipperz.PM.UI.Web.Controllers.CardsController"; | 39 | return "Clipperz.PM.UI.Web.Controllers.CardsController"; |
43 | }, | 40 | }, |
44 | 41 | ||
45 | 'createGrid': function () { | 42 | 'createGrid': function () { |
46 | var grid; | 43 | var grid; |
47 | 44 | ||
48 | grid = new Clipperz.PM.UI.Web.Components.GridComponent({columnsManagers: [ | 45 | grid = new Clipperz.PM.UI.Web.Components.GridComponent({columnsManagers: [ |
49 | new Clipperz.PM.UI.Web.Components.FaviconColumnManager({ | 46 | new Clipperz.PM.UI.Web.Components.FaviconColumnManager({ |
50 | 'name': 'Cards.favicon', | 47 | 'name': 'Cards.favicon', |
51 | 'selector': MochiKit.Base.methodcaller('favicon'), | 48 | 'selector': MochiKit.Base.methodcaller('favicon'), |
52 | 'cssClass': 'favicon' | 49 | 'cssClass': 'favicon' |
53 | }), | 50 | }), |
54 | new Clipperz.PM.UI.Web.Components.LinkColumnManager({ | 51 | new Clipperz.PM.UI.Web.Components.LinkColumnManager({ |
55 | 'name': 'Cards.title', | 52 | 'name': 'Cards.title', |
56 | 'selector': MochiKit.Base.methodcaller('label'), | 53 | 'selector': MochiKit.Base.methodcaller('label'), |
57 | 'label': 'title', | 54 | 'label': 'title', |
58 | 'cssClass': 'title', | 55 | 'cssClass': 'title', |
59 | 'comparator': Clipperz.Base.caseInsensitiveCompare, | 56 | 'comparator': Clipperz.Base.caseInsensitiveCompare, |
60 | 'sortable': true, | 57 | 'sortable': true, |
61 | 'sorted': 'ASCENDING', | 58 | 'sorted': 'ASCENDING', |
62 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'editCard', {objectData:anObject, element:anEvent.src()})} | 59 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'editCard', {objectData:anObject, element:anEvent.src()})} |
63 | 'actionMethod': MochiKit.Base.method(this, 'handleShowCard') | 60 | 'actionMethod': MochiKit.Base.method(this, 'handleShowCard') |
64 | }), | 61 | }), |
65 | new Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager({ | 62 | new Clipperz.PM.UI.Web.Components.DirectLoginsColumnManager({ |
66 | 'name': 'Cards.directLogins', | 63 | 'name': 'Cards.directLogins', |
67 | 'selector': MochiKit.Base.methodcaller('directLoginReferences'), | 64 | 'selector': MochiKit.Base.methodcaller('directLoginReferences'), |
68 | 'label': 'direct logins', | 65 | 'label': 'direct logins', |
69 | 'cssClass': 'directLogin' | 66 | 'cssClass': 'directLogin' |
70 | }), | 67 | }), |
71 | new Clipperz.PM.UI.Web.Components.DateColumnManager({ | 68 | new Clipperz.PM.UI.Web.Components.DateColumnManager({ |
72 | 'name': 'Cards.latestUpdate', | 69 | 'name': 'Cards.latestUpdate', |
73 | 'selector': MochiKit.Base.methodcaller('updateDate'), | 70 | 'selector': MochiKit.Base.methodcaller('updateDate'), |
74 | 'label': 'latest update', | 71 | 'label': 'latest update', |
75 | 'cssClass': 'latestUpdate', | 72 | 'cssClass': 'latestUpdate', |
76 | 'format': 'd-m-Y', | 73 | 'format': 'd-m-Y', |
77 | 'comparator': MochiKit.Base.compare, | 74 | 'comparator': MochiKit.Base.compare, |
78 | 'sortable': true, | 75 | 'sortable': true, |
79 | 'sorted': 'UNSORTED' | 76 | 'sorted': 'UNSORTED' |
80 | }), | 77 | }), |
81 | new Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager({ | 78 | new Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager({ |
82 | 'name': 'Cards.delete', | 79 | 'name': 'Cards.delete', |
83 | 'selector': MochiKit.Base.noop, | 80 | 'selector': MochiKit.Base.noop, |
84 | 'cssClass': 'delete', | 81 | 'cssClass': 'delete', |
85 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'deleteCard', {objectData:anObject, element:anEvent.src()})} | 82 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'deleteCard', {objectData:anObject, element:anEvent.src()})} |
86 | 'actionMethod': MochiKit.Base.method(this, 'handleDeleteCard') | 83 | 'actionMethod': MochiKit.Base.method(this, 'handleDeleteCard') |
87 | }) | 84 | }) |
88 | ]}); | 85 | ]}); |
89 | 86 | ||
90 | grid.setComponentForSlotNamed(new Clipperz.PM.UI.Web.Components.BookmarkletComponent(), 'headerSlot'); | 87 | grid.setComponentForSlotNamed(new Clipperz.PM.UI.Web.Components.BookmarkletComponent(), 'headerSlot'); |
91 | 88 | ||
92 | return grid; | 89 | return grid; |
93 | }, | 90 | }, |
94 | 91 | ||
95 | //----------------------------------------------------------------------------- | 92 | //----------------------------------------------------------------------------- |
96 | 93 | ||
97 | 'getRows': function () { | 94 | 'getRows': function () { |
98 | //TODO relying on user() in GridController, bad code smell :| | 95 | //TODO relying on user() in GridController, bad code smell :| |
99 | return this.user().getRecords(); | 96 | return this.user().getRecords(); |
100 | }, | 97 | }, |
101 | 98 | ||
102 | //============================================================================= | 99 | //============================================================================= |
103 | 100 | ||
104 | 'displayEmptyContent': function () { | 101 | 'displayEmptyContent': function () { |
105 | varemptyGridComponent; | 102 | varemptyGridComponent; |
106 | 103 | ||
107 | emptyGridComponent = new Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent(); | 104 | emptyGridComponent = new Clipperz.PM.UI.Web.Components.CreateNewCardSplashComponent(); |
108 | 105 | ||
109 | return Clipperz.Async.callbacks("CardsController.displayEmptyContent", [ | 106 | return Clipperz.Async.callbacks("CardsController.displayEmptyContent", [ |
110 | MochiKit.Base.method(this.grid(), 'setNoRowsGridComponent', emptyGridComponent), | 107 | MochiKit.Base.method(this.grid(), 'setNoRowsGridComponent', emptyGridComponent), |
111 | MochiKit.Base.bind(Clipperz.PM.UI.Web.Controllers.CardsController.superclass.displayEmptyContent, this) | 108 | MochiKit.Base.bind(Clipperz.PM.UI.Web.Controllers.CardsController.superclass.displayEmptyContent, this) |
112 | ], {trace:false}); | 109 | ], {trace:false}); |
113 | }, | 110 | }, |
114 | 111 | ||
115 | 'displaySelectedRows': function (aFilter) { | 112 | 'displaySelectedRows': function (aFilter) { |
116 | this.columnManagerWithName('Cards.directLogins').hideDirectLoginListPopup(); | 113 | this.columnManagerWithName('Cards.directLogins').hideDirectLoginListPopup(); |
117 | 114 | ||
118 | return Clipperz.PM.UI.Web.Controllers.CardsController.superclass.displaySelectedRows.apply(this, arguments); | 115 | return Clipperz.PM.UI.Web.Controllers.CardsController.superclass.displaySelectedRows.apply(this, arguments); |
119 | }, | 116 | }, |
120 | 117 | ||
121 | //============================================================================= | 118 | //============================================================================= |
122 | 119 | ||
123 | 'handleShowCard': function (anObject, anEvent) { | 120 | 'handleShowCard': function (anObject, anEvent) { |
124 | var cardDialogController; | 121 | var cardDialogController; |
125 | 122 | ||
126 | cardDialogController = new Clipperz.PM.UI.Web.Controllers.CardDialogController({record:anObject, delegate:this}); | 123 | cardDialogController = new Clipperz.PM.UI.Web.Controllers.CardDialogController({record:anObject, delegate:this}); |
127 | this.grid().selectRow(anObject); | 124 | this.grid().selectRow(anObject); |
128 | 125 | ||
129 | cardDialogController.run(anEvent.src()); | 126 | cardDialogController.run(anEvent.src()); |
130 | }, | 127 | }, |
131 | 128 | ||
132 | //......................................................................... | 129 | //......................................................................... |
133 | 130 | ||
134 | 'handleHideCard': function () { | 131 | 'handleHideCard': function () { |
135 | this.focus(); | 132 | this.focus(); |
136 | }, | 133 | }, |
137 | 134 | ||
138 | //----------------------------------------------------------------------------- | 135 | //----------------------------------------------------------------------------- |
139 | 136 | ||
140 | 'addCard': function (aSourceElement) { | 137 | 'addCard': function (aSourceElement) { |
141 | return Clipperz.Async.callbacks("CardsController.addCard", [ | 138 | return Clipperz.Async.callbacks("CardsController.addCard", [ |
142 | Clipperz.Async.collectResults("CardsController.addCard <inner results>", { | 139 | Clipperz.Async.collectResults("CardsController.addCard <inner results>", { |
143 | 'record': MochiKit.Base.method(this.user(), 'createNewRecord'), | 140 | 'record': MochiKit.Base.method(this.user(), 'createNewRecord'), |
144 | 'delegate':MochiKit.Base.partial(MochiKit.Async.succeed, this) | 141 | 'delegate':MochiKit.Base.partial(MochiKit.Async.succeed, this) |
145 | }, {trace:false}), | 142 | }, {trace:false}), |
146 | function (someParameters) { | 143 | function (someParameters) { |
147 | return new Clipperz.PM.UI.Web.Controllers.CardDialogController(someParameters); | 144 | return new Clipperz.PM.UI.Web.Controllers.CardDialogController(someParameters); |
148 | }, | 145 | }, |
149 | MochiKit.Base.methodcaller('run', aSourceElement) | 146 | MochiKit.Base.methodcaller('run', aSourceElement) |
150 | ], {trace:false}); | 147 | ], {trace:false}); |
151 | }, | 148 | }, |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginWizardController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginWizardController.js index 38fdc08..c025a51 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginWizardController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginWizardController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController = function(args) { |
32 | this._directLoginEditingComponent = args.directLoginEditingComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); | 29 | this._directLoginEditingComponent = args.directLoginEditingComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); |
33 | this._cardLabel = args.cardLabel || Clipperz.Base.exception.raise('MandatoryParameter'); | 30 | this._cardLabel = args.cardLabel || Clipperz.Base.exception.raise('MandatoryParameter'); |
34 | 31 | ||
35 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue'); | 32 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue'); |
36 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'moveForward',this, 'handleMoveForward'); | 33 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'moveForward',this, 'handleMoveForward'); |
37 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed'); | 34 | MochiKit.Signal.connect(this._directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed'); |
38 | 35 | ||
39 | this._directLogin = null; | 36 | this._directLogin = null; |
40 | this._directLoginHasJustBeenAdded = false; | 37 | this._directLoginHasJustBeenAdded = false; |
41 | 38 | ||
42 | this._rulerComponent = null; | 39 | this._rulerComponent = null; |
43 | 40 | ||
44 | this._steps = null; | 41 | this._steps = null; |
45 | this._currentStepIndex = 0; | 42 | this._currentStepIndex = 0; |
46 | this._isNextEnabled = false; | 43 | this._isNextEnabled = false; |
47 | 44 | ||
48 | this._recordFields = null; | 45 | this._recordFields = null; |
49 | this._originalBindings = null; | 46 | this._originalBindings = null; |
50 | 47 | ||
51 | this._bindingComponents = []; | 48 | this._bindingComponents = []; |
52 | this._formValueComponents = []; | 49 | this._formValueComponents = []; |
53 | 50 | ||
54 | return this; | 51 | return this; |
55 | } | 52 | } |
56 | 53 | ||
57 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController.prototype, { | 54 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController.prototype, { |
58 | 55 | ||
59 | 'toString': function() { | 56 | 'toString': function() { |
60 | return "Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController"; | 57 | return "Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController"; |
61 | }, | 58 | }, |
62 | 59 | ||
63 | //------------------------------------------------------------------------- | 60 | //------------------------------------------------------------------------- |
64 | 61 | ||
65 | 'directLogin': function () { | 62 | 'directLogin': function () { |
66 | return this._directLogin; | 63 | return this._directLogin; |
67 | }, | 64 | }, |
68 | 65 | ||
69 | //------------------------------------------------------------------------- | 66 | //------------------------------------------------------------------------- |
70 | 67 | ||
71 | 'directLoginHasJustBeenAdded': function () { | 68 | 'directLoginHasJustBeenAdded': function () { |
72 | return this._directLoginHasJustBeenAdded; | 69 | return this._directLoginHasJustBeenAdded; |
73 | }, | 70 | }, |
74 | 71 | ||
75 | 'setDirectLoginHasJustBeenAdded': function (aValue) { | 72 | 'setDirectLoginHasJustBeenAdded': function (aValue) { |
76 | this._directLoginHasJustBeenAdded = aValue; | 73 | this._directLoginHasJustBeenAdded = aValue; |
77 | }, | 74 | }, |
78 | 75 | ||
79 | //------------------------------------------------------------------------- | 76 | //------------------------------------------------------------------------- |
80 | 77 | ||
81 | 'directLoginEditingComponent': function () { | 78 | 'directLoginEditingComponent': function () { |
82 | return this._directLoginEditingComponent; | 79 | return this._directLoginEditingComponent; |
83 | }, | 80 | }, |
84 | 81 | ||
85 | //============================================================================= | 82 | //============================================================================= |
86 | 83 | ||
87 | 'cardLabel': function () { | 84 | 'cardLabel': function () { |
88 | return this._cardLabel; | 85 | return this._cardLabel; |
89 | }, | 86 | }, |
90 | 87 | ||
91 | //============================================================================= | 88 | //============================================================================= |
92 | 89 | ||
93 | 'resetCurrentStepIndex': function () { | 90 | 'resetCurrentStepIndex': function () { |
94 | this._currentStepIndex = 0; | 91 | this._currentStepIndex = 0; |
95 | this.rulerComponent().resetStatus(); | 92 | this.rulerComponent().resetStatus(); |
96 | }, | 93 | }, |
97 | 94 | ||
98 | //----------------------------------------------------------------------------- | 95 | //----------------------------------------------------------------------------- |
99 | 96 | ||
100 | 'enableNext': function (aValue) { | 97 | 'enableNext': function (aValue) { |
101 | this.rulerComponent().enableNext(aValue); | 98 | this.rulerComponent().enableNext(aValue); |
102 | this._isNextEnabled = aValue; | 99 | this._isNextEnabled = aValue; |
103 | }, | 100 | }, |
104 | 101 | ||
105 | 'isNextEnabled': function () { | 102 | 'isNextEnabled': function () { |
106 | return this._isNextEnabled; | 103 | return this._isNextEnabled; |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //----------------------------------------------------------------------------- | 106 | //----------------------------------------------------------------------------- |
110 | 107 | ||
111 | 'enablePrevious': function (aValue) { | 108 | 'enablePrevious': function (aValue) { |
112 | this.rulerComponent().enablePrevious(aValue); | 109 | this.rulerComponent().enablePrevious(aValue); |
113 | }, | 110 | }, |
114 | 111 | ||
115 | //============================================================================= | 112 | //============================================================================= |
116 | 113 | ||
117 | 'bindingComponents': function () { | 114 | 'bindingComponents': function () { |
118 | return this._bindingComponents; | 115 | return this._bindingComponents; |
119 | }, | 116 | }, |
120 | 117 | ||
121 | 'resetBindingComponents': function () { | 118 | 'resetBindingComponents': function () { |
122 | this.directLoginEditingComponent().clearAllBindingsComponents(); | 119 | this.directLoginEditingComponent().clearAllBindingsComponents(); |
123 | this._bindingComponents = []; | 120 | this._bindingComponents = []; |
124 | }, | 121 | }, |
125 | 122 | ||
126 | //============================================================================= | 123 | //============================================================================= |
127 | 124 | ||
128 | 'formValueComponents': function () { | 125 | 'formValueComponents': function () { |
129 | return this._formValueComponents; | 126 | return this._formValueComponents; |
130 | }, | 127 | }, |
131 | 128 | ||
132 | 'resetFormValueComponents': function () { | 129 | 'resetFormValueComponents': function () { |
133 | this.directLoginEditingComponent().clearAllFormValueComponents(); | 130 | this.directLoginEditingComponent().clearAllFormValueComponents(); |
134 | this._formValueComponents = []; | 131 | this._formValueComponents = []; |
135 | }, | 132 | }, |
136 | 133 | ||
137 | //============================================================================= | 134 | //============================================================================= |
138 | 135 | ||
139 | 'recordFields': function () { | 136 | 'recordFields': function () { |
140 | return this._recordFields; | 137 | return this._recordFields; |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'setRecordFields': function (aValue) { | 140 | 'setRecordFields': function (aValue) { |
144 | this._recordFields = aValue; | 141 | this._recordFields = aValue; |
145 | }, | 142 | }, |
146 | 143 | ||
147 | 'recordFieldWithReference': function (aReference) { | 144 | 'recordFieldWithReference': function (aReference) { |
148 | var matchingValues; | 145 | var matchingValues; |
149 | var result; | 146 | var result; |
150 | 147 | ||
151 | matchingValues = MochiKit.Base.filter(function (aField) { return aField['reference'] == aReference; }, this.recordFields()); | 148 | matchingValues = MochiKit.Base.filter(function (aField) { return aField['reference'] == aReference; }, this.recordFields()); |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js index 28401a2..6ca3be4 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js | |||
@@ -1,145 +1,142 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | /* | 26 | /* |
30 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 27 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
31 | 28 | ||
32 | Clipperz.PM.UI.Web.Controllers.DirectLoginsController = function() { | 29 | Clipperz.PM.UI.Web.Controllers.DirectLoginsController = function() { |
33 | Clipperz.PM.UI.Web.Controllers.DirectLoginsController.superclass.constructor.apply(this, arguments); | 30 | Clipperz.PM.UI.Web.Controllers.DirectLoginsController.superclass.constructor.apply(this, arguments); |
34 | 31 | ||
35 | return this; | 32 | return this; |
36 | }; | 33 | }; |
37 | 34 | ||
38 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.DirectLoginsController, Clipperz.PM.UI.Web.Controllers.GridController, { | 35 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.DirectLoginsController, Clipperz.PM.UI.Web.Controllers.GridController, { |
39 | 36 | ||
40 | 'createGrid': function () { | 37 | 'createGrid': function () { |
41 | return new Clipperz.PM.UI.Web.Components.GridComponent({columnsManagers: [ | 38 | return new Clipperz.PM.UI.Web.Components.GridComponent({columnsManagers: [ |
42 | new Clipperz.PM.UI.Web.Components.FaviconColumnManager({ | 39 | new Clipperz.PM.UI.Web.Components.FaviconColumnManager({ |
43 | 'name': 'DirectLogins.favicon', | 40 | 'name': 'DirectLogins.favicon', |
44 | 'selector': MochiKit.Base.methodcaller('favicon'), | 41 | 'selector': MochiKit.Base.methodcaller('favicon'), |
45 | 'cssClass': 'favicon' | 42 | 'cssClass': 'favicon' |
46 | }), | 43 | }), |
47 | // new Clipperz.PM.UI.Web.Components.LinkColumnManager({ | 44 | // new Clipperz.PM.UI.Web.Components.LinkColumnManager({ |
48 | new Clipperz.PM.UI.Web.Components.DirectLoginColumnManager({ | 45 | new Clipperz.PM.UI.Web.Components.DirectLoginColumnManager({ |
49 | 'name': 'DirectLogins.title', | 46 | 'name': 'DirectLogins.title', |
50 | 'selector': MochiKit.Base.methodcaller('label'), | 47 | 'selector': MochiKit.Base.methodcaller('label'), |
51 | 'label': 'title', | 48 | 'label': 'title', |
52 | 'cssClass': 'title', | 49 | 'cssClass': 'title', |
53 | 'comparator': Clipperz.Base.caseInsensitiveCompare, | 50 | 'comparator': Clipperz.Base.caseInsensitiveCompare, |
54 | 'sortable': true, | 51 | 'sortable': true, |
55 | 'sorted': 'ASCENDING', | 52 | 'sorted': 'ASCENDING', |
56 | 'actionMethod': MochiKit.Base.methodcaller('runDirectLogin') | 53 | 'actionMethod': MochiKit.Base.methodcaller('runDirectLogin') |
57 | }), | 54 | }), |
58 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager | 55 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager |
59 | // 'label':'strength', | 56 | // 'label':'strength', |
60 | // 'cssClass':'title', | 57 | // 'cssClass':'title', |
61 | // 'selector': MochiKit.Base.methodcaller('label') //should be 'strength' or a strenght evaluation function | 58 | // 'selector': MochiKit.Base.methodcaller('label') //should be 'strength' or a strenght evaluation function |
62 | // }), | 59 | // }), |
63 | new Clipperz.PM.UI.Web.Components.LinkColumnManager({ | 60 | new Clipperz.PM.UI.Web.Components.LinkColumnManager({ |
64 | 'name': 'DirectLogins.cardTitle', | 61 | 'name': 'DirectLogins.cardTitle', |
65 | 'selector': MochiKit.Base.compose(MochiKit.Base.methodcaller('label'), MochiKit.Base.methodcaller('record')), | 62 | 'selector': MochiKit.Base.compose(MochiKit.Base.methodcaller('label'), MochiKit.Base.methodcaller('record')), |
66 | 'label': 'card', | 63 | 'label': 'card', |
67 | 'cssClass': 'cardTitle', | 64 | 'cssClass': 'cardTitle', |
68 | 'comparator': Clipperz.Base.caseInsensitiveCompare, | 65 | 'comparator': Clipperz.Base.caseInsensitiveCompare, |
69 | 'sortable': true, | 66 | 'sortable': true, |
70 | 'sorted': 'UNSORTED', | 67 | 'sorted': 'UNSORTED', |
71 | 'actionMethod': MochiKit.Base.method(this, 'handleShowCard') | 68 | 'actionMethod': MochiKit.Base.method(this, 'handleShowCard') |
72 | }), | 69 | }), |
73 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager | 70 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager |
74 | // 'label':'last access', | 71 | // 'label':'last access', |
75 | // 'cssClass':'title', | 72 | // 'cssClass':'title', |
76 | // 'selector': MochiKit.Base.methodcaller('label') | 73 | // 'selector': MochiKit.Base.methodcaller('label') |
77 | // // 'sortable': true, | 74 | // // 'sortable': true, |
78 | // // 'sorted': 'UNSORTED' | 75 | // // 'sorted': 'UNSORTED' |
79 | // }), | 76 | // }), |
80 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ | 77 | // new Clipperz.PM.UI.Web.Components.TextColumnManager({ |
81 | // 'label':'commands', | 78 | // 'label':'commands', |
82 | // 'cssClass':'title', | 79 | // 'cssClass':'title', |
83 | // 'selector': MochiKit.Base.methodcaller('label'), //should be a function for commands display | 80 | // 'selector': MochiKit.Base.methodcaller('label'), //should be a function for commands display |
84 | // }), | 81 | // }), |
85 | new Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager({ | 82 | new Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager({ |
86 | 'name': 'DirectLogins.delete', | 83 | 'name': 'DirectLogins.delete', |
87 | 'selector': MochiKit.Base.noop, | 84 | 'selector': MochiKit.Base.noop, |
88 | 'cssClass': 'delete', | 85 | 'cssClass': 'delete', |
89 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'deleteDirectLogin', {objectData:anObject, element:anEvent.src()})} | 86 | // 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'deleteDirectLogin', {objectData:anObject, element:anEvent.src()})} |
90 | 'actionMethod': MochiKit.Base.method(this, 'handleDeleteDirectLogin') | 87 | 'actionMethod': MochiKit.Base.method(this, 'handleDeleteDirectLogin') |
91 | }) | 88 | }) |
92 | ]}); | 89 | ]}); |
93 | 90 | ||
94 | }, | 91 | }, |
95 | 92 | ||
96 | //----------------------------------------------------------------------------- | 93 | //----------------------------------------------------------------------------- |
97 | 94 | ||
98 | 'getRows': function () { | 95 | 'getRows': function () { |
99 | //TODO: relying on user() in GridController, bad code smell :| | 96 | //TODO: relying on user() in GridController, bad code smell :| |
100 | return this.user().getDirectLogins(); | 97 | return this.user().getDirectLogins(); |
101 | }, | 98 | }, |
102 | 99 | ||
103 | //----------------------------------------------------------------------------- | 100 | //----------------------------------------------------------------------------- |
104 | 101 | ||
105 | 'handleShowCard': function (anObject, anEvent) { | 102 | 'handleShowCard': function (anObject, anEvent) { |
106 | var cardDialogController; | 103 | var cardDialogController; |
107 | 104 | ||
108 | cardDialogController = new Clipperz.PM.UI.Web.Controllers.CardDialogController({record:anObject.record()}) | 105 | cardDialogController = new Clipperz.PM.UI.Web.Controllers.CardDialogController({record:anObject.record()}) |
109 | cardDialogController.run(anEvent.src()); | 106 | cardDialogController.run(anEvent.src()); |
110 | }, | 107 | }, |
111 | 108 | ||
112 | //----------------------------------------------------------------------------- | 109 | //----------------------------------------------------------------------------- |
113 | 110 | ||
114 | 'handleDeleteDirectLogin': function (anObject, anEvent) { | 111 | 'handleDeleteDirectLogin': function (anObject, anEvent) { |
115 | var deferredResult; | 112 | var deferredResult; |
116 | var confirmationDialog; | 113 | var confirmationDialog; |
117 | 114 | ||
118 | confirmationDialog = new Clipperz.PM.UI.Common.Components.SimpleMessagePanel({ | 115 | confirmationDialog = new Clipperz.PM.UI.Common.Components.SimpleMessagePanel({ |
119 | title:"Delete DirectLogin", | 116 | title:"Delete DirectLogin", |
120 | text:"Do you want to delete …", | 117 | text:"Do you want to delete …", |
121 | type:'ALERT', | 118 | type:'ALERT', |
122 | buttons: [ | 119 | buttons: [ |
123 | {text:"Cancel",result:'CANCEL', isDefault:true}, | 120 | {text:"Cancel",result:'CANCEL', isDefault:true}, |
124 | {text:"Delete", result:'OK'} | 121 | {text:"Delete", result:'OK'} |
125 | ] | 122 | ] |
126 | }); | 123 | }); |
127 | 124 | ||
128 | deferredResult = new Clipperz.Async.Deferred("AppController.handleDeleteCard", {trace:false}); | 125 | deferredResult = new Clipperz.Async.Deferred("AppController.handleDeleteCard", {trace:false}); |
129 | // deferredResult = confirmationDialog.deferredShow({openFromElement:anEvent.src(), onOkCloseToElement:MochiKit.DOM.currentDocument().body, onCancelCloseToElement:anEvent.src()}); | 126 | // deferredResult = confirmationDialog.deferredShow({openFromElement:anEvent.src(), onOkCloseToElement:MochiKit.DOM.currentDocument().body, onCancelCloseToElement:anEvent.src()}); |
130 | deferredResult.addMethod(confirmationDialog, 'deferredShow', { | 127 | deferredResult.addMethod(confirmationDialog, 'deferredShow', { |
131 | 'openFromElement': anEvent.src(), | 128 | 'openFromElement': anEvent.src(), |
132 | 'onOkCloseToElement': null, //MochiKit.DOM.currentDocument().body, | 129 | 'onOkCloseToElement': null, //MochiKit.DOM.currentDocument().body, |
133 | 'onCancelCloseToElement':anEvent.src() | 130 | 'onCancelCloseToElement':anEvent.src() |
134 | }); | 131 | }); |
135 | deferredResult.addCallback(function () { Clipperz.log("DELETE: " + anObject.toString(), anObject); }); | 132 | deferredResult.addCallback(function () { Clipperz.log("DELETE: " + anObject.toString(), anObject); }); |
136 | deferredResult.addErrbackPass(function () { Clipperz.log("skip deletion: " + anObject.toString(), anObject); }); | 133 | deferredResult.addErrbackPass(function () { Clipperz.log("skip deletion: " + anObject.toString(), anObject); }); |
137 | deferredResult.callback(); | 134 | deferredResult.callback(); |
138 | 135 | ||
139 | return deferredResult; | 136 | return deferredResult; |
140 | }, | 137 | }, |
141 | 138 | ||
142 | //----------------------------------------------------------------------------- | 139 | //----------------------------------------------------------------------------- |
143 | __syntaxFix__: "syntax fix" | 140 | __syntaxFix__: "syntax fix" |
144 | }); | 141 | }); |
145 | */ \ No newline at end of file | 142 | */ \ No newline at end of file |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/FilterController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/FilterController.js index 13e02bc..bfc093a 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/FilterController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/FilterController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.FilterController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.FilterController = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Controllers.FilterController.superclass.constructor.call(this, args); | 31 | Clipperz.PM.UI.Web.Controllers.FilterController.superclass.constructor.call(this, args); |
35 | 32 | ||
36 | this._filterElements = []; | 33 | this._filterElements = []; |
37 | this._filter = ""; | 34 | this._filter = ""; |
38 | 35 | ||
39 | this._pendingSearchClicks = 0; | 36 | this._pendingSearchClicks = 0; |
40 | 37 | ||
41 | return this; | 38 | return this; |
42 | }; | 39 | }; |
43 | 40 | ||
44 | 41 | ||
45 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.FilterController, Object, { | 42 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.FilterController, Object, { |
46 | 43 | ||
47 | //----------------------------------------------------------------------------- | 44 | //----------------------------------------------------------------------------- |
48 | 45 | ||
49 | 'getFilter': function () { | 46 | 'getFilter': function () { |
50 | return this._filter; | 47 | return this._filter; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | '_setFilter': function (aFilterElement, aFilter) { | 50 | '_setFilter': function (aFilterElement, aFilter) { |
54 | if (aFilter != this._filter) { | 51 | if (aFilter != this._filter) { |
55 | this._filter = aFilter; | 52 | this._filter = aFilter; |
56 | MochiKit.Signal.signal(this, 'filterUpdated', aFilter); | 53 | MochiKit.Signal.signal(this, 'filterUpdated', aFilter); |
57 | this.updateFilterElements(aFilterElement, aFilter); | 54 | this.updateFilterElements(aFilterElement, aFilter); |
58 | } | 55 | } |
59 | }, | 56 | }, |
60 | 57 | ||
61 | 'setFilter': function (aFilter) { | 58 | 'setFilter': function (aFilter) { |
62 | this._setFilter(null, aFilter); | 59 | this._setFilter(null, aFilter); |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //----------------------------------------------------------------------------- | 62 | //----------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'filterElements': function () { | 64 | 'filterElements': function () { |
68 | return this._filterElements; | 65 | return this._filterElements; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | 'registerFilterElement': function (aFilterElement) { | 68 | 'registerFilterElement': function (aFilterElement) { |
72 | //Clipperz.log("=== FilterController.registerFilterElement", aFilterElement); | 69 | //Clipperz.log("=== FilterController.registerFilterElement", aFilterElement); |
73 | this._filterElements.push(aFilterElement); | 70 | this._filterElements.push(aFilterElement); |
74 | MochiKit.Signal.connect(aFilterElement, 'onkeydown', this, 'searchClickHandler'); | 71 | MochiKit.Signal.connect(aFilterElement, 'onkeydown', this, 'searchClickHandler'); |
75 | MochiKit.Signal.connect(aFilterElement, 'onfocus', this, 'searchClickHandler'); | 72 | MochiKit.Signal.connect(aFilterElement, 'onfocus', this, 'searchClickHandler'); |
76 | }, | 73 | }, |
77 | 74 | ||
78 | 'removeFilterElement': function (aFilterElement) { | 75 | 'removeFilterElement': function (aFilterElement) { |
79 | var i; | 76 | var i; |
80 | var filterElements; | 77 | var filterElements; |
81 | for (i=0; i < filterElements; i++) { | 78 | for (i=0; i < filterElements; i++) { |
82 | if (filterElements[i] == aFilterElement); | 79 | if (filterElements[i] == aFilterElement); |
83 | filterElements.splice(i, 1); | 80 | filterElements.splice(i, 1); |
84 | // TODO unregister/disconnect filterElement ??MochiKit.Signal.disconnect(this.grid().filterElement(), 'updateFilter', this.filterController(), 'handleUpdateFilter'); | 81 | // TODO unregister/disconnect filterElement ??MochiKit.Signal.disconnect(this.grid().filterElement(), 'updateFilter', this.filterController(), 'handleUpdateFilter'); |
85 | } | 82 | } |
86 | }, | 83 | }, |
87 | 84 | ||
88 | 'updateFilterElements': function (aSourceElement, aFilterString) { | 85 | 'updateFilterElements': function (aSourceElement, aFilterString) { |
89 | MochiKit.Iter.forEach(this.filterElements(), | 86 | MochiKit.Iter.forEach(this.filterElements(), |
90 | function (aFilterElement) { | 87 | function (aFilterElement) { |
91 | if (aFilterElement != aSourceElement) { | 88 | if (aFilterElement != aSourceElement) { |
92 | aFilterElement.value = aFilterString; | 89 | aFilterElement.value = aFilterString; |
93 | } | 90 | } |
94 | } | 91 | } |
95 | ); | 92 | ); |
96 | 93 | ||
97 | if (aSourceElement != null) { | 94 | if (aSourceElement != null) { |
98 | aSourceElement.focus(); | 95 | aSourceElement.focus(); |
99 | } | 96 | } |
100 | }, | 97 | }, |
101 | 98 | ||
102 | //----------------------------------------------------------------------------- | 99 | //----------------------------------------------------------------------------- |
103 | 100 | ||
104 | 'run': function () { | 101 | 'run': function () { |
105 | //Clipperz.log("=== FilterController.run"); | 102 | //Clipperz.log("=== FilterController.run"); |
106 | }, | 103 | }, |
107 | 104 | ||
108 | //----------------------------------------------------------------------------- | 105 | //----------------------------------------------------------------------------- |
109 | 106 | ||
110 | 'pendingSearchClicks': function () { | 107 | 'pendingSearchClicks': function () { |
111 | return this._pendingSearchClicks; | 108 | return this._pendingSearchClicks; |
112 | }, | 109 | }, |
113 | 110 | ||
114 | 'incrementPendingSearchClicks': function () { | 111 | 'incrementPendingSearchClicks': function () { |
115 | this._pendingSearchClicks++; | 112 | this._pendingSearchClicks++; |
116 | }, | 113 | }, |
117 | 114 | ||
118 | 'decrementPendingSearchClicks': function () { | 115 | 'decrementPendingSearchClicks': function () { |
119 | this._pendingSearchClicks--; | 116 | this._pendingSearchClicks--; |
120 | }, | 117 | }, |
121 | 118 | ||
122 | //----------------------------------------------------------------------------- | 119 | //----------------------------------------------------------------------------- |
123 | 120 | ||
124 | 'searchClickHandler': function (anEvent) { | 121 | 'searchClickHandler': function (anEvent) { |
125 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { | 122 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { |
126 | anEvent.preventDefault(); | 123 | anEvent.preventDefault(); |
127 | } else { | 124 | } else { |
128 | var value; | 125 | var value; |
129 | 126 | ||
130 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ESCAPE')) { | 127 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ESCAPE')) { |
131 | value = "" | 128 | value = "" |
132 | } else if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ARROW_UP')) { | 129 | } else if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ARROW_UP')) { |
133 | } else if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ARROW_DOWN')) { | 130 | } else if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ARROW_DOWN')) { |
134 | } else { | 131 | } else { |
135 | value = null; | 132 | value = null; |
136 | } | 133 | } |
137 | 134 | ||
138 | this.incrementPendingSearchClicks(); | 135 | this.incrementPendingSearchClicks(); |
139 | MochiKit.Async.callLater(0.1, MochiKit.Base.method(this, "searchClickDeferredHandler", anEvent.src(), value)); | 136 | MochiKit.Async.callLater(0.1, MochiKit.Base.method(this, "searchClickDeferredHandler", anEvent.src(), value)); |
140 | } | 137 | } |
141 | }, | 138 | }, |
142 | 139 | ||
143 | //......................................................................... | 140 | //......................................................................... |
144 | 141 | ||
145 | 'searchClickDeferredHandler': function (aFilterElement, aValue) { | 142 | 'searchClickDeferredHandler': function (aFilterElement, aValue) { |
146 | if (aValue != null) { | 143 | if (aValue != null) { |
147 | aFilterElement.value = aValue; | 144 | aFilterElement.value = aValue; |
148 | } | 145 | } |
149 | 146 | ||
150 | this.decrementPendingSearchClicks(); | 147 | this.decrementPendingSearchClicks(); |
151 | if (this.pendingSearchClicks()==0) { | 148 | if (this.pendingSearchClicks()==0) { |
152 | this._setFilter(aFilterElement, aFilterElement.value); | 149 | this._setFilter(aFilterElement, aFilterElement.value); |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/GridController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/GridController.js index 740a091..8bb3016 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/GridController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/GridController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.GridController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.GridController = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.Web.Controllers.GridController.superclass.constructor.call(this, args); | 31 | Clipperz.PM.UI.Web.Controllers.GridController.superclass.constructor.call(this, args); |
35 | 32 | ||
36 | this._grid = null; | 33 | this._grid = null; |
37 | this._user = null; | 34 | this._user = null; |
38 | this._sortedColumnManager = null; | 35 | this._sortedColumnManager = null; |
39 | this._cachedObjects = null; | 36 | this._cachedObjects = null; |
40 | this._filterController = args.filterController || null; | 37 | this._filterController = args.filterController || null; |
41 | 38 | ||
42 | this._deferredDisplaySelectedRowsInvocation = null; | 39 | this._deferredDisplaySelectedRowsInvocation = null; |
43 | 40 | ||
44 | return this; | 41 | return this; |
45 | }; | 42 | }; |
46 | 43 | ||
47 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.GridController, Object, { | 44 | Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.GridController, Object, { |
48 | 45 | ||
49 | 'toString': function() { | 46 | 'toString': function() { |
50 | return "Clipperz.PM.UI.Web.Controllers.GridController"; | 47 | return "Clipperz.PM.UI.Web.Controllers.GridController"; |
51 | }, | 48 | }, |
52 | 49 | ||
53 | //----------------------------------------------------------------------------- | 50 | //----------------------------------------------------------------------------- |
54 | 51 | ||
55 | 'createGrid': function () { | 52 | 'createGrid': function () { |
56 | throw Clipperz.Base.exception.AbstractMethod; | 53 | throw Clipperz.Base.exception.AbstractMethod; |
57 | }, | 54 | }, |
58 | 55 | ||
59 | 'setupWithGrid': function (aGrid) { | 56 | 'setupWithGrid': function (aGrid) { |
60 | this._grid = aGrid; | 57 | this._grid = aGrid; |
61 | 58 | ||
62 | if (this._grid != null) { | 59 | if (this._grid != null) { |
63 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { | 60 | MochiKit.Iter.forEach(this.columnsManagers(), function (aColumnManager) { |
64 | if (aColumnManager.isSortable()) { | 61 | if (aColumnManager.isSortable()) { |
65 | if (aColumnManager.isSorted()) { | 62 | if (aColumnManager.isSorted()) { |
66 | this.setSortedColumnManager(aColumnManager); | 63 | this.setSortedColumnManager(aColumnManager); |
67 | } | 64 | } |
68 | MochiKit.Signal.connect(aColumnManager, 'sort', this, 'handleColumnManagerSort'); | 65 | MochiKit.Signal.connect(aColumnManager, 'sort', this, 'handleColumnManagerSort'); |
69 | } | 66 | } |
70 | MochiKit.Signal.connect(aColumnManager, 'selectRow', this, 'handleColumnManagerSelectRow'); | 67 | MochiKit.Signal.connect(aColumnManager, 'selectRow', this, 'handleColumnManagerSelectRow'); |
71 | MochiKit.Signal.connect(aColumnManager, 'unselectRow', this, 'handleColumnManagerUnselectRow'); | 68 | MochiKit.Signal.connect(aColumnManager, 'unselectRow', this, 'handleColumnManagerUnselectRow'); |
72 | }, this); | 69 | }, this); |
73 | } | 70 | } |
74 | }, | 71 | }, |
75 | 72 | ||
76 | 'grid': function() { | 73 | 'grid': function() { |
77 | if (this._grid == null) { | 74 | if (this._grid == null) { |
78 | this.setupWithGrid(this.createGrid()); | 75 | this.setupWithGrid(this.createGrid()); |
79 | } | 76 | } |
80 | 77 | ||
81 | return this._grid; | 78 | return this._grid; |
82 | }, | 79 | }, |
83 | 80 | ||
84 | 'filterController': function () { | 81 | 'filterController': function () { |
85 | //Clipperz.log('GridController.filterController >>>', this._filterController); | 82 | //Clipperz.log('GridController.filterController >>>', this._filterController); |
86 | if (this._filterController == null) { | 83 | if (this._filterController == null) { |
87 | this._filterController = new Clipperz.PM.UI.Web.Controllers.FilterController(); | 84 | this._filterController = new Clipperz.PM.UI.Web.Controllers.FilterController(); |
88 | } | 85 | } |
89 | //Clipperz.log('GridController.filterController <<<', this._filterController); | 86 | //Clipperz.log('GridController.filterController <<<', this._filterController); |
90 | return this._filterController; | 87 | return this._filterController; |
91 | }, | 88 | }, |
92 | 89 | ||
93 | //----------------------------------------------------------------------------- | 90 | //----------------------------------------------------------------------------- |
94 | 91 | ||
95 | 'columnsManagers': function () { | 92 | 'columnsManagers': function () { |
96 | return this.grid().columnsManagers(); | 93 | return this.grid().columnsManagers(); |
97 | }, | 94 | }, |
98 | 95 | ||
99 | 'columnManagerWithName': function (aName) { | 96 | 'columnManagerWithName': function (aName) { |
100 | varmanagers; | 97 | varmanagers; |
101 | var result; | 98 | var result; |
102 | 99 | ||
103 | managers = MochiKit.Base.filter(function (aManager) { return aManager.name() == aName; } , this.columnsManagers()); | 100 | managers = MochiKit.Base.filter(function (aManager) { return aManager.name() == aName; } , this.columnsManagers()); |
104 | 101 | ||
105 | if (managers.length == 1) { | 102 | if (managers.length == 1) { |
106 | result = managers[0]; | 103 | result = managers[0]; |
107 | } else if (managers.length == 0) { | 104 | } else if (managers.length == 0) { |
108 | result = null; | 105 | result = null; |
109 | } else { | 106 | } else { |
110 | throw "WTF!!!"; | 107 | throw "WTF!!!"; |
111 | } | 108 | } |
112 | 109 | ||
113 | return result; | 110 | return result; |
114 | }, | 111 | }, |
115 | 112 | ||
116 | 'sortedColumnManager': function () { | 113 | 'sortedColumnManager': function () { |
117 | return this._sortedColumnManager; | 114 | return this._sortedColumnManager; |
118 | }, | 115 | }, |
119 | 116 | ||
120 | 'setSortedColumnManager': function(aValue) { | 117 | 'setSortedColumnManager': function(aValue) { |
121 | if (aValue.sorted() != 'UNSORTED') { | 118 | if (aValue.sorted() != 'UNSORTED') { |
122 | this._sortedColumnManager = aValue; | 119 | this._sortedColumnManager = aValue; |
123 | } else { | 120 | } else { |
124 | this._sortedColumnManager = null; | 121 | this._sortedColumnManager = null; |
125 | } | 122 | } |
126 | }, | 123 | }, |
127 | 124 | ||
128 | //----------------------------------------------------------------------------- | 125 | //----------------------------------------------------------------------------- |
129 | 126 | ||
130 | 'handleColumnManagerSort': function(aSelectedColumnManager) { | 127 | 'handleColumnManagerSort': function(aSelectedColumnManager) { |
131 | MochiKit.Iter.forEach(this.columnsManagers(), function(aColumnManager) { | 128 | MochiKit.Iter.forEach(this.columnsManagers(), function(aColumnManager) { |
132 | if (aSelectedColumnManager != aColumnManager) { | 129 | if (aSelectedColumnManager != aColumnManager) { |
133 | if (aColumnManager.isSortable()) { | 130 | if (aColumnManager.isSortable()) { |
134 | aColumnManager.setSorted('UNSORTED'); | 131 | aColumnManager.setSorted('UNSORTED'); |
135 | } | 132 | } |
136 | } | 133 | } |
137 | }); | 134 | }); |
138 | 135 | ||
139 | aSelectedColumnManager.toggleSorting(); | 136 | aSelectedColumnManager.toggleSorting(); |
140 | this.setSortedColumnManager(aSelectedColumnManager); | 137 | this.setSortedColumnManager(aSelectedColumnManager); |
141 | 138 | ||
142 | this.displaySelectedRows(this.filterController().getFilter()); | 139 | this.displaySelectedRows(this.filterController().getFilter()); |
143 | }, | 140 | }, |
144 | 141 | ||
145 | 'handleColumnManagerSelectRow': function (aRowObject) { | 142 | 'handleColumnManagerSelectRow': function (aRowObject) { |
146 | this.grid().selectRow(aRowObject); | 143 | this.grid().selectRow(aRowObject); |
147 | }, | 144 | }, |
148 | 145 | ||
149 | 'handleColumnManagerUnselectRow': function (aRowObject) { | 146 | 'handleColumnManagerUnselectRow': function (aRowObject) { |
150 | this.grid().unselectRow(aRowObject); | 147 | this.grid().unselectRow(aRowObject); |
151 | }, | 148 | }, |
152 | 149 | ||
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js index d88af41..d0b378c 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.LoginController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.LoginController = function(args) { |
32 | this._args = args || {}; | 29 | this._args = args || {}; |
33 | 30 | ||
34 | this._loginPage = null; | 31 | this._loginPage = null; |
35 | 32 | ||
36 | this._newUserWizardController = null; | 33 | this._newUserWizardController = null; |
37 | this._newUserCreationComponent = null; | 34 | this._newUserCreationComponent = null; |
38 | 35 | ||
39 | return this; | 36 | return this; |
40 | } | 37 | } |
41 | 38 | ||
42 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.LoginController.prototype, { | 39 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.LoginController.prototype, { |
43 | 40 | ||
44 | 'toString': function() { | 41 | 'toString': function() { |
45 | return "Clipperz.PM.UI.Web.Controllers.LoginController"; | 42 | return "Clipperz.PM.UI.Web.Controllers.LoginController"; |
46 | }, | 43 | }, |
47 | 44 | ||
48 | 'args': function () { | 45 | 'args': function () { |
49 | return this._args; | 46 | return this._args; |
50 | }, | 47 | }, |
51 | 48 | ||
52 | //----------------------------------------------------------------------------- | 49 | //----------------------------------------------------------------------------- |
53 | 50 | ||
54 | 'loginPage': function() { | 51 | 'loginPage': function() { |
55 | if (this._loginPage == null) { | 52 | if (this._loginPage == null) { |
56 | this._loginPage = new Clipperz.PM.UI.Web.Components.LoginPage(); | 53 | this._loginPage = new Clipperz.PM.UI.Web.Components.LoginPage(); |
57 | 54 | ||
58 | MochiKit.Signal.connect(this._loginPage, 'createNewAccountClick', this, 'handleCreateNewAccountClick') | 55 | MochiKit.Signal.connect(this._loginPage, 'createNewAccountClick', this, 'handleCreateNewAccountClick') |
59 | } | 56 | } |
60 | 57 | ||
61 | return this._loginPage; | 58 | return this._loginPage; |
62 | }, | 59 | }, |
63 | 60 | ||
64 | //----------------------------------------------------------------------------- | 61 | //----------------------------------------------------------------------------- |
65 | 62 | ||
66 | 'run': function(args) { | 63 | 'run': function(args) { |
67 | varslot; | 64 | varslot; |
68 | varloginPage; | 65 | varloginPage; |
69 | varloginForm; | 66 | varloginForm; |
70 | 67 | ||
71 | slot = args.slot; | 68 | slot = args.slot; |
72 | 69 | ||
73 | loginForm =new Clipperz.PM.UI.Web.Components.LoginForm({'autocomplete': this.args()['autocomplete']}); | 70 | loginForm =new Clipperz.PM.UI.Web.Components.LoginForm({'autocomplete': this.args()['autocomplete']}); |
74 | 71 | ||
75 | slot.setContent(this.loginPage()); | 72 | slot.setContent(this.loginPage()); |
76 | this.loginPage().slotNamed('loginForm').setContent(loginForm); | 73 | this.loginPage().slotNamed('loginForm').setContent(loginForm); |
77 | 74 | ||
78 | MochiKit.Signal.connect(loginForm, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); | 75 | MochiKit.Signal.connect(loginForm, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); |
79 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); | 76 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'doLogin', MochiKit.Base.method(this, 'doLogin', loginForm)); |
80 | }, | 77 | }, |
81 | 78 | ||
82 | //----------------------------------------------------------------------------- | 79 | //----------------------------------------------------------------------------- |
83 | 80 | ||
84 | 'doLogin': function(aLoginForm, anEvent) { | 81 | 'doLogin': function(aLoginForm, anEvent) { |
85 | var deferredResult; | 82 | var deferredResult; |
86 | varparameters; | 83 | varparameters; |
87 | // varshouldUseOTP; | 84 | // varshouldUseOTP; |
88 | var loginProgress; | 85 | var loginProgress; |
89 | varuser; | 86 | varuser; |
90 | var getPassphraseDelegate; | 87 | var getPassphraseDelegate; |
91 | 88 | ||
92 | parameters = anEvent; | 89 | parameters = anEvent; |
93 | // shouldUseOTP = (typeof(parameters.passphrase) == 'undefined'); | 90 | // shouldUseOTP = (typeof(parameters.passphrase) == 'undefined'); |
94 | 91 | ||
95 | getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase); | 92 | getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase); |
96 | user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')}); | 93 | user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')}); |
97 | 94 | ||
98 | loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress(); | 95 | loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress(); |
99 | 96 | ||
100 | deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false}); | 97 | deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false}); |
101 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4}); | 98 | deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4}); |
102 | deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate); | 99 | deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate); |
103 | deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()}); | 100 | deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()}); |
104 | deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection'); | 101 | deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection'); |
105 | // if (shouldUseOTP == false) { | 102 | // if (shouldUseOTP == false) { |
106 | deferredResult.addMethod(user, 'login'); | 103 | deferredResult.addMethod(user, 'login'); |
107 | // } else { | 104 | // } else { |
108 | // deferredResult.addMethod(user, 'loginUsingOTP', parameters.username, parameters.otp); | 105 | // deferredResult.addMethod(user, 'loginUsingOTP', parameters.username, parameters.otp); |
109 | // } | 106 | // } |
110 | deferredResult.addCallback(function(aLoginProgress, res) { | 107 | deferredResult.addCallback(function(aLoginProgress, res) { |
111 | aLoginProgress.disableCancel(); | 108 | aLoginProgress.disableCancel(); |
112 | return res; | 109 | return res; |
113 | }, loginProgress); | 110 | }, loginProgress); |
114 | deferredResult.addCallback(function () { | 111 | deferredResult.addCallback(function () { |
115 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body})); | 112 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body})); |
116 | }) | 113 | }) |
117 | deferredResult.addMethod(this, 'userLoggedIn', user, loginProgress, aLoginForm); | 114 | deferredResult.addMethod(this, 'userLoggedIn', user, loginProgress, aLoginForm); |
118 | deferredResult.addErrback (MochiKit.Base.method(this, 'handleFailedLogin', loginProgress)); | 115 | deferredResult.addErrback (MochiKit.Base.method(this, 'handleFailedLogin', loginProgress)); |
119 | 116 | ||
120 | deferredResult.addErrback (MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:aLoginForm.submitButtonElement()})); | 117 | deferredResult.addErrback (MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:aLoginForm.submitButtonElement()})); |
121 | deferredResult.addErrbackPass (MochiKit.Base.method(aLoginForm, 'focusOnPassphraseField')); | 118 | deferredResult.addErrbackPass (MochiKit.Base.method(aLoginForm, 'focusOnPassphraseField')); |
122 | deferredResult.addBoth(MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'removePassphraseDelegate', getPassphraseDelegate)); | 119 | deferredResult.addBoth(MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'removePassphraseDelegate', getPassphraseDelegate)); |
123 | deferredResult.callback(); | 120 | deferredResult.callback(); |
124 | 121 | ||
125 | MochiKit.Signal.connect(loginProgress, 'cancelEvent', deferredResult, 'cancel'); | 122 | MochiKit.Signal.connect(loginProgress, 'cancelEvent', deferredResult, 'cancel'); |
126 | 123 | ||
127 | return deferredResult; | 124 | return deferredResult; |
128 | }, | 125 | }, |
129 | 126 | ||
130 | //----------------------------------------------------------------------------- | 127 | //----------------------------------------------------------------------------- |
131 | 128 | ||
132 | 'userLoggedIn': function(aUser) { | 129 | 'userLoggedIn': function(aUser) { |
133 | //Clipperz.log(">>> LoginController.userLoggedIn"); | 130 | //Clipperz.log(">>> LoginController.userLoggedIn"); |
134 | MochiKit.Signal.signal(this, 'userLoggedIn', {user: aUser}); | 131 | MochiKit.Signal.signal(this, 'userLoggedIn', {user: aUser}); |
135 | //Clipperz.log("<<< LoginController.userLoggedIn"); | 132 | //Clipperz.log("<<< LoginController.userLoggedIn"); |
136 | }, | 133 | }, |
137 | 134 | ||
138 | //========================================================================= | 135 | //========================================================================= |
139 | 136 | ||
140 | 'handleCreateNewAccountClick': function (aComponent) { | 137 | 'handleCreateNewAccountClick': function (aComponent) { |
141 | // return Clipperz.PM.DataModel.User.registerNewAccount("new", "user"); | 138 | // return Clipperz.PM.DataModel.User.registerNewAccount("new", "user"); |
142 | return Clipperz.Async.callbacks("LoginController.handleCreateNewAccountClick", [ | 139 | return Clipperz.Async.callbacks("LoginController.handleCreateNewAccountClick", [ |
143 | //' MochiKit.Base.method(this, 'newUserCreationComponent'), | 140 | //' MochiKit.Base.method(this, 'newUserCreationComponent'), |
144 | // MochiKit.Base.methodcaller('deferredShowModal', {openFromElement:aComponent}), | 141 | // MochiKit.Base.methodcaller('deferredShowModal', {openFromElement:aComponent}), |
145 | // MochiKit.Base.method(this.newUserWizardController(), 'run') | 142 | // MochiKit.Base.method(this.newUserWizardController(), 'run') |
146 | 143 | ||
147 | 144 | ||
148 | MochiKit.Base.method(this, 'newUserCreationComponent'), | 145 | MochiKit.Base.method(this, 'newUserCreationComponent'), |
149 | Clipperz.Async.forkAndJoin("Async.test succeedingForkedAndWaitDeferrer", [ | 146 | Clipperz.Async.forkAndJoin("Async.test succeedingForkedAndWaitDeferrer", [ |
150 | MochiKit.Base.method(this.newUserCreationComponent(), 'deferredShowModal', {openFromElement:aComponent, duration:0.5}), | 147 | MochiKit.Base.method(this.newUserCreationComponent(), 'deferredShowModal', {openFromElement:aComponent, duration:0.5}), |
151 | MochiKit.Base.method(this.newUserWizardController(), 'run') | 148 | MochiKit.Base.method(this.newUserWizardController(), 'run') |
152 | ], {trace:false}), | 149 | ], {trace:false}), |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/MainController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/MainController.js index aa0d6ad..c83e3c0 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/MainController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/MainController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.MainController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.MainController = function(args) { |
32 | this._args = args; | 29 | this._args = args; |
33 | 30 | ||
34 | //controllers | 31 | //controllers |
35 | this._loginController =null; | 32 | this._loginController =null; |
36 | this._appController =null; | 33 | this._appController =null; |
37 | 34 | ||
38 | //components | 35 | //components |
39 | this._headerComponent = null; | 36 | this._headerComponent = null; |
40 | this._pageComponent =null; | 37 | this._pageComponent =null; |
41 | this._footerComponent = null; | 38 | this._footerComponent = null; |
42 | 39 | ||
43 | this._passphraseDelegateLock = new MochiKit.Async.DeferredLock(); | 40 | this._passphraseDelegateLock = new MochiKit.Async.DeferredLock(); |
44 | this._passphraseDelegateLock.acquire(); | 41 | this._passphraseDelegateLock.acquire(); |
45 | //Clipperz.log('MainController init _passphraseDelegateLock', this._passphraseDelegateLock); | 42 | //Clipperz.log('MainController init _passphraseDelegateLock', this._passphraseDelegateLock); |
46 | this._passphraseDelegate = null; | 43 | this._passphraseDelegate = null; |
47 | 44 | ||
48 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'remoteRequestSent', this, 'handleRemoteRequestSent'); | 45 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'remoteRequestSent', this, 'handleRemoteRequestSent'); |
49 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'remoteRequestReceived',this, 'handleRemoteRequestReceived'); | 46 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'remoteRequestReceived',this, 'handleRemoteRequestReceived'); |
50 | 47 | ||
51 | return this; | 48 | return this; |
52 | } | 49 | } |
53 | 50 | ||
54 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.MainController.prototype, { | 51 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.MainController.prototype, { |
55 | 52 | ||
56 | 'toString': function() { | 53 | 'toString': function() { |
57 | return "Clipperz.PM.UI.Web.Controllers.MainController"; | 54 | return "Clipperz.PM.UI.Web.Controllers.MainController"; |
58 | }, | 55 | }, |
59 | 56 | ||
60 | 'args': function () { | 57 | 'args': function () { |
61 | return this._args; | 58 | return this._args; |
62 | }, | 59 | }, |
63 | 60 | ||
64 | //----------------------------------------------------------------------------- | 61 | //----------------------------------------------------------------------------- |
65 | 62 | ||
66 | 'headerComponent': function() { | 63 | 'headerComponent': function() { |
67 | if (this._headerComponent == null) { | 64 | if (this._headerComponent == null) { |
68 | this._headerComponent = new Clipperz.PM.UI.Web.Components.PageHeader(); | 65 | this._headerComponent = new Clipperz.PM.UI.Web.Components.PageHeader(); |
69 | } | 66 | } |
70 | 67 | ||
71 | return this._headerComponent; | 68 | return this._headerComponent; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'footerComponent': function() { | 71 | 'footerComponent': function() { |
75 | if (this._footerComponent == null) { | 72 | if (this._footerComponent == null) { |
76 | this._footerComponent = new Clipperz.PM.UI.Web.Components.PageFooter(); | 73 | this._footerComponent = new Clipperz.PM.UI.Web.Components.PageFooter(); |
77 | } | 74 | } |
78 | 75 | ||
79 | return this._footerComponent; | 76 | return this._footerComponent; |
80 | }, | 77 | }, |
81 | 78 | ||
82 | //----------------------------------------------------------------------------- | 79 | //----------------------------------------------------------------------------- |
83 | 80 | ||
84 | 'pageComponent': function() { | 81 | 'pageComponent': function() { |
85 | if (this._pageComponent == null) { | 82 | if (this._pageComponent == null) { |
86 | this._pageComponent = new Clipperz.PM.UI.Web.Components.Page({element:MochiKit.DOM.getElement('mainDiv')}); | 83 | this._pageComponent = new Clipperz.PM.UI.Web.Components.Page({element:MochiKit.DOM.getElement('mainDiv')}); |
87 | } | 84 | } |
88 | 85 | ||
89 | return this._pageComponent; | 86 | return this._pageComponent; |
90 | }, | 87 | }, |
91 | 88 | ||
92 | //----------------------------------------------------------------------------- | 89 | //----------------------------------------------------------------------------- |
93 | 90 | ||
94 | 'loginController': function() { | 91 | 'loginController': function() { |
95 | if (this._loginController == null) { | 92 | if (this._loginController == null) { |
96 | this._loginController = new Clipperz.PM.UI.Web.Controllers.LoginController(this.args()); | 93 | this._loginController = new Clipperz.PM.UI.Web.Controllers.LoginController(this.args()); |
97 | 94 | ||
98 | MochiKit.Signal.connect(this._loginController, 'userLoggedIn', this, 'loginControllerUserLoggedInCallback'); | 95 | MochiKit.Signal.connect(this._loginController, 'userLoggedIn', this, 'loginControllerUserLoggedInCallback'); |
99 | } | 96 | } |
100 | 97 | ||
101 | return this._loginController; | 98 | return this._loginController; |
102 | }, | 99 | }, |
103 | 100 | ||
104 | 'appController': function() { | 101 | 'appController': function() { |
105 | if (this._appController == null) { | 102 | if (this._appController == null) { |
106 | this._appController = new Clipperz.PM.UI.Web.Controllers.AppController(); | 103 | this._appController = new Clipperz.PM.UI.Web.Controllers.AppController(); |
107 | 104 | ||
108 | MochiKit.Signal.connect(this._appController, 'logout', this, 'handleLogout'); | 105 | MochiKit.Signal.connect(this._appController, 'logout', this, 'handleLogout'); |
109 | } | 106 | } |
110 | 107 | ||
111 | return this._appController; | 108 | return this._appController; |
112 | }, | 109 | }, |
113 | 110 | ||
114 | //----------------------------------------------------------------------------- | 111 | //----------------------------------------------------------------------------- |
115 | 112 | ||
116 | 'run': function(shoudShowRegistrationForm) { | 113 | 'run': function(shoudShowRegistrationForm) { |
117 | this.pageComponent().slotNamed('header').setContent(this.headerComponent()); | 114 | this.pageComponent().slotNamed('header').setContent(this.headerComponent()); |
118 | this.pageComponent().slotNamed('footer').setContent(this.footerComponent()); | 115 | this.pageComponent().slotNamed('footer').setContent(this.footerComponent()); |
119 | 116 | ||
120 | this.pageComponent().render(); | 117 | this.pageComponent().render(); |
121 | 118 | ||
122 | this.loginController().run({slot:this.pageComponent().slotNamed('body')}); | 119 | this.loginController().run({slot:this.pageComponent().slotNamed('body')}); |
123 | 120 | ||
124 | if (shoudShowRegistrationForm) { | 121 | if (shoudShowRegistrationForm) { |
125 | MochiKit.Signal.signal(this.loginController().loginPage(), 'createNewAccountClick'); | 122 | MochiKit.Signal.signal(this.loginController().loginPage(), 'createNewAccountClick'); |
126 | // this.loginController().handleCreateNewAccountClick(); | 123 | // this.loginController().handleCreateNewAccountClick(); |
127 | } | 124 | } |
128 | }, | 125 | }, |
129 | 126 | ||
130 | //----------------------------------------------------------------------------- | 127 | //----------------------------------------------------------------------------- |
131 | 128 | ||
132 | 'getPassphrase': function () { | 129 | 'getPassphrase': function () { |
133 | var deferredResult; | 130 | var deferredResult; |
134 | 131 | ||
135 | deferredResult = new Clipperz.Async.Deferred("MainController.getPassphrase", {trace:false}); | 132 | deferredResult = new Clipperz.Async.Deferred("MainController.getPassphrase", {trace:false}); |
136 | 133 | ||
137 | deferredResult.acquireLock(this._passphraseDelegateLock); | 134 | deferredResult.acquireLock(this._passphraseDelegateLock); |
138 | deferredResult.addMethod(this, 'invokePassphraseDelegate'); | 135 | deferredResult.addMethod(this, 'invokePassphraseDelegate'); |
139 | deferredResult.releaseLock(this._passphraseDelegateLock); | 136 | deferredResult.releaseLock(this._passphraseDelegateLock); |
140 | deferredResult.callback(); | 137 | deferredResult.callback(); |
141 | 138 | ||
142 | return deferredResult; | 139 | return deferredResult; |
143 | }, | 140 | }, |
144 | 141 | ||
145 | //......................................................................... | 142 | //......................................................................... |
146 | 143 | ||
147 | 'invokePassphraseDelegate': function () { | 144 | 'invokePassphraseDelegate': function () { |
148 | return this._passphraseDelegate(); | 145 | return this._passphraseDelegate(); |
149 | }, | 146 | }, |
150 | 147 | ||
151 | 'passphraseDelegateLock': function () { | 148 | 'passphraseDelegateLock': function () { |
152 | return this._passphraseDelegateLock; | 149 | return this._passphraseDelegateLock; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js index 28d9d20..7db6888 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/NewUserWizardController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); |
30 | 27 | ||
31 | Clipperz.PM.UI.Web.Controllers.NewUserWizardController = function(args) { | 28 | Clipperz.PM.UI.Web.Controllers.NewUserWizardController = function(args) { |
32 | this._newUserCreationComponent = args.newUserCreationComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); | 29 | this._newUserCreationComponent = args.newUserCreationComponent|| Clipperz.Base.exception.raise('MandatoryParameter'); |
33 | 30 | ||
34 | MochiKit.Signal.connect(this._newUserCreationComponent, 'changedValue',this, 'handleChangedValue'); | 31 | MochiKit.Signal.connect(this._newUserCreationComponent, 'changedValue',this, 'handleChangedValue'); |
35 | MochiKit.Signal.connect(this._newUserCreationComponent, 'moveForward',this, 'handleMoveForward'); | 32 | MochiKit.Signal.connect(this._newUserCreationComponent, 'moveForward',this, 'handleMoveForward'); |
36 | MochiKit.Signal.connect(this._newUserCreationComponent, 'keyPressed',this, 'handleNewUserCreationComponentKeyPressed'); | 33 | MochiKit.Signal.connect(this._newUserCreationComponent, 'keyPressed',this, 'handleNewUserCreationComponentKeyPressed'); |
37 | 34 | ||
38 | this._rulerComponent = null; | 35 | this._rulerComponent = null; |
39 | 36 | ||
40 | this._steps = null; | 37 | this._steps = null; |
41 | this._currentStepIndex = 0; | 38 | this._currentStepIndex = 0; |
42 | this._isNextEnabled = false; | 39 | this._isNextEnabled = false; |
43 | 40 | ||
44 | this._userCreationState = 'IDLE'; //'IN PROGRESS', 'DONE', 'FAILED' | 41 | this._userCreationState = 'IDLE'; //'IN PROGRESS', 'DONE', 'FAILED' |
45 | this._user = null; | 42 | this._user = null; |
46 | return this; | 43 | return this; |
47 | } | 44 | } |
48 | 45 | ||
49 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prototype, { | 46 | MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.NewUserWizardController.prototype, { |
50 | 47 | ||
51 | 'toString': function() { | 48 | 'toString': function() { |
52 | return "Clipperz.PM.UI.Web.Controllers.NewUserWizardController"; | 49 | return "Clipperz.PM.UI.Web.Controllers.NewUserWizardController"; |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'newUserCreationComponent': function () { | 54 | 'newUserCreationComponent': function () { |
58 | return this._newUserCreationComponent; | 55 | return this._newUserCreationComponent; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //============================================================================= | 58 | //============================================================================= |
62 | 59 | ||
63 | 'user': function () { | 60 | 'user': function () { |
64 | return this._user; | 61 | return this._user; |
65 | }, | 62 | }, |
66 | 63 | ||
67 | 'setUser': function (aValue) { | 64 | 'setUser': function (aValue) { |
68 | this._user = aValue; | 65 | this._user = aValue; |
69 | }, | 66 | }, |
70 | 67 | ||
71 | //----------------------------------------------------------------------------- | 68 | //----------------------------------------------------------------------------- |
72 | 69 | ||
73 | 'userCreationState': function () { | 70 | 'userCreationState': function () { |
74 | return this._userCreationState; | 71 | return this._userCreationState; |
75 | }, | 72 | }, |
76 | 73 | ||
77 | 'setUserCreationState': function (aValue) { | 74 | 'setUserCreationState': function (aValue) { |
78 | //console.log("+++ NewUserWizardController.setUserCreationState", aValue); | 75 | //console.log("+++ NewUserWizardController.setUserCreationState", aValue); |
79 | this._userCreationState = aValue; | 76 | this._userCreationState = aValue; |
80 | this.checkState(); | 77 | this.checkState(); |
81 | }, | 78 | }, |
82 | 79 | ||
83 | //============================================================================= | 80 | //============================================================================= |
84 | 81 | ||
85 | 'resetCurrentStepIndex': function () { | 82 | 'resetCurrentStepIndex': function () { |
86 | this._currentStepIndex = 0; | 83 | this._currentStepIndex = 0; |
87 | this.rulerComponent().resetStatus({animateTransition:true}); | 84 | this.rulerComponent().resetStatus({animateTransition:true}); |
88 | }, | 85 | }, |
89 | 86 | ||
90 | //----------------------------------------------------------------------------- | 87 | //----------------------------------------------------------------------------- |
91 | 88 | ||
92 | 'enableNext': function (aValue) { | 89 | 'enableNext': function (aValue) { |
93 | this.rulerComponent().enableNext(aValue); | 90 | this.rulerComponent().enableNext(aValue); |
94 | this._isNextEnabled = aValue; | 91 | this._isNextEnabled = aValue; |
95 | }, | 92 | }, |
96 | 93 | ||
97 | 'isNextEnabled': function () { | 94 | 'isNextEnabled': function () { |
98 | return this._isNextEnabled; | 95 | return this._isNextEnabled; |
99 | }, | 96 | }, |
100 | 97 | ||
101 | //----------------------------------------------------------------------------- | 98 | //----------------------------------------------------------------------------- |
102 | 99 | ||
103 | 'enablePrevious': function (aValue) { | 100 | 'enablePrevious': function (aValue) { |
104 | this.rulerComponent().enablePrevious(aValue); | 101 | this.rulerComponent().enablePrevious(aValue); |
105 | }, | 102 | }, |
106 | 103 | ||
107 | //============================================================================= | 104 | //============================================================================= |
108 | 105 | ||
109 | 'rulerComponent': function () { | 106 | 'rulerComponent': function () { |
110 | if (this._rulerComponent == null) { | 107 | if (this._rulerComponent == null) { |
111 | this._rulerComponent = new Clipperz.PM.UI.Web.Components.RulerComponent({ | 108 | this._rulerComponent = new Clipperz.PM.UI.Web.Components.RulerComponent({ |
112 | translationContext:'Wizards.NewUserWizard' | 109 | translationContext:'Wizards.NewUserWizard' |
113 | }); | 110 | }); |
114 | this._rulerComponent.render(); | 111 | this._rulerComponent.render(); |
115 | 112 | ||
116 | MochiKit.Signal.connect(this._rulerComponent, 'exit', this, 'handleExit'); | 113 | MochiKit.Signal.connect(this._rulerComponent, 'exit', this, 'handleExit'); |
117 | MochiKit.Signal.connect(this._rulerComponent, 'done', this, 'done'); | 114 | MochiKit.Signal.connect(this._rulerComponent, 'done', this, 'done'); |
118 | MochiKit.Signal.connect(this._rulerComponent, 'moveForward',this, 'handleMoveForward'); | 115 | MochiKit.Signal.connect(this._rulerComponent, 'moveForward',this, 'handleMoveForward'); |
119 | MochiKit.Signal.connect(this._rulerComponent, 'moveBackward',this, 'handleMoveBackward'); | 116 | MochiKit.Signal.connect(this._rulerComponent, 'moveBackward',this, 'handleMoveBackward'); |
120 | MochiKit.Signal.connect(this._rulerComponent, 'cursorMoved',this, 'handleCursorMoved'); | 117 | MochiKit.Signal.connect(this._rulerComponent, 'cursorMoved',this, 'handleCursorMoved'); |
121 | } | 118 | } |
122 | 119 | ||
123 | return this._rulerComponent; | 120 | return this._rulerComponent; |
124 | }, | 121 | }, |
125 | 122 | ||
126 | 'resetRuler': function () { | 123 | 'resetRuler': function () { |
127 | // if (this._rulerComponent != null) { | 124 | // if (this._rulerComponent != null) { |
128 | // this._rulerComponent.clear(); | 125 | // this._rulerComponent.clear(); |
129 | // } | 126 | // } |
130 | // this._rulerComponent = null; | 127 | // this._rulerComponent = null; |
131 | }, | 128 | }, |
132 | 129 | ||
133 | //----------------------------------------------------------------------------- | 130 | //----------------------------------------------------------------------------- |
134 | 131 | ||
135 | 'showRuler': function (someSteps) { | 132 | 'showRuler': function (someSteps) { |
136 | var rulerElement; | 133 | var rulerElement; |
137 | 134 | ||
138 | this.setSteps(someSteps); | 135 | this.setSteps(someSteps); |
139 | 136 | ||
140 | rulerElement = this.rulerComponent().element(); | 137 | rulerElement = this.rulerComponent().element(); |
141 | this.newUserCreationComponent().disableAllPanels(); | 138 | this.newUserCreationComponent().disableAllPanels(); |
142 | 139 | ||
143 | MochiKit.Style.showElement(rulerElement); | 140 | MochiKit.Style.showElement(rulerElement); |
144 | MochiKit.Style.setElementPosition(rulerElement, {x:-1000, y:this.newUserCreationComponent().bottomMargin()}); | 141 | MochiKit.Style.setElementPosition(rulerElement, {x:-1000, y:this.newUserCreationComponent().bottomMargin()}); |
145 | new MochiKit.Visual.Move(rulerElement, { | 142 | new MochiKit.Visual.Move(rulerElement, { |
146 | x:0, y:this.newUserCreationComponent().bottomMargin(), | 143 | x:0, y:this.newUserCreationComponent().bottomMargin(), |
147 | mode:'absolute', | 144 | mode:'absolute', |
148 | duration:0.5, | 145 | duration:0.5, |
149 | // afterFinish:MochiKit.Base.method(this, 'handleCursorMoved') | 146 | // afterFinish:MochiKit.Base.method(this, 'handleCursorMoved') |
150 | afterFinish:MochiKit.Base.method(this, 'handleRulerShowed') | 147 | afterFinish:MochiKit.Base.method(this, 'handleRulerShowed') |
151 | }); | 148 | }); |
152 | }, | 149 | }, |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardDetail.js b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardDetail.js index 23fd236..5380aa1 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardDetail.js +++ b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardDetail.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.iPhone.Components.CardDetail = function(args) { | 28 | Clipperz.PM.UI.iPhone.Components.CardDetail = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.iPhone.Components.CardDetail.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.iPhone.Components.CardDetail.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._cardReference = null; | 33 | this._cardReference = null; |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | //============================================================================= | 38 | //============================================================================= |
42 | 39 | ||
43 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.CardDetail, Clipperz.PM.UI.Common.Components.BaseComponent, { | 40 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.CardDetail, Clipperz.PM.UI.Common.Components.BaseComponent, { |
44 | 41 | ||
45 | //------------------------------------------------------------------------- | 42 | //------------------------------------------------------------------------- |
46 | 43 | ||
47 | 'toString': function () { | 44 | 'toString': function () { |
48 | return "Clipperz.PM.UI.iPhone.Components.CardDetail component"; | 45 | return "Clipperz.PM.UI.iPhone.Components.CardDetail component"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'cardReference': function () { | 50 | 'cardReference': function () { |
54 | return this._cardReference; | 51 | return this._cardReference; |
55 | }, | 52 | }, |
56 | 53 | ||
57 | 'setCardReference': function (aValue) { | 54 | 'setCardReference': function (aValue) { |
58 | this._cardReference = aValue; | 55 | this._cardReference = aValue; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | //------------------------------------------------------------------------- | 58 | //------------------------------------------------------------------------- |
62 | 59 | ||
63 | 'renderSelf': function(/*aContainer, aPosition*/) { | 60 | 'renderSelf': function(/*aContainer, aPosition*/) { |
64 | this.append(this.element(), [ | 61 | this.append(this.element(), [ |
65 | {tag:'div', cls:'cardDetail', id:this.getId('cardDetail'), children:[ | 62 | {tag:'div', cls:'cardDetail', id:this.getId('cardDetail'), children:[ |
66 | {tag:'div', id:this.getId('progressBar')} //, | 63 | {tag:'div', id:this.getId('progressBar')} //, |
67 | // {tag:'h1', cls:'loading', html:"loading"} | 64 | // {tag:'h1', cls:'loading', html:"loading"} |
68 | ]} | 65 | ]} |
69 | ]); | 66 | ]); |
70 | 67 | ||
71 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); | 68 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); |
72 | MochiKit.Signal.signal(Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController, 'updateProgress', 0); | 69 | MochiKit.Signal.signal(Clipperz.PM.UI.Common.Controllers.ProgressBarController.defaultController, 'updateProgress', 0); |
73 | }, | 70 | }, |
74 | 71 | ||
75 | //========================================================================= | 72 | //========================================================================= |
76 | 73 | ||
77 | 'showCardDetails': function (someData) { | 74 | 'showCardDetails': function (someData) { |
78 | this.element().innerHTML = ''; | 75 | this.element().innerHTML = ''; |
79 | this.append(this.element(), [ | 76 | this.append(this.element(), [ |
80 | {tag:'fieldset', id:this.getId('fields'), children:MochiKit.Base.map(function (aFieldData) { | 77 | {tag:'fieldset', id:this.getId('fields'), children:MochiKit.Base.map(function (aFieldData) { |
81 | return {tag:'div', cls:'row', children:[ | 78 | return {tag:'div', cls:'row', children:[ |
82 | {tag:'label', html:aFieldData['label']}, | 79 | {tag:'label', html:aFieldData['label']}, |
83 | // {tag:'span', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), html:aFieldData['value']} | 80 | // {tag:'span', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), html:aFieldData['value']} |
84 | {tag:'div', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), children:[ | 81 | {tag:'div', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), children:[ |
85 | {tag:'div', children:[{tag:'p', html:aFieldData['value']}]} | 82 | {tag:'div', children:[{tag:'p', html:aFieldData['value']}]} |
86 | ]} | 83 | ]} |
87 | // {tag:'input', type:'text', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), value:aFieldData['value'], disabled:true} | 84 | // {tag:'input', type:'text', cls:('fieldValue ' + (aFieldData['isHidden']? 'password' : 'text')), value:aFieldData['value'], disabled:true} |
88 | 85 | ||
89 | ]} | 86 | ]} |
90 | }, someData['fields'])} | 87 | }, someData['fields'])} |
91 | ]); | 88 | ]); |
92 | 89 | ||
93 | MochiKit.Iter.forEach(MochiKit.Selector.findChildElements(this.element(), ['span.password']), MochiKit.Base.bind(function (aPasswordElement) { | 90 | MochiKit.Iter.forEach(MochiKit.Selector.findChildElements(this.element(), ['span.password']), MochiKit.Base.bind(function (aPasswordElement) { |
94 | MochiKit.Signal.connect(aPasswordElement, 'onclick', function (anEvent) { alert(MochiKit.DOM.scrapeText(anEvent.src())); }) | 91 | MochiKit.Signal.connect(aPasswordElement, 'onclick', function (anEvent) { alert(MochiKit.DOM.scrapeText(anEvent.src())); }) |
95 | }, this)); | 92 | }, this)); |
96 | 93 | ||
97 | if (someData['directLogins'].length > 0) { | 94 | if (someData['directLogins'].length > 0) { |
98 | this.append(this.element(), [ | 95 | this.append(this.element(), [ |
99 | {tag:'h2', html:"Direct logins"}, | 96 | {tag:'h2', html:"Direct logins"}, |
100 | {tag:'fieldset', id:this.getId('directLogins'), children:MochiKit.Base.map(function (aDirectLoginData) { | 97 | {tag:'fieldset', id:this.getId('directLogins'), children:MochiKit.Base.map(function (aDirectLoginData) { |
101 | return {tag:'div', cls:'row', id:('directLogin_' + aDirectLoginData['_reference']), children:[ | 98 | return {tag:'div', cls:'row', id:('directLogin_' + aDirectLoginData['_reference']), children:[ |
102 | {tag:'img', cls:'favicon', src:aDirectLoginData['favicon']}, | 99 | {tag:'img', cls:'favicon', src:aDirectLoginData['favicon']}, |
103 | // {tag:'input', cls:'directLogin', disabled:'disabled', type:'text', name:aDirectLoginData['label'], value:aDirectLoginData['label']} | 100 | // {tag:'input', cls:'directLogin', disabled:'disabled', type:'text', name:aDirectLoginData['label'], value:aDirectLoginData['label']} |
104 | {tag:'span', cls:'directLogin', html:aDirectLoginData['label']} | 101 | {tag:'span', cls:'directLogin', html:aDirectLoginData['label']} |
105 | ]} | 102 | ]} |
106 | }, someData['directLogins'])} | 103 | }, someData['directLogins'])} |
107 | ]); | 104 | ]); |
108 | 105 | ||
109 | MochiKit.Base.map(MochiKit.Base.bind(function (aRowNode) { | 106 | MochiKit.Base.map(MochiKit.Base.bind(function (aRowNode) { |
110 | MochiKit.Signal.connect(aRowNode, 'onclick', this, 'directLoginClickHandler'); | 107 | MochiKit.Signal.connect(aRowNode, 'onclick', this, 'directLoginClickHandler'); |
111 | }, this), | 108 | }, this), |
112 | MochiKit.Selector.findChildElements(this.getElement('directLogins'), ['div.row']) | 109 | MochiKit.Selector.findChildElements(this.getElement('directLogins'), ['div.row']) |
113 | ) | 110 | ) |
114 | }; | 111 | }; |
115 | 112 | ||
116 | if (someData['notes'] != '') { | 113 | if (someData['notes'] != '') { |
117 | this.append(this.element(), [ | 114 | this.append(this.element(), [ |
118 | {tag:'h2', html:"Notes"}, | 115 | {tag:'h2', html:"Notes"}, |
119 | {tag:'fieldset', id:this.getId('fieldset'), children:[ | 116 | {tag:'fieldset', id:this.getId('fieldset'), children:[ |
120 | {tag:'div', cls:'row notes', children:[ | 117 | {tag:'div', cls:'row notes', children:[ |
121 | {tag:'span', html:someData['notes']} | 118 | {tag:'span', html:someData['notes']} |
122 | ]} | 119 | ]} |
123 | ]} | 120 | ]} |
124 | ]); | 121 | ]); |
125 | }; | 122 | }; |
126 | 123 | ||
127 | return true; | 124 | return true; |
128 | }, | 125 | }, |
129 | 126 | ||
130 | //------------------------------------------------------------------------- | 127 | //------------------------------------------------------------------------- |
131 | /* | 128 | /* |
132 | 'toggleClickHandler': function (anEvent) { | 129 | 'toggleClickHandler': function (anEvent) { |
133 | varnextState; | 130 | varnextState; |
134 | varfieldValue; | 131 | varfieldValue; |
135 | 132 | ||
136 | //console.log("TOGGLE"); | 133 | //console.log("TOGGLE"); |
137 | anEvent.preventDefault; | 134 | anEvent.preventDefault; |
138 | fieldValue = MochiKit.Selector.findChildElements(anEvent.src().parentNode.parentNode, ['span.password'])[0]; | 135 | fieldValue = MochiKit.Selector.findChildElements(anEvent.src().parentNode.parentNode, ['span.password'])[0]; |
139 | 136 | ||
140 | nextState = (MochiKit.DOM.getNodeAttribute(anEvent.src(), 'toggled') != 'true'); | 137 | nextState = (MochiKit.DOM.getNodeAttribute(anEvent.src(), 'toggled') != 'true'); |
141 | if (nextState) { | 138 | if (nextState) { |
142 | MochiKit.DOM.removeElementClass(fieldValue, 'clear'); | 139 | MochiKit.DOM.removeElementClass(fieldValue, 'clear'); |
143 | } else { | 140 | } else { |
144 | MochiKit.DOM.addElementClass(fieldValue, 'clear'); | 141 | MochiKit.DOM.addElementClass(fieldValue, 'clear'); |
145 | } | 142 | } |
146 | 143 | ||
147 | MochiKit.DOM.setNodeAttribute(anEvent.src(), 'toggled', nextState); | 144 | MochiKit.DOM.setNodeAttribute(anEvent.src(), 'toggled', nextState); |
148 | }, | 145 | }, |
149 | */ | 146 | */ |
150 | //========================================================================= | 147 | //========================================================================= |
151 | 148 | ||
152 | 'directLoginClickHandler': function (anEvent) { | 149 | 'directLoginClickHandler': function (anEvent) { |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardList.js b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardList.js index 770f983..c3f2701 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardList.js +++ b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/CardList.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.iPhone.Components.CardList = function(args) { | 28 | Clipperz.PM.UI.iPhone.Components.CardList = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.iPhone.Components.CardList.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.iPhone.Components.CardList.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | this._cardDetail = null; | 33 | this._cardDetail = null; |
37 | 34 | ||
38 | return this; | 35 | return this; |
39 | } | 36 | } |
40 | 37 | ||
41 | //============================================================================= | 38 | //============================================================================= |
42 | 39 | ||
43 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.CardList, Clipperz.PM.UI.Common.Components.BaseComponent, { | 40 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.CardList, Clipperz.PM.UI.Common.Components.BaseComponent, { |
44 | 41 | ||
45 | //------------------------------------------------------------------------- | 42 | //------------------------------------------------------------------------- |
46 | 43 | ||
47 | 'toString': function () { | 44 | 'toString': function () { |
48 | return "Clipperz.PM.UI.iPhone.Components.CardList component"; | 45 | return "Clipperz.PM.UI.iPhone.Components.CardList component"; |
49 | }, | 46 | }, |
50 | 47 | ||
51 | //------------------------------------------------------------------------- | 48 | //------------------------------------------------------------------------- |
52 | 49 | ||
53 | 'renderSelf': function(/*aContainer, aPosition*/) { | 50 | 'renderSelf': function(/*aContainer, aPosition*/) { |
54 | this.append(this.element(), [ | 51 | this.append(this.element(), [ |
55 | {tag:'div', cls:'toolbar', id:'toolbar', children:[ | 52 | {tag:'div', cls:'toolbar', id:'toolbar', children:[ |
56 | {tag:'h1', id:'pageTitle', html:"cards"}, | 53 | {tag:'h1', id:'pageTitle', html:"cards"}, |
57 | {tag:'a', id:'backButton', cls:'button', href:'#', html:"cards"} | 54 | {tag:'a', id:'backButton', cls:'button', href:'#', html:"cards"} |
58 | ]}, | 55 | ]}, |
59 | {tag:'div', cls:'cardList', id:this.getId('cardList'), children:[ | 56 | {tag:'div', cls:'cardList', id:this.getId('cardList'), children:[ |
60 | {tag:'form', title:'search', cls:'panel cardListSearchForm', id:this.getId('cardListSearchForm'), children:[ | 57 | {tag:'form', title:'search', cls:'panel cardListSearchForm', id:this.getId('cardListSearchForm'), children:[ |
61 | {tag:'input', type:'search', name:'search', value:"", placeholder:"search", id:this.getId('searchField')} | 58 | {tag:'input', type:'search', name:'search', value:"", placeholder:"search", id:this.getId('searchField')} |
62 | ]}, | 59 | ]}, |
63 | {tag:'ul', cls:'panel cardListPanel', id:this.getId('cardListPanel'), children:[]} | 60 | {tag:'ul', cls:'panel cardListPanel', id:this.getId('cardListPanel'), children:[]} |
64 | ]}, | 61 | ]}, |
65 | {tag:'div', cls:'panel cardDetailPanel', id:this.getId('cardDetail')} | 62 | {tag:'div', cls:'panel cardDetailPanel', id:this.getId('cardDetail')} |
66 | ]); | 63 | ]); |
67 | 64 | ||
68 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onsubmit', this,'searchHandler'); | 65 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onsubmit', this,'searchHandler'); |
69 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onkeydown', this,'searchHandler'); | 66 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onkeydown', this,'searchHandler'); |
70 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onkeyup', this,'searchHandler'); | 67 | MochiKit.Signal.connect(this.getElement('cardListSearchForm'), 'onkeyup', this,'searchHandler'); |
71 | 68 | ||
72 | MochiKit.Signal.connect(this.getElement('cardListPanel'), 'onclick', this,'cardListClickHandler'); | 69 | MochiKit.Signal.connect(this.getElement('cardListPanel'), 'onclick', this,'cardListClickHandler'); |
73 | MochiKit.Signal.connect('backButton', 'onclick', this,'backButtonClickHandler'); | 70 | MochiKit.Signal.connect('backButton', 'onclick', this,'backButtonClickHandler'); |
74 | 71 | ||
75 | MochiKit.Style.hideElement('backButton'); | 72 | MochiKit.Style.hideElement('backButton'); |
76 | MochiKit.Style.hideElement(this.getElement('cardDetail')); | 73 | MochiKit.Style.hideElement(this.getElement('cardDetail')); |
77 | }, | 74 | }, |
78 | 75 | ||
79 | //------------------------------------------------------------------------- | 76 | //------------------------------------------------------------------------- |
80 | 77 | ||
81 | 'searchHandler': function (anEvent) { | 78 | 'searchHandler': function (anEvent) { |
82 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { //RETURN | 79 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { //RETURN |
83 | anEvent.preventDefault(); | 80 | anEvent.preventDefault(); |
84 | } else { | 81 | } else { |
85 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ESCAPE')) { | 82 | if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ESCAPE')) { |
86 | anEvent.target().value = ""; | 83 | anEvent.target().value = ""; |
87 | } | 84 | } |
88 | 85 | ||
89 | if (anEvent.type() == 'keyup') { | 86 | if (anEvent.type() == 'keyup') { |
90 | MochiKit.Signal.signal(this, 'searchEvent', anEvent.target().value); | 87 | MochiKit.Signal.signal(this, 'searchEvent', anEvent.target().value); |
91 | } | 88 | } |
92 | } | 89 | } |
93 | }, | 90 | }, |
94 | 91 | ||
95 | //------------------------------------------------------------------------- | 92 | //------------------------------------------------------------------------- |
96 | 93 | ||
97 | 'update': function (someObjects) { | 94 | 'update': function (someObjects) { |
98 | varcardListPanel; | 95 | varcardListPanel; |
99 | var i,c; | 96 | var i,c; |
100 | 97 | ||
101 | cardListPanel = this.getElement('cardListPanel'); | 98 | cardListPanel = this.getElement('cardListPanel'); |
102 | cardListPanel.innerHTML = ''; | 99 | cardListPanel.innerHTML = ''; |
103 | 100 | ||
104 | c = someObjects.length; | 101 | c = someObjects.length; |
105 | 102 | ||
106 | for (i=0; i<c; i++) { | 103 | for (i=0; i<c; i++) { |
107 | this.append(cardListPanel, {tag:'li', cls:'cardListItem', id:('cardListItem_' + someObjects[i]['_reference']), children:[ | 104 | this.append(cardListPanel, {tag:'li', cls:'cardListItem', id:('cardListItem_' + someObjects[i]['_reference']), children:[ |
108 | {tag:'img', src:(someObjects[i]['favicon'] ? someObjects[i]['favicon'] : 'data:application/octet-stream;charset=utf-8;base64,AAABAAEAFxcAAAEAGAD8BgAAFgAAACgAAAAXAAAALgAAAAEAGAAAAAAAAAAAABIXAAASFwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////9zAC////////////////////////////////////////////////////////////////////////////////////////////9pAG////////////////////////////////////////////////////////////////////////////////////////////9rAC////////////////////////////////////////////////////////////////////////////////////////////9yAHP////////////////////////IyMizs7O6urrq6ur////////////Ozs6zs7Ozs7Pq6ur///////////////////////8AAAD////////////////////V1dWXl5eXl5eXl5elpaX4+Pj////Ozs6Xl5eXl5eXl5eenp7///////////////////////8AAAD////////////////////Ozs6Xl5eXl5eXl5eXl5fBwcHq6uqenp6Xl5eXl5eXl5eXl5f///////////////////////8AAAD////////////////////j4+OXl5eXl5eXl5eXl5eXl5elpaWXl5eXl5eXl5eXl5ezs7P///////////////////////8AAAD////////////////////////IyMiXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eenp7x8fH////////////////////////////////////////////////////4+PilpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5fOzs7////////////////////////////////////////////////////////q6uq6urqXl5eXl5eXl5eXl5eXl5eXl5eenp7V1dX4+Pj///////////////////////8AAAD////////////4+PjOzs6lpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e6urrj4+P///////////////8AAAD////////////BwcGXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fx8fH///////////8AAAD///////////+zs7OXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fj4+P///////////8AAAD////////////IyMiXl5eXl5eXl5eXl5e6urqXl5eXl5eXl5eXl5esrKylpaWXl5eXl5eXl5eenp7x8fH///////////8AAAD////////////////Ozs7Ozs7V1dX4+Pj///+Xl5eXl5eXl5eXl5fOzs7////q6urOzs7Ozs7q6ur///////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD////////////////////////////////////IyMiXl5eXl5eenp7x8fH///////////////////////////////////8AAAD////////////////////////////////////////j4+Pj4+Px8fH///////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=')}, | 105 | {tag:'img', src:(someObjects[i]['favicon'] ? someObjects[i]['favicon'] : 'data:application/octet-stream;charset=utf-8;base64,AAABAAEAFxcAAAEAGAD8BgAAFgAAACgAAAAXAAAALgAAAAEAGAAAAAAAAAAAABIXAAASFwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////9zAC////////////////////////////////////////////////////////////////////////////////////////////9pAG////////////////////////////////////////////////////////////////////////////////////////////9rAC////////////////////////////////////////////////////////////////////////////////////////////9yAHP////////////////////////IyMizs7O6urrq6ur////////////Ozs6zs7Ozs7Pq6ur///////////////////////8AAAD////////////////////V1dWXl5eXl5eXl5elpaX4+Pj////Ozs6Xl5eXl5eXl5eenp7///////////////////////8AAAD////////////////////Ozs6Xl5eXl5eXl5eXl5fBwcHq6uqenp6Xl5eXl5eXl5eXl5f///////////////////////8AAAD////////////////////j4+OXl5eXl5eXl5eXl5eXl5elpaWXl5eXl5eXl5eXl5ezs7P///////////////////////8AAAD////////////////////////IyMiXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eenp7x8fH////////////////////////////////////////////////////4+PilpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5fOzs7////////////////////////////////////////////////////////q6uq6urqXl5eXl5eXl5eXl5eXl5eXl5eenp7V1dX4+Pj///////////////////////8AAAD////////////4+PjOzs6lpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e6urrj4+P///////////////8AAAD////////////BwcGXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fx8fH///////////8AAAD///////////+zs7OXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fj4+P///////////8AAAD////////////IyMiXl5eXl5eXl5eXl5e6urqXl5eXl5eXl5eXl5esrKylpaWXl5eXl5eXl5eenp7x8fH///////////8AAAD////////////////Ozs7Ozs7V1dX4+Pj///+Xl5eXl5eXl5eXl5fOzs7////q6urOzs7Ozs7q6ur///////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD////////////////////////////////////IyMiXl5eXl5eenp7x8fH///////////////////////////////////8AAAD////////////////////////////////////////j4+Pj4+Px8fH///////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=')}, |
109 | {tag:'a', id:('cardListReference_' + someObjects[i]['_reference']), href:'#', html:someObjects[i]['label']} | 106 | {tag:'a', id:('cardListReference_' + someObjects[i]['_reference']), href:'#', html:someObjects[i]['label']} |
110 | ]}) | 107 | ]}) |
111 | 108 | ||
112 | MochiKit.Signal.connect('cardListItem_' + someObjects[i]['_reference'], 'onclick', this, 'cardListClickHandler'); | 109 | MochiKit.Signal.connect('cardListItem_' + someObjects[i]['_reference'], 'onclick', this, 'cardListClickHandler'); |
113 | } | 110 | } |
114 | 111 | ||
115 | }, | 112 | }, |
116 | 113 | ||
117 | 'cardListClickHandler': function (anEvent) { | 114 | 'cardListClickHandler': function (anEvent) { |
118 | anEvent.preventDefault(); | 115 | anEvent.preventDefault(); |
119 | 116 | ||
120 | if (/(cardListReference_|cardListItem_)/.test(anEvent.target().id)) { | 117 | if (/(cardListReference_|cardListItem_)/.test(anEvent.target().id)) { |
121 | var cardListReference; | 118 | var cardListReference; |
122 | 119 | ||
123 | cardListReference = anEvent.target().id.match(/(cardListReference_|cardListItem_)(.*)/)[2]; | 120 | cardListReference = anEvent.target().id.match(/(cardListReference_|cardListItem_)(.*)/)[2]; |
124 | //console.log("Showing detail for card named", cardListReference); | 121 | //console.log("Showing detail for card named", cardListReference); |
125 | MochiKit.Signal.signal(this, 'selectedCard', cardListReference); | 122 | MochiKit.Signal.signal(this, 'selectedCard', cardListReference); |
126 | } | 123 | } |
127 | }, | 124 | }, |
128 | 125 | ||
129 | //========================================================================= | 126 | //========================================================================= |
130 | 127 | ||
131 | 'cardDetail': function (someData) { | 128 | 'cardDetail': function (someData) { |
132 | if (this._cardDetail == null) { | 129 | if (this._cardDetail == null) { |
133 | this._cardDetail = new Clipperz.PM.UI.iPhone.Components.CardDetail({element:this.getElement('cardDetail')}); | 130 | this._cardDetail = new Clipperz.PM.UI.iPhone.Components.CardDetail({element:this.getElement('cardDetail')}); |
134 | } | 131 | } |
135 | 132 | ||
136 | return this._cardDetail; | 133 | return this._cardDetail; |
137 | }, | 134 | }, |
138 | 135 | ||
139 | //------------------------------------------------------------------------- | 136 | //------------------------------------------------------------------------- |
140 | 137 | ||
141 | 'removeCardDetail': function () { | 138 | 'removeCardDetail': function () { |
142 | if (this._cardDetail != null) { | 139 | if (this._cardDetail != null) { |
143 | this._cardDetail.remove(); | 140 | this._cardDetail.remove(); |
144 | this._cardDetail = null; | 141 | this._cardDetail = null; |
145 | } | 142 | } |
146 | }, | 143 | }, |
147 | 144 | ||
148 | //========================================================================= | 145 | //========================================================================= |
149 | 146 | ||
150 | 'showCard': function (someData) { | 147 | 'showCard': function (someData) { |
151 | vardeferredResult; | 148 | vardeferredResult; |
152 | varoffset; | 149 | varoffset; |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/LoginForm.js b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/LoginForm.js index eec83b0..5341878 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/LoginForm.js +++ b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Components/LoginForm.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Components'); |
30 | 27 | ||
31 | Clipperz.PM.UI.iPhone.Components.LoginForm = function(args) { | 28 | Clipperz.PM.UI.iPhone.Components.LoginForm = function(args) { |
32 | args = args || {}; | 29 | args = args || {}; |
33 | 30 | ||
34 | Clipperz.PM.UI.iPhone.Components.LoginForm.superclass.constructor.apply(this, arguments); | 31 | Clipperz.PM.UI.iPhone.Components.LoginForm.superclass.constructor.apply(this, arguments); |
35 | 32 | ||
36 | return this; | 33 | return this; |
37 | } | 34 | } |
38 | 35 | ||
39 | //============================================================================= | 36 | //============================================================================= |
40 | 37 | ||
41 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, { | 38 | Clipperz.Base.extend(Clipperz.PM.UI.iPhone.Components.LoginForm, Clipperz.PM.UI.Common.Components.BaseComponent, { |
42 | 39 | ||
43 | //------------------------------------------------------------------------- | 40 | //------------------------------------------------------------------------- |
44 | 41 | ||
45 | 'toString': function () { | 42 | 'toString': function () { |
46 | return "Clipperz.PM.UI.iPhone.Components.LoginForm component"; | 43 | return "Clipperz.PM.UI.iPhone.Components.LoginForm component"; |
47 | }, | 44 | }, |
48 | 45 | ||
49 | //------------------------------------------------------------------------- | 46 | //------------------------------------------------------------------------- |
50 | 47 | ||
51 | 'focusOnUsername': function () { | 48 | 'focusOnUsername': function () { |
52 | this.getElement('username').focus(); | 49 | this.getElement('username').focus(); |
53 | }, | 50 | }, |
54 | 51 | ||
55 | //------------------------------------------------------------------------- | 52 | //------------------------------------------------------------------------- |
56 | 53 | ||
57 | 'username': function () { | 54 | 'username': function () { |
58 | return this.getElement('username').value; | 55 | return this.getElement('username').value; |
59 | }, | 56 | }, |
60 | 57 | ||
61 | 'passphrase': function () { | 58 | 'passphrase': function () { |
62 | return this.getElement('passphrase').value; | 59 | return this.getElement('passphrase').value; |
63 | }, | 60 | }, |
64 | 61 | ||
65 | //------------------------------------------------------------------------- | 62 | //------------------------------------------------------------------------- |
66 | 63 | ||
67 | 'renderSelf': function(/*aContainer, aPosition*/) { | 64 | 'renderSelf': function(/*aContainer, aPosition*/) { |
68 | this.append(this.element(), [ | 65 | this.append(this.element(), [ |
69 | {tag:'div', cls:'toolbar iPhoneClipperzToolbar', children:[ | 66 | {tag:'div', cls:'toolbar iPhoneClipperzToolbar', children:[ |
70 | {tag:'h1', id:'pageTitle', html:'Clipperz'}, | 67 | {tag:'h1', id:'pageTitle', html:'Clipperz'}, |
71 | {tag:'a', id:'backButton', cls:'button', href:'#', html:"back"} | 68 | {tag:'a', id:'backButton', cls:'button', href:'#', html:"back"} |
72 | ]}, | 69 | ]}, |
73 | {tag:'form', title:'Theaters', cls:'panel toolbarlessPanel loginForm', id:this.getId('loginFormPanel'), children:[ | 70 | {tag:'form', title:'Theaters', cls:'panel toolbarlessPanel loginForm', id:this.getId('loginFormPanel'), children:[ |
74 | {tag:'fieldset', id:this.getId('fieldset'), children:[ | 71 | {tag:'fieldset', id:this.getId('fieldset'), children:[ |
75 | {tag:'div', cls:'row', children:[ | 72 | {tag:'div', cls:'row', children:[ |
76 | {tag:'label', html:"username"}, | 73 | {tag:'label', html:"username"}, |
77 | {tag:'input', type:'text', name:'username', value:"", autocorrect:'off', autocapitalize:'off', id:this.getId('username')} | 74 | {tag:'input', type:'text', name:'username', value:"", autocorrect:'off', autocapitalize:'off', id:this.getId('username')} |
78 | ]}, | 75 | ]}, |
79 | {tag:'div', cls:'row', children:[ | 76 | {tag:'div', cls:'row', children:[ |
80 | {tag:'label', html:"passphrase"}, | 77 | {tag:'label', html:"passphrase"}, |
81 | {tag:'input', type:'password', name:'passphrase', value:"", id:this.getId('passphrase')} | 78 | {tag:'input', type:'password', name:'passphrase', value:"", id:this.getId('passphrase')} |
82 | ]} | 79 | ]} |
83 | ]}, | 80 | ]}, |
84 | {tag:'a', cls:'whiteButton', type:'submit', href:'#', html:"Login", id:this.getId('submit')} | 81 | {tag:'a', cls:'whiteButton', type:'submit', href:'#', html:"Login", id:this.getId('submit')} |
85 | ]}, | 82 | ]}, |
86 | {tag:'div', cls:'panel toolbarlessPanel loginProgressPanel', id:this.getId('loginProgressPanel'), children:[ | 83 | {tag:'div', cls:'panel toolbarlessPanel loginProgressPanel', id:this.getId('loginProgressPanel'), children:[ |
87 | {tag:'div', id:this.getId('progressBar')} //, | 84 | {tag:'div', id:this.getId('progressBar')} //, |
88 | // {tag:'a', cls:'whiteButton', type:'submit', href:'#', html:"Cancel", id:this.getId('cancel')} | 85 | // {tag:'a', cls:'whiteButton', type:'submit', href:'#', html:"Cancel", id:this.getId('cancel')} |
89 | ]}, | 86 | ]}, |
90 | {tag:'div', cls:'panel loginErrorPanel', id:this.getId('loginErrorPanel'), children:[ | 87 | {tag:'div', cls:'panel loginErrorPanel', id:this.getId('loginErrorPanel'), children:[ |
91 | {tag:'div', cls:'errorMessage', id:this.getId('errorMessageBox'), children:[ | 88 | {tag:'div', cls:'errorMessage', id:this.getId('errorMessageBox'), children:[ |
92 | {tag:'h2', id:this.getId('errorMessage'), html:"Login failed"} | 89 | {tag:'h2', id:this.getId('errorMessage'), html:"Login failed"} |
93 | ]} | 90 | ]} |
94 | ]} | 91 | ]} |
95 | ]); | 92 | ]); |
96 | 93 | ||
97 | MochiKit.Signal.connect(this.getElement('submit'), 'onclick',this, 'submitHandler'); | 94 | MochiKit.Signal.connect(this.getElement('submit'), 'onclick',this, 'submitHandler'); |
98 | MochiKit.Signal.connect(this.getElement('loginFormPanel'), 'onsubmit',this, 'submitHandler'); | 95 | MochiKit.Signal.connect(this.getElement('loginFormPanel'), 'onsubmit',this, 'submitHandler'); |
99 | 96 | ||
100 | // MochiKit.Signal.connect(this.getElement('cancel'), 'onclick',this, 'cancelHandler'); | 97 | // MochiKit.Signal.connect(this.getElement('cancel'), 'onclick',this, 'cancelHandler'); |
101 | MochiKit.Signal.connect('backButton', 'onclick',this, 'backHandler'); | 98 | MochiKit.Signal.connect('backButton', 'onclick',this, 'backHandler'); |
102 | 99 | ||
103 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); | 100 | this.addComponent(new Clipperz.PM.UI.Common.Components.ProgressBar({'element':this.getElement('progressBar')})); |
104 | 101 | ||
105 | // MochiKit.Style.hideElement(this.getElement('errorMessage')); | 102 | // MochiKit.Style.hideElement(this.getElement('errorMessage')); |
106 | 103 | ||
107 | this.showLoginForm(); | 104 | this.showLoginForm(); |
108 | // MochiKit.Async.callLater(0.2, MochiKit.Base.method(this, 'focusOnUsername')); | 105 | // MochiKit.Async.callLater(0.2, MochiKit.Base.method(this, 'focusOnUsername')); |
109 | }, | 106 | }, |
110 | 107 | ||
111 | //------------------------------------------------------------------------- | 108 | //------------------------------------------------------------------------- |
112 | 109 | ||
113 | 'showLoginForm': function () { | 110 | 'showLoginForm': function () { |
114 | MochiKit.Style.showElement(this.getElement('loginFormPanel')); | 111 | MochiKit.Style.showElement(this.getElement('loginFormPanel')); |
115 | MochiKit.Style.hideElement(this.getElement('loginProgressPanel')); | 112 | MochiKit.Style.hideElement(this.getElement('loginProgressPanel')); |
116 | MochiKit.Style.hideElement(this.getElement('loginErrorPanel')); | 113 | MochiKit.Style.hideElement(this.getElement('loginErrorPanel')); |
117 | MochiKit.Style.hideElement('backButton'); | 114 | MochiKit.Style.hideElement('backButton'); |
118 | }, | 115 | }, |
119 | 116 | ||
120 | 'slideInLoginForm': function () { | 117 | 'slideInLoginForm': function () { |
121 | varoffset; | 118 | varoffset; |
122 | 119 | ||
123 | offset = ((MochiKit.DOM.getNodeAttribute(MochiKit.DOM.currentDocument().body, 'orientation') == 'portrait') ? 320 : 480); | 120 | offset = ((MochiKit.DOM.getNodeAttribute(MochiKit.DOM.currentDocument().body, 'orientation') == 'portrait') ? 320 : 480); |
124 | 121 | ||
125 | MochiKit.Style.showElement(this.getElement('loginFormPanel')); | 122 | MochiKit.Style.showElement(this.getElement('loginFormPanel')); |
126 | MochiKit.Style.setElementPosition(this.getElement('loginFormPanel'), {x:-offset, y:0}); | 123 | MochiKit.Style.setElementPosition(this.getElement('loginFormPanel'), {x:-offset, y:0}); |
127 | 124 | ||
128 | new MochiKit.Visual.Sequence([ | 125 | new MochiKit.Visual.Sequence([ |
129 | new MochiKit.Visual.Parallel([ | 126 | new MochiKit.Visual.Parallel([ |
130 | new MochiKit.Visual.Move(this.getElement('loginErrorPanel'), {x:offset, y:0, mode:'relative',transition:MochiKit.Visual.Transitions.linear, sync:true}), | 127 | new MochiKit.Visual.Move(this.getElement('loginErrorPanel'), {x:offset, y:0, mode:'relative',transition:MochiKit.Visual.Transitions.linear, sync:true}), |
131 | new MochiKit.Visual.Move(this.getElement('loginFormPanel'), {x:0, y:0, mode:'absolute',transition:MochiKit.Visual.Transitions.linear, sync:true}), | 128 | new MochiKit.Visual.Move(this.getElement('loginFormPanel'), {x:0, y:0, mode:'absolute',transition:MochiKit.Visual.Transitions.linear, sync:true}), |
132 | MochiKit.Visual.fade ('backButton', { transition:MochiKit.Visual.Transitions.linear, sync:true}) | 129 | MochiKit.Visual.fade ('backButton', { transition:MochiKit.Visual.Transitions.linear, sync:true}) |
133 | ], {duration:0.5, sync:true}), | 130 | ], {duration:0.5, sync:true}), |
134 | MochiKit.Visual.fade(this.getElement('loginErrorPanel'), {duration:0, sync:true}) | 131 | MochiKit.Visual.fade(this.getElement('loginErrorPanel'), {duration:0, sync:true}) |
135 | ], {}) | 132 | ], {}) |
136 | }, | 133 | }, |
137 | 134 | ||
138 | 'showLoginProgress': function () { | 135 | 'showLoginProgress': function () { |
139 | MochiKit.Style.hideElement(this.getElement('loginFormPanel')); | 136 | MochiKit.Style.hideElement(this.getElement('loginFormPanel')); |
140 | MochiKit.Style.showElement(this.getElement('loginProgressPanel')); | 137 | MochiKit.Style.showElement(this.getElement('loginProgressPanel')); |
141 | }, | 138 | }, |
142 | 139 | ||
143 | 'showLoginError': function (anError) { | 140 | 'showLoginError': function (anError) { |
144 | this.getElement('errorMessage').innerHTML = "Login error"; | 141 | this.getElement('errorMessage').innerHTML = "Login error"; |
145 | 142 | ||
146 | MochiKit.Style.showElement('backButton'); | 143 | MochiKit.Style.showElement('backButton'); |
147 | MochiKit.Style.hideElement(this.getElement('loginProgressPanel')); | 144 | MochiKit.Style.hideElement(this.getElement('loginProgressPanel')); |
148 | MochiKit.Style.showElement(this.getElement('loginErrorPanel')); | 145 | MochiKit.Style.showElement(this.getElement('loginErrorPanel')); |
149 | MochiKit.Style.setElementPosition(this.getElement('loginErrorPanel'), {x:0, y:45}); | 146 | MochiKit.Style.setElementPosition(this.getElement('loginErrorPanel'), {x:0, y:45}); |
150 | }, | 147 | }, |
151 | 148 | ||
152 | //------------------------------------------------------------------------- | 149 | //------------------------------------------------------------------------- |
diff --git a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Controllers/MainController.js b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Controllers/MainController.js index b43d877..3fcaae1 100644 --- a/frontend/gamma/js/Clipperz/PM/UI/iPhone/Controllers/MainController.js +++ b/frontend/gamma/js/Clipperz/PM/UI/iPhone/Controllers/MainController.js | |||
@@ -1,152 +1,149 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Copyright 2008-2011 Clipperz Srl | 3 | Copyright 2008-2011 Clipperz Srl |
4 | 4 | ||
5 | This file is part of Clipperz's Javascript Crypto Library. | 5 | This file is part of Clipperz Community Edition. |
6 | Javascript Crypto Library provides web developers with an extensive | 6 | Clipperz Community Edition is an online password manager. |
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | 7 | For further information about its features and functionalities please |
11 | refer to http://www.clipperz.com | 8 | refer to http://www.clipperz.com. |
12 | 9 | ||
13 | * Javascript Crypto Library is free software: you can redistribute | 10 | * Clipperz Community Edition is free software: you can redistribute |
14 | it and/or modify it under the terms of the GNU Affero General Public | 11 | it and/or modify it under the terms of the GNU Affero General Public |
15 | License as published by the Free Software Foundation, either version | 12 | License as published by the Free Software Foundation, either version |
16 | 3 of the License, or (at your option) any later version. | 13 | 3 of the License, or (at your option) any later version. |
17 | 14 | ||
18 | * Javascript Crypto Library is distributed in the hope that it will | 15 | * Clipperz Community Edition is distributed in the hope that it will |
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | 16 | be useful, but WITHOUT ANY WARRANTY; without even the implied |
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 17 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
21 | See the GNU Affero General Public License for more details. | 18 | See the GNU Affero General Public License for more details. |
22 | 19 | ||
23 | * You should have received a copy of the GNU Affero General Public | 20 | * You should have received a copy of the GNU Affero General Public |
24 | License along with Javascript Crypto Library. If not, see | 21 | License along with Clipperz Community Edition. If not, see |
25 | <http://www.gnu.org/licenses/>. | 22 | <http://www.gnu.org/licenses/>. |
26 | 23 | ||
27 | */ | 24 | */ |
28 | 25 | ||
29 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Controllers'); | 26 | Clipperz.Base.module('Clipperz.PM.UI.iPhone.Controllers'); |
30 | 27 | ||
31 | //Some parts of this controller have been derived from the iUI library. | 28 | //Some parts of this controller have been derived from the iUI library. |
32 | 29 | ||
33 | Clipperz.PM.UI.iPhone.Controllers.MainController = function() { | 30 | Clipperz.PM.UI.iPhone.Controllers.MainController = function() { |
34 | this._loginForm = null; | 31 | this._loginForm = null; |
35 | this._cardList = null; | 32 | this._cardList = null; |
36 | this._cachedValues =null; | 33 | this._cachedValues =null; |
37 | this._user = null; | 34 | this._user = null; |
38 | 35 | ||
39 | if (typeof window.onorientationchange == 'object') { | 36 | if (typeof window.onorientationchange == 'object') { |
40 | MochiKit.Signal.connect(window, 'onorientationchange', this, 'orientationChangeHandler'); | 37 | MochiKit.Signal.connect(window, 'onorientationchange', this, 'orientationChangeHandler'); |
41 | MochiKit.Async.callLater(0, MochiKit.Base.method(this, 'orientationChangeHandler')); | 38 | MochiKit.Async.callLater(0, MochiKit.Base.method(this, 'orientationChangeHandler')); |
42 | } else { | 39 | } else { |
43 | this.setOrientation('portrait'); | 40 | this.setOrientation('portrait'); |
44 | // this.setOrientation('landscape'); | 41 | // this.setOrientation('landscape'); |
45 | } | 42 | } |
46 | 43 | ||
47 | this.addMetaTag('viewport', 'width=devicewidth; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;'); | 44 | this.addMetaTag('viewport', 'width=devicewidth; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;'); |
48 | this.addMetaTag('apple-mobile-web-app-capable', 'yes'); | 45 | this.addMetaTag('apple-mobile-web-app-capable', 'yes'); |
49 | this.addMetaTag('apple-mobile-web-app-status-bar-style', 'black'); | 46 | this.addMetaTag('apple-mobile-web-app-status-bar-style', 'black'); |
50 | 47 | ||
51 | this.addLinkTag('apple-touch-icon', 'data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABfCAYAAACOTBv1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAQC0lEQVR4nO2ce3wU1b3AvzOzz2TzBpKQhIS3CnLxgYoPqAgiQS8igiAqiFprtT571YpKUa9tvVgrVvhc7IXS4lUUvGgR5CWIoiAIYoQgJGDI+0k2yW42szNz7h8pGBHIPmazqeb7+UD4DHt+vzPfPTnnzJkzIwGCLqKCHO0K/JTpkh9FuuRHkS75UaRLfhTpkh9FuuRHkS75UaRLfhTpkh9FLNGuwKnIzc3l9WXLQAIhQILWvwQnjn3vUNtjkoQQ4kSZr77KY+TIkR1/EgHQKeWnp6eTkJiI0P2gqyeOnxD7T+ttxf/wp4SwOOnTp0/UzqM9OqV8oFXygSVIm3/xvePSKf59up/cWfO9z3c2OnmfH646qVMv2XZa+RKtrT8cWruoztv2O6384/15OLSODZ237Xda+W1nMKEiROe+U9Rp5ZtFJ+51Oq/8E/P7MOjE3oFOLL/1Iik8fUJoCF03pT6RoNPKF4Q/2zF0P0J0yQ8aM/pqoesIXQs/UITotPKFYRDuXMXQ/dDV8oNECIShgRGmOKFjGIY5dYoAnVK+QCB0DSNM+Ybmb/0SOylhy8/NzWXYsGFm1OU7hGhd0RThtdrW2Y758kdcdhGLX30h7Dhhr2ouWrSI9PQ0ykrLeHn+fBYsWIDX6w0zqsAwNOQwW77QtbBnTMdJSkzgkfvuZPqkXOJi7SAMLhl2Htt37gk5ZlgtPycnh7TU7oiGo6TH6zz/3DPUVpXz3qp3+Lch54YeWLR2OyLcbkcPf9wY/bNL2fjuMg7uWM09t11PnE1FaSwADB65746wYofV8ufMeQph6MhfvoT09atIWWORBt7GNaOv5urRWyktLeWll//MXxb/FZ/PF3BcgcDQVeRwux1DQxjBz1m7JSfx2IM/Z/J1Y3A5LUiShFK3G3vpWuwVW9Bjs6i/eCGXnjcgrPqF1fJzrxkLuopUuAJJGMhH12LZMA3LG2ej7JxDZmwT//W7uVSVFPDW/y5l4ID+gQUWAmHo4V8g6VrAA64kSYwfM5It//g7+z9Zye2TxxJPDY7CpSRsnUrCzgdwlH2AZPiwNB5CajyMYqjkjhkRcvVCbvnnnzeUBJcDUbIFyVv+/RNprsKSNx/y5mP0uAS53zSuvWoc48duoqi4lD++vIC/vb4cVVVPHVyA0P1hLw0Yhh/EmU8xtXsyv3noHiaMu5xYmwXJ8GMr34ijfB3Wut2nvR3jKN9EU850fnXHNNZs2BpS/UKW/+QTj4GhIxe+fcbPyVXbsVVtR1ifRMueQE7fKbz0u6f5/dzfsGb9JuY8+wJHiopPKmXObAdDwzhFtyPLMhPGjeKRe2cyIDsVCYHiPoCjcB32qi3Imqfd0PaqrTRmTWFw31QURUbXg69ryPKvuOxihN+LXLQ6oM9L/kasBcuwFixDTzwbS+8buf6q8UwYu4bDR8t4cf5/8+bK99C01hmKOfP87/f5PdO6M/vhX3DdmOHYLTKyWo/92zdxlm/A4j0aVGyLrxzFfQDD1ZdpE8exbMX7QdcvJPmjR/2MWJuCVLIBSXUHXV6pz0fZ8yz2vS+gZYymX/ZEXvnDbOY99yjvrd1CwZFiU65wDd0PhsTUieN44O7p9E5PQhI6trrPcJavx1a7E4nQf7uc1Z/gj8nmjptCk39860tQrFu9ksuGDcX+6f1YioNPeir0mEzUrOtQs65FtyYhSWA7uorYr0O/mKm5/C0MJRYhDBRPEc6KjTirNiP7g28wp6yzNZHywfMQsoUBo+7C1+IPqnxILf+ioYMRaj1K2aZQip8SxVuC85uFOA4uwt/9EloyxkOYSwNSyzEcdRtxVm7C2lRoUk2/Q/HXY2vYj881kLumX88ri888/p1M0PKnTr4BRfKjHN2ApAc+dw8USejYqrZhq9qGkJSwYiXv+iVShFc1nXXbaXb2Ydq1VwQtP+h5/r13zUAYOpbiwAbacAhXXKTFA8S492BoPlLjBPGumKDKBiVfURQG9ctCeKuxVH0WVKIfK4rRjLMhD8lQeWDWpKDKBiX/njtngFCxlK7rkFb1r4KrYTeG5ue6kcGtZwUlf8bUCWBo2ErWBZXkx06MJx+hNZFg8dCzR1LA5QKWH+N0kpOeCJ4yLPVfhVTJHyuy0HA17Qeh8+Cs6wMvF+gHH77vTjA0JG85emx2SJX8saLJsaA3I3Q/V52fE3C5gKeaY6+6AmH4UV39qRu2EMVThL1qK47qj7F4S0Kp8780ftlFo3MATc6z8Fp6Ht/ZS0xiMg6bFZ/a/gVXwFe4TqeTqVMmMevm6zk7pwea9xhCGCAEFk8RjpptOGo/xdJcFuZpdV78sotGxwAanQNptvZEIJAkGUtiDnuLmnht+Xo2bNoS8E37kJYXYmNjmXbTjcy8aTwDMpLRmmtb1+CFQPEcIaZuB87a7VhaKoMN3enwy3E0OgfQYO9PsyWt1ZikYEnKIa+oidfe2sj6jZtD2iURkvy2uFwupk+9kRmTc+mT7kLz1CAMAQgsniPEHNtJzLGdWNTqcNJ0KKoST6O9Pw2O/visaQjDQJJlrEl9+KrYy+IVm/hg/YfoYd5vCFt+W+Lj47ll2mRuvWE02d0crV+EECAMbN4iYty7iKnfjcVfa1ZK01CVBBrs/Wi098dnTUUIA0lubeH7in0sXrmZNes2hi28LabKb0tCQgIzpk/h5glXkpko//OLaB0jbM1FxLh3E9uwF6t2LBLpA0JVEmiw9afB3heftUfrLjlZxprUm/wylSXvbOH9DzaiaZHZ+xMx+W1JSkpi5i1TuGn85fSMF2hNVSe6JntzEbGNe3E15WHRzFnqPRMtSiIN9n402Pris3RrHasAW3IfDlT4WfLOVlav3RAx4W3pEPltSUlJYdYtU5g8bjipMS2oDa2DclzDLlJrVkU0twCK4q7DY81AIGFP6UN+ucZfV33M6rUb8PuDW48Plw6X35aZU3J5YvowbGoVWRWvIYvItzZNclIQNxHVlsK4B/5OWXV9xHOejqjt1UzvkcRj04eD5iWtenmHiAewiGYyPZsQ3jqWzp2CIkdvu2pUMsuyxMo/3Y+keehRtxq7Vteh+V16Janql6RY3Lz48IQOzd2WqMh/dc7PSbJ6iG/cSUJzfjSqQKq2D5dWyuV9YPKYoVGpQ4fLv/Ga4YwY6MTmKyO1YUtHpz+BBORon2PVm3h0Yj/6ZAS+FGwWHSo/My2FObMuR9K8ZLjfRya6N2SsqPQWu8DvZsmjY3DYwrtnHCwdJl+WJd78w+2gNtKzaSN2I/Jz+kCI4xgZ4iBOo4ZFj4/v0NwdJn/h0zOJl9wkN+8lQT0cdjyBRAtOE2oGaVIRcUYF/WJr+NVkkx/0OAMdIn/KuEu4OBuc/nLSmneYErNc6k8hF2CY8KizJEFfy0FseJk2zMqFZ6WaUMP2ibj8XunJzJ42FFn3kOXdjBzG9rzjeIinzMjBI2IpNQLcdt4OVkljgO0QQvXw4syBxDkj3/9HVL4iyyx75iaMlnqyfNuwi/Z3/7aHISQO62cj2eOxxCRTbvTEbSSaUFuIUzxk24qR1RqWPnpFxF8XE1H5C2ZPxWXU0K1lP4lGqSkxS4zeeA0HGwqd/N8+G8IwKFD7429nH36gZDjqSJLrSDaKmDvjfFNino6IyZ86bhgXpHtxalVkGHmmxGw04inX0tESB/HEvGU8+6eluBOGoxoShS05puQAGOiqxI6XKzIqGHdRpmlxTyYi8nN6JvPrCX1QdC+99R2mvGxLFzIFLb2R7XHc+8cNJ54yvPnx17B0P4taNZZyNSXsPAAWWXBOQi3oXv7jaomMFLspcU/GdPkWRWbp7FyE6ibH2IMdczbTFqkZeDWZLSUp7N136MTx2to65r5xGMUWw2FPCh7dZkq+eJtG3zg3oqWEhXenYY3A+Gu6/AWPT8ShVtDDKCBRMue+bb3mosyXgEgewuPz3vjB/7+/8RN2egah6xr57m4YwpyBMivOoLsDnL6jvDjLnFlVW0yVf8v4CxmSXItL1JIlFZgSUxMyhzypWOxxPLjgs9PuEnjouSWQOQqPJlHYGGdKboCzUwQOBAMdBdx2lbn9v2ny+2amcN+YZBTdSz9ln2mv1zrs6YZPk9hWm80XeQdP+zld15n5n+uwJedQ0iRT4zOnn7DIMCQNEIKbB9UwqFesKXHBRPnzf/3vGC1udF3jmBZvSszaFgflXgei+1Aem9f+gwdHior5y45YJFmQX2vQYsK6nRBQ3dT6eJhQVZ672bzuxzT5D/75I6SMK9ENQaEvk2+8vdBE6OH9hsQ37ngUu5NH/+frgLdsLF6+nrKECbSosK86vDcUtmiwq0jiYIWEoUnY++by9HvhXygexzT5hwoOM+L2F9mnjES2u6huiWFPQ28aNEdI8Q7Wx9Ki+dnlGcyOPQeCKnvnb9/Gnn0NtR6ZohBv0dY0wceHJKobQFJiqO11K7lPbSRv/6H2CweIAvzWrGCGYfCPjds5ZhvAqGF98R4roaI5BgmDeKsa8DhQ6VU44jawpF3ILXM3BL0VT9M08sqtjD03luraerq7wB7gBbAQcLAS8opB80s4087hrbLBPPXKO6ZvJzFV/nHyDx7m3c+rmXDDJOT6/dSrFtwtFpLtLSjt/K6pOnxZJZBsCcxeBUUlVSHVoayyhoxBo+glDlHnEWQmgtzOl+9TYddhiZJaCYSM45wJ3Pu3YjZ8/EVIdWiPiC0vVFZWcvVd8/nUPxqrqzt1PoMdlQ5qfWdOub9Gwq9J7NNHsG1XcN3NyTy/8B18fabS2Az729k8XemGj/KhpkFCtrqoyJrO+CfX8E3Bt2HV4Ux0yL6dEZdewO9vTaO5cC1CCHrFCfom/bAlljbA/moJS/pljH1qhymbmJKTk1j50CCaDm/jwt6CtJMWQA0D8kuhsEJCGODKOpcl+d14/d0Pw87dHhHpdk6mqLicFZ9Ucc3E27A35lPv1anxQrKTE5ftPj98WS6BEscz66wcKTZne3lzs48q0rm0ZwsV1V4yUr7L6W2B7QehvFYCAc5zJ3H3kkNs3bHXlNzt0WG3Ed1uNzfcv4j368fh6H4Obi98+i2UN7QOcnnlEqoKB61XsvXz/abmXrt5B/tixtCiSuwuaM1XVgeb86DeI6M4Ezjaazrjn1zFkaKOe8omKtsFzx00kFd/eR6evOUgQYJdUN8sYc+8hHHPfnH69/CEgaIorHl+Es1fvU2yS3DMIyOEIC7nfBbujmXF2tDemRMOUdur6XA4WPDUbWRVr0D11CNbY5i3pzebPjNn7f9U9M7O5LWpyTSV5CFJYB08hbvmf0RpWUXEcp6JDunzT4Wmabz74ReIjBEMH9iNQwzhleWRbX317gbktCGcn6ZzICGX2597i4aGxojmbA8R7T/ZvTKF3W7rsHwDB/SL+jkDIqpbxH/qdMrX+f5U6JIfRbrkR5Eu+VGkS34U6ZIfRbrkR5Eu+VGkS34U6ZIfRbrkR5H/Bx8z6HmTXnicAAAAAElFTkSuQmCCCg=='); | 48 | this.addLinkTag('apple-touch-icon', 'data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABfCAYAAACOTBv1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAQC0lEQVR4nO2ce3wU1b3AvzOzz2TzBpKQhIS3CnLxgYoPqAgiQS8igiAqiFprtT571YpKUa9tvVgrVvhc7IXS4lUUvGgR5CWIoiAIYoQgJGDI+0k2yW42szNz7h8pGBHIPmazqeb7+UD4DHt+vzPfPTnnzJkzIwGCLqKCHO0K/JTpkh9FuuRHkS75UaRLfhTpkh9FuuRHkS75UaRLfhTpkh9FLNGuwKnIzc3l9WXLQAIhQILWvwQnjn3vUNtjkoQQ4kSZr77KY+TIkR1/EgHQKeWnp6eTkJiI0P2gqyeOnxD7T+ttxf/wp4SwOOnTp0/UzqM9OqV8oFXygSVIm3/xvePSKf59up/cWfO9z3c2OnmfH646qVMv2XZa+RKtrT8cWruoztv2O6384/15OLSODZ237Xda+W1nMKEiROe+U9Rp5ZtFJ+51Oq/8E/P7MOjE3oFOLL/1Iik8fUJoCF03pT6RoNPKF4Q/2zF0P0J0yQ8aM/pqoesIXQs/UITotPKFYRDuXMXQ/dDV8oNECIShgRGmOKFjGIY5dYoAnVK+QCB0DSNM+Ybmb/0SOylhy8/NzWXYsGFm1OU7hGhd0RThtdrW2Y758kdcdhGLX30h7Dhhr2ouWrSI9PQ0ykrLeHn+fBYsWIDX6w0zqsAwNOQwW77QtbBnTMdJSkzgkfvuZPqkXOJi7SAMLhl2Htt37gk5ZlgtPycnh7TU7oiGo6TH6zz/3DPUVpXz3qp3+Lch54YeWLR2OyLcbkcPf9wY/bNL2fjuMg7uWM09t11PnE1FaSwADB65746wYofV8ufMeQph6MhfvoT09atIWWORBt7GNaOv5urRWyktLeWll//MXxb/FZ/PF3BcgcDQVeRwux1DQxjBz1m7JSfx2IM/Z/J1Y3A5LUiShFK3G3vpWuwVW9Bjs6i/eCGXnjcgrPqF1fJzrxkLuopUuAJJGMhH12LZMA3LG2ej7JxDZmwT//W7uVSVFPDW/y5l4ID+gQUWAmHo4V8g6VrAA64kSYwfM5It//g7+z9Zye2TxxJPDY7CpSRsnUrCzgdwlH2AZPiwNB5CajyMYqjkjhkRcvVCbvnnnzeUBJcDUbIFyVv+/RNprsKSNx/y5mP0uAS53zSuvWoc48duoqi4lD++vIC/vb4cVVVPHVyA0P1hLw0Yhh/EmU8xtXsyv3noHiaMu5xYmwXJ8GMr34ijfB3Wut2nvR3jKN9EU850fnXHNNZs2BpS/UKW/+QTj4GhIxe+fcbPyVXbsVVtR1ifRMueQE7fKbz0u6f5/dzfsGb9JuY8+wJHiopPKmXObAdDwzhFtyPLMhPGjeKRe2cyIDsVCYHiPoCjcB32qi3Imqfd0PaqrTRmTWFw31QURUbXg69ryPKvuOxihN+LXLQ6oM9L/kasBcuwFixDTzwbS+8buf6q8UwYu4bDR8t4cf5/8+bK99C01hmKOfP87/f5PdO6M/vhX3DdmOHYLTKyWo/92zdxlm/A4j0aVGyLrxzFfQDD1ZdpE8exbMX7QdcvJPmjR/2MWJuCVLIBSXUHXV6pz0fZ8yz2vS+gZYymX/ZEXvnDbOY99yjvrd1CwZFiU65wDd0PhsTUieN44O7p9E5PQhI6trrPcJavx1a7E4nQf7uc1Z/gj8nmjptCk39860tQrFu9ksuGDcX+6f1YioNPeir0mEzUrOtQs65FtyYhSWA7uorYr0O/mKm5/C0MJRYhDBRPEc6KjTirNiP7g28wp6yzNZHywfMQsoUBo+7C1+IPqnxILf+ioYMRaj1K2aZQip8SxVuC85uFOA4uwt/9EloyxkOYSwNSyzEcdRtxVm7C2lRoUk2/Q/HXY2vYj881kLumX88ri888/p1M0PKnTr4BRfKjHN2ApAc+dw8USejYqrZhq9qGkJSwYiXv+iVShFc1nXXbaXb2Ydq1VwQtP+h5/r13zUAYOpbiwAbacAhXXKTFA8S492BoPlLjBPGumKDKBiVfURQG9ctCeKuxVH0WVKIfK4rRjLMhD8lQeWDWpKDKBiX/njtngFCxlK7rkFb1r4KrYTeG5ue6kcGtZwUlf8bUCWBo2ErWBZXkx06MJx+hNZFg8dCzR1LA5QKWH+N0kpOeCJ4yLPVfhVTJHyuy0HA17Qeh8+Cs6wMvF+gHH77vTjA0JG85emx2SJX8saLJsaA3I3Q/V52fE3C5gKeaY6+6AmH4UV39qRu2EMVThL1qK47qj7F4S0Kp8780ftlFo3MATc6z8Fp6Ht/ZS0xiMg6bFZ/a/gVXwFe4TqeTqVMmMevm6zk7pwea9xhCGCAEFk8RjpptOGo/xdJcFuZpdV78sotGxwAanQNptvZEIJAkGUtiDnuLmnht+Xo2bNoS8E37kJYXYmNjmXbTjcy8aTwDMpLRmmtb1+CFQPEcIaZuB87a7VhaKoMN3enwy3E0OgfQYO9PsyWt1ZikYEnKIa+oidfe2sj6jZtD2iURkvy2uFwupk+9kRmTc+mT7kLz1CAMAQgsniPEHNtJzLGdWNTqcNJ0KKoST6O9Pw2O/visaQjDQJJlrEl9+KrYy+IVm/hg/YfoYd5vCFt+W+Lj47ll2mRuvWE02d0crV+EECAMbN4iYty7iKnfjcVfa1ZK01CVBBrs/Wi098dnTUUIA0lubeH7in0sXrmZNes2hi28LabKb0tCQgIzpk/h5glXkpko//OLaB0jbM1FxLh3E9uwF6t2LBLpA0JVEmiw9afB3heftUfrLjlZxprUm/wylSXvbOH9DzaiaZHZ+xMx+W1JSkpi5i1TuGn85fSMF2hNVSe6JntzEbGNe3E15WHRzFnqPRMtSiIN9n402Pris3RrHasAW3IfDlT4WfLOVlav3RAx4W3pEPltSUlJYdYtU5g8bjipMS2oDa2DclzDLlJrVkU0twCK4q7DY81AIGFP6UN+ucZfV33M6rUb8PuDW48Plw6X35aZU3J5YvowbGoVWRWvIYvItzZNclIQNxHVlsK4B/5OWXV9xHOejqjt1UzvkcRj04eD5iWtenmHiAewiGYyPZsQ3jqWzp2CIkdvu2pUMsuyxMo/3Y+keehRtxq7Vteh+V16Janql6RY3Lz48IQOzd2WqMh/dc7PSbJ6iG/cSUJzfjSqQKq2D5dWyuV9YPKYoVGpQ4fLv/Ga4YwY6MTmKyO1YUtHpz+BBORon2PVm3h0Yj/6ZAS+FGwWHSo/My2FObMuR9K8ZLjfRya6N2SsqPQWu8DvZsmjY3DYwrtnHCwdJl+WJd78w+2gNtKzaSN2I/Jz+kCI4xgZ4iBOo4ZFj4/v0NwdJn/h0zOJl9wkN+8lQT0cdjyBRAtOE2oGaVIRcUYF/WJr+NVkkx/0OAMdIn/KuEu4OBuc/nLSmneYErNc6k8hF2CY8KizJEFfy0FseJk2zMqFZ6WaUMP2ibj8XunJzJ42FFn3kOXdjBzG9rzjeIinzMjBI2IpNQLcdt4OVkljgO0QQvXw4syBxDkj3/9HVL4iyyx75iaMlnqyfNuwi/Z3/7aHISQO62cj2eOxxCRTbvTEbSSaUFuIUzxk24qR1RqWPnpFxF8XE1H5C2ZPxWXU0K1lP4lGqSkxS4zeeA0HGwqd/N8+G8IwKFD7429nH36gZDjqSJLrSDaKmDvjfFNino6IyZ86bhgXpHtxalVkGHmmxGw04inX0tESB/HEvGU8+6eluBOGoxoShS05puQAGOiqxI6XKzIqGHdRpmlxTyYi8nN6JvPrCX1QdC+99R2mvGxLFzIFLb2R7XHc+8cNJ54yvPnx17B0P4taNZZyNSXsPAAWWXBOQi3oXv7jaomMFLspcU/GdPkWRWbp7FyE6ibH2IMdczbTFqkZeDWZLSUp7N136MTx2to65r5xGMUWw2FPCh7dZkq+eJtG3zg3oqWEhXenYY3A+Gu6/AWPT8ShVtDDKCBRMue+bb3mosyXgEgewuPz3vjB/7+/8RN2egah6xr57m4YwpyBMivOoLsDnL6jvDjLnFlVW0yVf8v4CxmSXItL1JIlFZgSUxMyhzypWOxxPLjgs9PuEnjouSWQOQqPJlHYGGdKboCzUwQOBAMdBdx2lbn9v2ny+2amcN+YZBTdSz9ln2mv1zrs6YZPk9hWm80XeQdP+zld15n5n+uwJedQ0iRT4zOnn7DIMCQNEIKbB9UwqFesKXHBRPnzf/3vGC1udF3jmBZvSszaFgflXgei+1Aem9f+gwdHior5y45YJFmQX2vQYsK6nRBQ3dT6eJhQVZ672bzuxzT5D/75I6SMK9ENQaEvk2+8vdBE6OH9hsQ37ngUu5NH/+frgLdsLF6+nrKECbSosK86vDcUtmiwq0jiYIWEoUnY++by9HvhXygexzT5hwoOM+L2F9mnjES2u6huiWFPQ28aNEdI8Q7Wx9Ki+dnlGcyOPQeCKnvnb9/Gnn0NtR6ZohBv0dY0wceHJKobQFJiqO11K7lPbSRv/6H2CweIAvzWrGCGYfCPjds5ZhvAqGF98R4roaI5BgmDeKsa8DhQ6VU44jawpF3ILXM3BL0VT9M08sqtjD03luraerq7wB7gBbAQcLAS8opB80s4087hrbLBPPXKO6ZvJzFV/nHyDx7m3c+rmXDDJOT6/dSrFtwtFpLtLSjt/K6pOnxZJZBsCcxeBUUlVSHVoayyhoxBo+glDlHnEWQmgtzOl+9TYddhiZJaCYSM45wJ3Pu3YjZ8/EVIdWiPiC0vVFZWcvVd8/nUPxqrqzt1PoMdlQ5qfWdOub9Gwq9J7NNHsG1XcN3NyTy/8B18fabS2Az729k8XemGj/KhpkFCtrqoyJrO+CfX8E3Bt2HV4Ux0yL6dEZdewO9vTaO5cC1CCHrFCfom/bAlljbA/moJS/pljH1qhymbmJKTk1j50CCaDm/jwt6CtJMWQA0D8kuhsEJCGODKOpcl+d14/d0Pw87dHhHpdk6mqLicFZ9Ucc3E27A35lPv1anxQrKTE5ftPj98WS6BEscz66wcKTZne3lzs48q0rm0ZwsV1V4yUr7L6W2B7QehvFYCAc5zJ3H3kkNs3bHXlNzt0WG3Ed1uNzfcv4j368fh6H4Obi98+i2UN7QOcnnlEqoKB61XsvXz/abmXrt5B/tixtCiSuwuaM1XVgeb86DeI6M4Ezjaazrjn1zFkaKOe8omKtsFzx00kFd/eR6evOUgQYJdUN8sYc+8hHHPfnH69/CEgaIorHl+Es1fvU2yS3DMIyOEIC7nfBbujmXF2tDemRMOUdur6XA4WPDUbWRVr0D11CNbY5i3pzebPjNn7f9U9M7O5LWpyTSV5CFJYB08hbvmf0RpWUXEcp6JDunzT4Wmabz74ReIjBEMH9iNQwzhleWRbX317gbktCGcn6ZzICGX2597i4aGxojmbA8R7T/ZvTKF3W7rsHwDB/SL+jkDIqpbxH/qdMrX+f5U6JIfRbrkR5Eu+VGkS34U6ZIfRbrkR5Eu+VGkS34U6ZIfRbrkR5H/Bx8z6HmTXnicAAAAAElFTkSuQmCCCg=='); |
52 | //this.addLinkTag('apple-touch-startup-image', 'default.png'); | 49 | //this.addLinkTag('apple-touch-startup-image', 'default.png'); |
53 | 50 | ||
54 | // if (!window.navigator.standalone)// not running as an installed app | 51 | // if (!window.navigator.standalone)// not running as an installed app |
55 | 52 | ||
56 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'selectedDirectLogin', this, 'selectedDirectLoginHandler'); | 53 | MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'selectedDirectLogin', this, 'selectedDirectLoginHandler'); |
57 | 54 | ||
58 | MochiKit.DOM.addElementClass(document.body, 'iPhone'); | 55 | MochiKit.DOM.addElementClass(document.body, 'iPhone'); |
59 | return this; | 56 | return this; |
60 | } | 57 | } |
61 | 58 | ||
62 | MochiKit.Base.update(Clipperz.PM.UI.iPhone.Controllers.MainController.prototype, { | 59 | MochiKit.Base.update(Clipperz.PM.UI.iPhone.Controllers.MainController.prototype, { |
63 | 60 | ||
64 | 'toString': function () { | 61 | 'toString': function () { |
65 | return "Clipperz.PM.UI.iPhone.Controllers.MainController"; | 62 | return "Clipperz.PM.UI.iPhone.Controllers.MainController"; |
66 | }, | 63 | }, |
67 | 64 | ||
68 | //========================================================================= | 65 | //========================================================================= |
69 | 66 | ||
70 | 'user': function () { | 67 | 'user': function () { |
71 | return this._user; | 68 | return this._user; |
72 | }, | 69 | }, |
73 | 70 | ||
74 | 'setUser': function (aValue) { | 71 | 'setUser': function (aValue) { |
75 | this._user = aValue; | 72 | this._user = aValue; |
76 | }, | 73 | }, |
77 | 74 | ||
78 | //========================================================================= | 75 | //========================================================================= |
79 | 76 | ||
80 | 'loginForm': function() { | 77 | 'loginForm': function() { |
81 | if (this._loginForm == null) { | 78 | if (this._loginForm == null) { |
82 | MochiKit.DOM.removeElement('mainDiv'); | 79 | MochiKit.DOM.removeElement('mainDiv'); |
83 | this._loginForm = new Clipperz.PM.UI.iPhone.Components.LoginForm({element:MochiKit.DOM.currentDocument().body}); | 80 | this._loginForm = new Clipperz.PM.UI.iPhone.Components.LoginForm({element:MochiKit.DOM.currentDocument().body}); |
84 | MochiKit.Signal.connect(this._loginForm, 'doLogin', this, 'doLoginHandler') | 81 | MochiKit.Signal.connect(this._loginForm, 'doLogin', this, 'doLoginHandler') |
85 | } | 82 | } |
86 | 83 | ||
87 | return this._loginForm; | 84 | return this._loginForm; |
88 | }, | 85 | }, |
89 | 86 | ||
90 | 'removeLoginForm': function () { | 87 | 'removeLoginForm': function () { |
91 | if (this._loginForm != null) { | 88 | if (this._loginForm != null) { |
92 | this._loginForm.remove(); | 89 | this._loginForm.remove(); |
93 | this._loginForm = null; | 90 | this._loginForm = null; |
94 | } | 91 | } |
95 | }, | 92 | }, |
96 | 93 | ||
97 | //----------------------------------------------------------------------------- | 94 | //----------------------------------------------------------------------------- |
98 | 95 | ||
99 | 'cardList': function () { | 96 | 'cardList': function () { |
100 | if (this._cardList == null) { | 97 | if (this._cardList == null) { |
101 | this._cardList = new Clipperz.PM.UI.iPhone.Components.CardList({element:MochiKit.DOM.currentDocument().body}); | 98 | this._cardList = new Clipperz.PM.UI.iPhone.Components.CardList({element:MochiKit.DOM.currentDocument().body}); |
102 | MochiKit.Signal.connect(this._cardList, 'searchEvent',this, 'searchEventHandler') | 99 | MochiKit.Signal.connect(this._cardList, 'searchEvent',this, 'searchEventHandler') |
103 | MochiKit.Signal.connect(this._cardList, 'selectedCard',this, 'selecetedCardHandler') | 100 | MochiKit.Signal.connect(this._cardList, 'selectedCard',this, 'selecetedCardHandler') |
104 | } | 101 | } |
105 | 102 | ||
106 | return this._cardList; | 103 | return this._cardList; |
107 | }, | 104 | }, |
108 | 105 | ||
109 | //========================================================================= | 106 | //========================================================================= |
110 | 107 | ||
111 | 'currentWidth': function () { | 108 | 'currentWidth': function () { |
112 | return this._currentWidth; | 109 | return this._currentWidth; |
113 | }, | 110 | }, |
114 | 111 | ||
115 | 'setCurrentWidth': function (aValue) { | 112 | 'setCurrentWidth': function (aValue) { |
116 | this._currentWidth = aValue; | 113 | this._currentWidth = aValue; |
117 | }, | 114 | }, |
118 | 115 | ||
119 | //========================================================================= | 116 | //========================================================================= |
120 | 117 | ||
121 | 'orientationChangeHandler': function () { | 118 | 'orientationChangeHandler': function () { |
122 | switch(window.orientation) { | 119 | switch(window.orientation) { |
123 | case 0: | 120 | case 0: |
124 | this.setOrientation('portrait'); | 121 | this.setOrientation('portrait'); |
125 | break; | 122 | break; |
126 | case 90: | 123 | case 90: |
127 | case -90: | 124 | case -90: |
128 | this.setOrientation('landscape'); | 125 | this.setOrientation('landscape'); |
129 | break; | 126 | break; |
130 | } | 127 | } |
131 | }, | 128 | }, |
132 | 129 | ||
133 | //------------------------------------------------------------------------- | 130 | //------------------------------------------------------------------------- |
134 | 131 | ||
135 | 'setOrientation': function (anOrientation) { | 132 | 'setOrientation': function (anOrientation) { |
136 | document.body.setAttribute('orientation', anOrientation); | 133 | document.body.setAttribute('orientation', anOrientation); |
137 | setTimeout(scrollTo, 100, 0, 1); | 134 | setTimeout(scrollTo, 100, 0, 1); |
138 | }, | 135 | }, |
139 | 136 | ||
140 | //------------------------------------------------------------------------- | 137 | //------------------------------------------------------------------------- |
141 | 138 | ||
142 | 'slidePages': function (fromPage, toPage, backwards) { | 139 | 'slidePages': function (fromPage, toPage, backwards) { |
143 | var axis; | 140 | var axis; |
144 | var slideDone; | 141 | var slideDone; |
145 | 142 | ||
146 | slideDone = function () { | 143 | slideDone = function () { |
147 | // console.log("slideDone"); | 144 | // console.log("slideDone"); |
148 | if (!hasClass(toPage, "dialog")) { | 145 | if (!hasClass(toPage, "dialog")) { |
149 | fromPage.removeAttribute("selected"); | 146 | fromPage.removeAttribute("selected"); |
150 | } | 147 | } |
151 | checkTimer = setInterval(checkOrientAndLocation, 300); | 148 | checkTimer = setInterval(checkOrientAndLocation, 300); |
152 | setTimeout(updatePage, 0, toPage, fromPage); | 149 | setTimeout(updatePage, 0, toPage, fromPage); |