summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components
Unidiff
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Mobile/Components') (more/less context) (show whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardDetail.js26
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardList.js26
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/LoginForm.js29
3 files changed, 30 insertions, 51 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardDetail.js b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardDetail.js
index 32dfa63..abf4758 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardDetail.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardDetail.js
@@ -1,30 +1,28 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz Community Edition. 5This file is part of Clipperz, the online password manager.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please 6For further information about its features and functionalities please
8refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
9 8
10* Clipperz Community Edition is free software: you can redistribute 9* Clipperz is free software: you can redistribute it and/or modify it
11 it and/or modify it under the terms of the GNU Affero General Public 10 under the terms of the GNU Affero General Public License as published
12 License as published by the Free Software Foundation, either version 11 by the Free Software Foundation, either version 3 of the License, or
13 3 of the License, or (at your option) any later version. 12 (at your option) any later version.
14 13
15* Clipperz Community Edition is distributed in the hope that it will 14* Clipperz is distributed in the hope that it will be useful, but
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 15 WITHOUT ANY WARRANTY; without even the implied warranty of
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
19 18
20* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
22 <http://www.gnu.org/licenses/>.
23 21
24*/ 22*/
25 23
26Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components'); 24Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components');
27 25
28Clipperz.PM.UI.Mobile.Components.CardDetail = function(args) { 26Clipperz.PM.UI.Mobile.Components.CardDetail = function(args) {
29 args = args || {}; 27 args = args || {};
30 28
@@ -53,17 +51,16 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.CardDetail, Clipperz.PM.UI
53 51
54 'setCardReference': function (aValue) { 52 'setCardReference': function (aValue) {
55 this._cardReference = aValue; 53 this._cardReference = aValue;
56 }, 54 },
57*/ 55*/
58 //------------------------------------------------------------------------- 56 //-------------------------------------------------------------------------
59 57
60 'renderSelf': function () { 58 'renderSelf': function () {
61console.log("CardDetail.renderSelf");
62 this.append(this.element(), {tag:'div', cls:'cardDetail', children:[ 59 this.append(this.element(), {tag:'div', cls:'cardDetail', children:[
63 {tag:'div', cls:'toolbar', children:[ 60 {tag:'div', cls:'toolbar', children:[
64 {tag:'a', href:'#', cls:'back', html:"List"}, 61 {tag:'a', href:'#', cls:'back', html:"List"},
65 {tag:'h1', id:this.getId('cardTitle'), html:"…"} 62 {tag:'h1', id:this.getId('cardTitle'), html:"…"}
66 ]}, 63 ]},
67 {tag:'div', cls:'scroll', id:this.getId('cardDetails'), children:[ 64 {tag:'div', cls:'scroll', id:this.getId('cardDetails'), children:[
68 ]} 65 ]}
69 ]}); 66 ]});
@@ -150,27 +147,25 @@ console.log("CardDetail.renderSelf");
150 147
151 'addDirectLogin': function (aDirectLogin) { 148 'addDirectLogin': function (aDirectLogin) {
152 this.append(this.directLoginElement(), {tag:'li', cls:'directLogin forward', children:[ 149 this.append(this.directLoginElement(), {tag:'li', cls:'directLogin forward', children:[
153 {tag:'a', href:'#', html:"direct login", children:[ 150 {tag:'a', href:'#', html:"direct login", children:[
154 {tag:'small', cls:'favicon', children:[{tag:'img', cls:'favicon', src:'http://www.clipperz.com/favicon.ico'}]} 151 {tag:'small', cls:'favicon', children:[{tag:'img', cls:'favicon', src:'http://www.clipperz.com/favicon.ico'}]}
155 ]} 152 ]}
156 ]}) 153 ]})
157 154
158console.log("ADD DIRECT LOGIN", aDirectLogin);
159 }, 155 },
160 156
161 //========================================================================= 157 //=========================================================================
162 158
163 'showCard': function (aCard) { 159 'showCard': function (aCard) {
164 var deferredResult; 160 var deferredResult;
165 161
166 // this.render(); 162 // this.render();
167 163
168console.log("CardDetail.showCard", aCard);
169 deferredResult = new Clipperz.Async.Deferred("CardDetail.showCard", {trace:false}); 164 deferredResult = new Clipperz.Async.Deferred("CardDetail.showCard", {trace:false});
170 deferredResult.addMethod(aCard, 'label'); 165 deferredResult.addMethod(aCard, 'label');
171 deferredResult.addMethod(this, 'setTitle'); 166 deferredResult.addMethod(this, 'setTitle');
172 167
173 deferredResult.addMethod(aCard, 'fields'); 168 deferredResult.addMethod(aCard, 'fields');
174 deferredResult.addCallback(MochiKit.Base.values); 169 deferredResult.addCallback(MochiKit.Base.values);
175 deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.method(this, 'addField')); 170 deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.method(this, 'addField'));
176 171
@@ -261,17 +256,16 @@ console.log("CardDetail.showCard", aCard);
261 }, 256 },
262 257
263 //------------------------------------------------------------------------- 258 //-------------------------------------------------------------------------
264/* 259/*
265 'toggleClickHandler': function (anEvent) { 260 'toggleClickHandler': function (anEvent) {
266 varnextState; 261 varnextState;
267 varfieldValue; 262 varfieldValue;
268 263
269//console.log("TOGGLE");
270 anEvent.preventDefault; 264 anEvent.preventDefault;
271 fieldValue = MochiKit.Selector.findChildElements(anEvent.src().parentNode.parentNode, ['span.password'])[0]; 265 fieldValue = MochiKit.Selector.findChildElements(anEvent.src().parentNode.parentNode, ['span.password'])[0];
272 266
273 nextState = (MochiKit.DOM.getNodeAttribute(anEvent.src(), 'toggled') != 'true'); 267 nextState = (MochiKit.DOM.getNodeAttribute(anEvent.src(), 'toggled') != 'true');
274 if (nextState) { 268 if (nextState) {
275 MochiKit.DOM.removeElementClass(fieldValue, 'clear'); 269 MochiKit.DOM.removeElementClass(fieldValue, 'clear');
276 } else { 270 } else {
277 MochiKit.DOM.addElementClass(fieldValue, 'clear'); 271 MochiKit.DOM.addElementClass(fieldValue, 'clear');
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardList.js b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardList.js
index a4aa212..a0e4879 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardList.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/CardList.js
@@ -1,30 +1,28 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz Community Edition. 5This file is part of Clipperz, the online password manager.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please 6For further information about its features and functionalities please
8refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
9 8
10* Clipperz Community Edition is free software: you can redistribute 9* Clipperz is free software: you can redistribute it and/or modify it
11 it and/or modify it under the terms of the GNU Affero General Public 10 under the terms of the GNU Affero General Public License as published
12 License as published by the Free Software Foundation, either version 11 by the Free Software Foundation, either version 3 of the License, or
13 3 of the License, or (at your option) any later version. 12 (at your option) any later version.
14 13
15* Clipperz Community Edition is distributed in the hope that it will 14* Clipperz is distributed in the hope that it will be useful, but
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 15 WITHOUT ANY WARRANTY; without even the implied warranty of
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
19 18
20* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
22 <http://www.gnu.org/licenses/>.
23 21
24*/ 22*/
25 23
26Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components'); 24Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components');
27 25
28Clipperz.PM.UI.Mobile.Components.CardList = function(args) { 26Clipperz.PM.UI.Mobile.Components.CardList = function(args) {
29 args = args || {}; 27 args = args || {};
30 28
@@ -85,29 +83,27 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.CardList, Clipperz.PM.UI.C
85 cardInfo = { 83 cardInfo = {
86 '_rowObject': MochiKit.Async.succeed, 84 '_rowObject': MochiKit.Async.succeed,
87 '_reference': MochiKit.Base.methodcaller('reference'), 85 '_reference': MochiKit.Base.methodcaller('reference'),
88 '_searchableContent':MochiKit.Base.methodcaller('searchableContent'), 86 '_searchableContent':MochiKit.Base.methodcaller('searchableContent'),
89 'label': MochiKit.Base.methodcaller('label'), 87 'label': MochiKit.Base.methodcaller('label'),
90 'favicon': MochiKit.Base.methodcaller('favicon') 88 'favicon': MochiKit.Base.methodcaller('favicon')
91 }; 89 };
92 90
93//console.log("someCards", someCards);
94 deferredResult = new Clipperz.Async.Deferred("CardList.showCards", {trace:false}); 91 deferredResult = new Clipperz.Async.Deferred("CardList.showCards", {trace:false});
95 deferredResult.addCallback(MochiKit.Base.map, Clipperz.Async.collectResults("CardList.value - collectResults", cardInfo, {trace:false})); 92 deferredResult.addCallback(MochiKit.Base.map, Clipperz.Async.collectResults("CardList.value - collectResults", cardInfo, {trace:false}));
96 deferredResult.addCallback(Clipperz.Async.collectAll); 93 deferredResult.addCallback(Clipperz.Async.collectAll);
97 deferredResult.addCallback(MochiKit.Base.methodcaller('sort', Clipperz.Base.caseInsensitiveKeyComparator('label'))); 94 deferredResult.addCallback(MochiKit.Base.methodcaller('sort', Clipperz.Base.caseInsensitiveKeyComparator('label')));
98 deferredResult.addCallbackPass(MochiKit.DOM.replaceChildNodes, cardListElement); 95 deferredResult.addCallbackPass(MochiKit.DOM.replaceChildNodes, cardListElement);
99 // deferredResult.addCallbackPass(MochiKit.DOM.removeElementClass, cardListElement, 'loading'); 96 // deferredResult.addCallbackPass(MochiKit.DOM.removeElementClass, cardListElement, 'loading');
100 deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.method(this, 'appendCardToList', cardListElement)); 97 deferredResult.addCallback(MochiKit.Base.map, MochiKit.Base.method(this, 'appendCardToList', cardListElement));
101 deferredResult.callback(someCards); 98 deferredResult.callback(someCards);
102 }, 99 },
103 100
104 'appendCardToList': function (aCardListElement, aCardInfo) { 101 'appendCardToList': function (aCardListElement, aCardInfo) {
105//console.log("appendCardToList", aCardInfo);
106 this.append(aCardListElement, {tag:'li', cls:'cardListItem arrow', cardreference:aCardInfo['_reference'], children:[ 102 this.append(aCardListElement, {tag:'li', cls:'cardListItem arrow', cardreference:aCardInfo['_reference'], children:[
107 {tag:'a', href:'#', html:aCardInfo['label'], children:[ 103 {tag:'a', href:'#', html:aCardInfo['label'], children:[
108 {tag:'small', cls:'favicon', children:[{tag:'img', cls:'favicon', src:aCardInfo['favicon']}]} 104 {tag:'small', cls:'favicon', children:[{tag:'img', cls:'favicon', src:aCardInfo['favicon']}]}
109 ]} 105 ]}
110 ]}); 106 ]});
111 }, 107 },
112 108
113 'cardSelectionHandler': function (anEvent) { 109 'cardSelectionHandler': function (anEvent) {
@@ -116,17 +112,16 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.CardList, Clipperz.PM.UI.C
116 112
117 anEvent.preventDefault(); 113 anEvent.preventDefault();
118 114
119 listElement = anEvent.target(); 115 listElement = anEvent.target();
120 if (MochiKit.DOM.getNodeAttribute(listElement, 'cardreference') == null) { 116 if (MochiKit.DOM.getNodeAttribute(listElement, 'cardreference') == null) {
121 listElement = MochiKit.DOM.getFirstParentByTagAndClassName(anEvent.target(), tagName='li', className='cardListItem'); 117 listElement = MochiKit.DOM.getFirstParentByTagAndClassName(anEvent.target(), tagName='li', className='cardListItem');
122 } 118 }
123 cardReference = MochiKit.DOM.getNodeAttribute(listElement, 'cardreference'); 119 cardReference = MochiKit.DOM.getNodeAttribute(listElement, 'cardreference');
124console.log("###", listElement, cardReference);
125 //TODO: Notify card with reference MochiKit.DOM.getNodeAttribute(listElement, 'cardreference') has been selected 120 //TODO: Notify card with reference MochiKit.DOM.getNodeAttribute(listElement, 'cardreference') has been selected
126 MochiKit.Signal.signal(this, 'selectedCard', cardReference); 121 MochiKit.Signal.signal(this, 'selectedCard', cardReference);
127 }, 122 },
128 123
129 //------------------------------------------------------------------------- 124 //-------------------------------------------------------------------------
130/* 125/*
131 'searchHandler': function (anEvent) { 126 'searchHandler': function (anEvent) {
132 if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { //RETURN 127 if ((typeof(anEvent.key()) != 'undefined') && (anEvent.key().string == 'KEY_ENTER')) { //RETURN
@@ -166,17 +161,16 @@ console.log("###", listElement, cardReference);
166 161
167 'cardListClickHandler': function (anEvent) { 162 'cardListClickHandler': function (anEvent) {
168 anEvent.preventDefault(); 163 anEvent.preventDefault();
169 164
170 if (/(cardListReference_|cardListItem_)/.test(anEvent.target().id)) { 165 if (/(cardListReference_|cardListItem_)/.test(anEvent.target().id)) {
171 var cardListReference; 166 var cardListReference;
172 167
173 cardListReference = anEvent.target().id.match(/(cardListReference_|cardListItem_)(.*)/)[2]; 168 cardListReference = anEvent.target().id.match(/(cardListReference_|cardListItem_)(.*)/)[2];
174//console.log("Showing detail for card named", cardListReference);
175 MochiKit.Signal.signal(this, 'selectedCard', cardListReference); 169 MochiKit.Signal.signal(this, 'selectedCard', cardListReference);
176 } 170 }
177 }, 171 },
178 172
179 //========================================================================= 173 //=========================================================================
180 174
181 'cardDetail': function (someData) { 175 'cardDetail': function (someData) {
182 if (this._cardDetail == null) { 176 if (this._cardDetail == null) {
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/LoginForm.js b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/LoginForm.js
index eafcdbc..3aeac0c 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/LoginForm.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Mobile/Components/LoginForm.js
@@ -1,30 +1,28 @@
1/* 1/*
2 2
3Copyright 2008-2011 Clipperz Srl 3Copyright 2008-2013 Clipperz Srl
4 4
5This file is part of Clipperz Community Edition. 5This file is part of Clipperz, the online password manager.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please 6For further information about its features and functionalities please
8refer to http://www.clipperz.com. 7refer to http://www.clipperz.com.
9 8
10* Clipperz Community Edition is free software: you can redistribute 9* Clipperz is free software: you can redistribute it and/or modify it
11 it and/or modify it under the terms of the GNU Affero General Public 10 under the terms of the GNU Affero General Public License as published
12 License as published by the Free Software Foundation, either version 11 by the Free Software Foundation, either version 3 of the License, or
13 3 of the License, or (at your option) any later version. 12 (at your option) any later version.
14 13
15* Clipperz Community Edition is distributed in the hope that it will 14* Clipperz is distributed in the hope that it will be useful, but
16 be useful, but WITHOUT ANY WARRANTY; without even the implied 15 WITHOUT ANY WARRANTY; without even the implied warranty of
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details. 17 See the GNU Affero General Public License for more details.
19 18
20* You should have received a copy of the GNU Affero General Public 19* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see 20 License along with Clipperz. If not, see http://www.gnu.org/licenses/.
22 <http://www.gnu.org/licenses/>.
23 21
24*/ 22*/
25 23
26Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components'); 24Clipperz.Base.module('Clipperz.PM.UI.Mobile.Components');
27 25
28Clipperz.PM.UI.Mobile.Components.LoginForm = function(args) { 26Clipperz.PM.UI.Mobile.Components.LoginForm = function(args) {
29 args = args || {}; 27 args = args || {};
30 28
@@ -134,17 +132,16 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.LoginForm, Clipperz.PM.UI.
134 //------------------------------------------------------------------------- 132 //-------------------------------------------------------------------------
135 133
136 'setCallbacks': function (args) { 134 'setCallbacks': function (args) {
137 this._callback = args['callback']; 135 this._callback = args['callback'];
138 this._errorCallback = args['errorCallback']; 136 this._errorCallback = args['errorCallback'];
139 }, 137 },
140 138
141 'showErrors': function (args) { 139 'showErrors': function (args) {
142//console.log("LoginForm.showErrors", args);
143 if (args['previousFailedAttempt'] == 'LOGIN') { 140 if (args['previousFailedAttempt'] == 'LOGIN') {
144 this.setErrorMessage("Wrong credentials"); 141 this.setErrorMessage("Wrong credentials");
145 } else if (args['previousFailedAttempt'] == 'PIN') { 142 } else if (args['previousFailedAttempt'] == 'PIN') {
146 if (args['failedAttempts'] == -1) { 143 if (args['failedAttempts'] == -1) {
147 this.setErrorMessage("Wrong PIN - Resetted"); 144 this.setErrorMessage("Wrong PIN - Resetted");
148 } else { 145 } else {
149 this.setErrorMessage("Wrong PIN"); 146 this.setErrorMessage("Wrong PIN");
150 } 147 }
@@ -294,17 +291,16 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.LoginForm, Clipperz.PM.UI.
294 // $(this.getAnchor('PIN')).blur(); 291 // $(this.getAnchor('PIN')).blur();
295 this.getElement('PIN').blur(); 292 this.getElement('PIN').blur();
296 293
297 credentials = Clipperz.PM.PIN.credentialsWithPIN(pin); 294 credentials = Clipperz.PM.PIN.credentialsWithPIN(pin);
298 this.loginWithCredentials(credentials); 295 this.loginWithCredentials(credentials);
299 }, 296 },
300 297
301 'submitCredentialsHandler': function (anEvent) { 298 'submitCredentialsHandler': function (anEvent) {
302//console.log("submitCredentialsHandler");
303 varcredentials; 299 varcredentials;
304 300
305 this.setMessage(null); 301 this.setMessage(null);
306 302
307 credentials = {}; 303 credentials = {};
308 credentials['username'] = this.getElement('usernameField').value; 304 credentials['username'] = this.getElement('usernameField').value;
309 credentials['passphrase'] = this.getElement('passphraseField').value; 305 credentials['passphrase'] = this.getElement('passphraseField').value;
310 // $(this.getAnchor('passphraseField')).blur(); 306 // $(this.getAnchor('passphraseField')).blur();
@@ -326,31 +322,26 @@ Clipperz.Base.extend(Clipperz.PM.UI.Mobile.Components.LoginForm, Clipperz.PM.UI.
326 MochiKit.Style.showElement(this.getElement('validating')); 322 MochiKit.Style.showElement(this.getElement('validating'));
327 323
328 MochiKit.Async.callLater(0.1, this.callback(), args); 324 MochiKit.Async.callLater(0.1, this.callback(), args);
329 }, 325 },
330 326
331 //------------------------------------------------------------------------- 327 //-------------------------------------------------------------------------
332 328
333 'initProgressHandle': function (anEvent) { 329 'initProgressHandle': function (anEvent) {
334//console.log("** initProgressHandle", anEvent);
335 this._steps = anEvent['steps']; 330 this._steps = anEvent['steps'];
336 this._actualSteps = 0; 331 this._actualSteps = 0;
337 }, 332 },
338 333
339 'updateProgressHandle': function (anEvent) { 334 'updateProgressHandle': function (anEvent) {
340//console.log("** updateProgressHandle", anEvent);
341 this._steps += anEvent['extraSteps']; 335 this._steps += anEvent['extraSteps'];
342 }, 336 },
343 337
344 'advanceProgressHandle': function (anEvent) { 338 'advanceProgressHandle': function (anEvent) {
345//console.log("** advanceProgressHandle", anEvent);
346 this._actualSteps ++; 339 this._actualSteps ++;
347//console.log("STEPS: " + this._actualSteps + "/" + this._steps);
348 }, 340 },
349 341
350 'progressDoneHandle': function (anEvent) { 342 'progressDoneHandle': function (anEvent) {
351//console.log("** progressDoneHandle", anEvent);
352 }, 343 },
353 344
354 //------------------------------------------------------------------------- 345 //-------------------------------------------------------------------------
355 __syntaxFix__: "syntax fix" 346 __syntaxFix__: "syntax fix"
356}); 347});