summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js
authorClipperz <info@clipperz.com>2013-01-31 13:42:04 (UTC)
committer Clipperz <info@clipperz.com>2013-01-31 13:42:04 (UTC)
commit07d0357beef5d9328a2dd8d07ad7b39c87ac55e4 (patch) (unidiff)
treef7a4aed8848302db153c2a211f8e58b944eb4c5b /frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js
parent767a3dcf48b6ac911c088af5dd7738a728eb6b99 (diff)
downloadclipperz-07d0357beef5d9328a2dd8d07ad7b39c87ac55e4.zip
clipperz-07d0357beef5d9328a2dd8d07ad7b39c87ac55e4.tar.gz
clipperz-07d0357beef5d9328a2dd8d07ad7b39c87ac55e4.tar.bz2
Updated Copyright claims
- updated reference dates; - removed reference to Community Edition; - normalized logging using Clipperz.log[Warn|Error|Debug]
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js23
1 files changed, 10 insertions, 13 deletions
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 effde31..b1ff81f 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/CardDialogController.js
@@ -1,569 +1,566 @@
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.Web.Controllers'); 24Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers');
27 25
28Clipperz.PM.UI.Web.Controllers.CardDialogController = function(args) { 26Clipperz.PM.UI.Web.Controllers.CardDialogController = function(args) {
29 args = args || {}; 27 args = args || {};
30 28
31 Clipperz.PM.UI.Web.Controllers.CardDialogController.superclass.constructor.call(this, args); 29 Clipperz.PM.UI.Web.Controllers.CardDialogController.superclass.constructor.call(this, args);
32 30
33 this._record = args.record || Clipperz.Base.exception.raise('MandatoryParameter'); 31 this._record = args.record || Clipperz.Base.exception.raise('MandatoryParameter');
34 this._delegate = args.delegate || Clipperz.Base.exception.raise('MandatoryParameter'); 32 this._delegate = args.delegate || Clipperz.Base.exception.raise('MandatoryParameter');
35 33
36 this._referenceElement = null; 34 this._referenceElement = null;
37 this._cardDialogComponent = null; 35 this._cardDialogComponent = null;
38 36
39 this._fieldsReferences = {}; 37 this._fieldsReferences = {};
40 this._directLoginReferences = {}; 38 this._directLoginReferences = {};
41 39
42 this._directLoginWizardController = null; 40 this._directLoginWizardController = null;
43 this._directLoginEditingComponent = null; 41 this._directLoginEditingComponent = null;
44 this._isDirectLoginEditingComponentVisible = false; 42 this._isDirectLoginEditingComponentVisible = false;
45 43
46 return this; 44 return this;
47}; 45};
48 46
49Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardDialogController, Object, { 47Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.CardDialogController, Object, {
50 48
51 'toString': function() { 49 'toString': function() {
52 return "Clipperz.PM.UI.Web.Controllers.CardDialogController"; 50 return "Clipperz.PM.UI.Web.Controllers.CardDialogController";
53 }, 51 },
54 52
55 //------------------------------------------------------------------------- 53 //-------------------------------------------------------------------------
56 54
57 'record': function () { 55 'record': function () {
58 return this._record; 56 return this._record;
59 }, 57 },
60 58
61 'delegate': function () { 59 'delegate': function () {
62 return this._delegate; 60 return this._delegate;
63 }, 61 },
64 62
65 //------------------------------------------------------------------------- 63 //-------------------------------------------------------------------------
66 64
67 'fieldsReferences': function () { 65 'fieldsReferences': function () {
68 return this._fieldsReferences; 66 return this._fieldsReferences;
69 }, 67 },
70 68
71 'directLoginReferences': function () { 69 'directLoginReferences': function () {
72 return this._directLoginReferences; 70 return this._directLoginReferences;
73 }, 71 },
74 72
75 //------------------------------------------------------------------------- 73 //-------------------------------------------------------------------------
76 74
77 'referenceElement': function () { 75 'referenceElement': function () {
78 return this._referenceElement; 76 return this._referenceElement;
79 }, 77 },
80 78
81 'setReferenceElement': function (anElement) { 79 'setReferenceElement': function (anElement) {
82 this._referenceElement = anElement; 80 this._referenceElement = anElement;
83 }, 81 },
84 82
85 //------------------------------------------------------------------------- 83 //-------------------------------------------------------------------------
86 84
87 'cardDialogComponent': function () { 85 'cardDialogComponent': function () {
88 if (this._cardDialogComponent == null) { 86 if (this._cardDialogComponent == null) {
89 this._cardDialogComponent = new Clipperz.PM.UI.Web.Components.CardDialogComponent(); 87 this._cardDialogComponent = new Clipperz.PM.UI.Web.Components.CardDialogComponent();
90 88
91 MochiKit.Signal.connect(this._cardDialogComponent, 'cancel', this, 'handleCancel'); 89 MochiKit.Signal.connect(this._cardDialogComponent, 'cancel', this, 'handleCancel');
92 MochiKit.Signal.connect(this._cardDialogComponent, 'save', this, 'handleSave'); 90 MochiKit.Signal.connect(this._cardDialogComponent, 'save', this, 'handleSave');
93 91
94 MochiKit.Signal.connect(this._cardDialogComponent, 'addField', this, 'handleAddField'); 92 MochiKit.Signal.connect(this._cardDialogComponent, 'addField', this, 'handleAddField');
95 MochiKit.Signal.connect(this._cardDialogComponent, 'changedValue',this, 'handleChangedValue'); 93 MochiKit.Signal.connect(this._cardDialogComponent, 'changedValue',this, 'handleChangedValue');
96 94
97 MochiKit.Signal.connect(this._cardDialogComponent, 'addDirectLogin',this, 'handleAddDirectLogin'); 95 MochiKit.Signal.connect(this._cardDialogComponent, 'addDirectLogin',this, 'handleAddDirectLogin');
98 MochiKit.Signal.connect(this._cardDialogComponent, 'keyPressed',this, 'handleCardDialogComponentKeyPressed'); 96 MochiKit.Signal.connect(this._cardDialogComponent, 'keyPressed',this, 'handleCardDialogComponentKeyPressed');
99 } 97 }
100 98
101 return this._cardDialogComponent; 99 return this._cardDialogComponent;
102 }, 100 },
103 101
104 //========================================================================= 102 //=========================================================================
105 103
106 'directLoginWizardController': function () { 104 'directLoginWizardController': function () {
107 if (this._directLoginWizardController == null) { 105 if (this._directLoginWizardController == null) {
108 this._directLoginWizardController = new Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController({ 106 this._directLoginWizardController = new Clipperz.PM.UI.Web.Controllers.DirectLoginWizardController({
109 'cardLabel': this.cardDialogComponent().title(), 107 'cardLabel': this.cardDialogComponent().title(),
110 'directLoginEditingComponent': this.directLoginEditingComponent() 108 'directLoginEditingComponent': this.directLoginEditingComponent()
111 }) 109 })
112 110
113 MochiKit.Signal.connect(this._directLoginWizardController, 'exit',this, 'handleHideDirectLoginEditingComponent'); 111 MochiKit.Signal.connect(this._directLoginWizardController, 'exit',this, 'handleHideDirectLoginEditingComponent');
114 MochiKit.Signal.connect(this._directLoginWizardController, 'done',this, 'handleCompleteDirectLoginEditingComponent'); 112 MochiKit.Signal.connect(this._directLoginWizardController, 'done',this, 'handleCompleteDirectLoginEditingComponent');
115 } 113 }
116 114
117 return this._directLoginWizardController; 115 return this._directLoginWizardController;
118 }, 116 },
119 117
120 //------------------------------------------------------------------------- 118 //-------------------------------------------------------------------------
121 119
122 'directLoginEditingComponent': function () { 120 'directLoginEditingComponent': function () {
123 if (this._directLoginEditingComponent == null) { 121 if (this._directLoginEditingComponent == null) {
124 this._directLoginEditingComponent = new Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent(); 122 this._directLoginEditingComponent = new Clipperz.PM.UI.Web.Components.DirectLoginEditingComponent();
125 123
126 this.cardDialogComponent().renderDirectLoginEditingComponent(this._directLoginEditingComponent); 124 this.cardDialogComponent().renderDirectLoginEditingComponent(this._directLoginEditingComponent);
127 125
128 // MochiKit.Signal.connect(this._directLoginEditingComponent, 'back', this, 'handleHideDirectLoginEditingComponent') 126 // MochiKit.Signal.connect(this._directLoginEditingComponent, 'back', this, 'handleHideDirectLoginEditingComponent')
129 // MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue'); 127 // MochiKit.Signal.connect(this._directLoginEditingComponent, 'changedValue',this, 'handleChangedValue');
130 // MochiKit.Signal.connect(this.__directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed'); 128 // MochiKit.Signal.connect(this.__directLoginEditingComponent, 'keyPressed',this, 'handleDirectLoginEditingComponentKeyPressed');
131 } 129 }
132 130
133 return this._directLoginEditingComponent; 131 return this._directLoginEditingComponent;
134 }, 132 },
135 133
136 //------------------------------------------------------------------------- 134 //-------------------------------------------------------------------------
137 135
138 'isDirectLoginEditingComponentVisible': function () { 136 'isDirectLoginEditingComponentVisible': function () {
139 return this._isDirectLoginEditingComponentVisible; 137 return this._isDirectLoginEditingComponentVisible;
140 }, 138 },
141 139
142 'setIsDirectLoginEditingComponentVisible': function (aValue) { 140 'setIsDirectLoginEditingComponentVisible': function (aValue) {
143 this._isDirectLoginEditingComponentVisible = aValue; 141 this._isDirectLoginEditingComponentVisible = aValue;
144 }, 142 },
145 143
146 //========================================================================= 144 //=========================================================================
147 145
148 'run': function (anElement) { 146 'run': function (anElement) {
149 var deferredResult; 147 var deferredResult;
150 148
151 this.setReferenceElement(anElement); 149 this.setReferenceElement(anElement);
152 150
153 deferredResult = new Clipperz.Async.Deferred("CardDialogController.run", {trace:false}); 151 deferredResult = new Clipperz.Async.Deferred("CardDialogController.run", {trace:false});
154 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':11}); 152 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':11});
155 153
156 deferredResult.addMethod(this.cardDialogComponent(), 'deferredShowModal', {openFromElement:this.referenceElement()}); 154 deferredResult.addMethod(this.cardDialogComponent(), 'deferredShowModal', {openFromElement:this.referenceElement()});
157 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress'); 155 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress');
158 156
159 deferredResult.addMethod(this.record(), 'label'); 157 deferredResult.addMethod(this.record(), 'label');
160 deferredResult.addMethod(this.cardDialogComponent(), 'setTitle'); 158 deferredResult.addMethod(this.cardDialogComponent(), 'setTitle');
161 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress'); 159 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress');
162 160
163 deferredResult.addMethod(this, 'updateComponentState'); 161 deferredResult.addMethod(this, 'updateComponentState');
164 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress'); 162 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'advanceProgress');
165 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'progressDone'); 163 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'progressDone');
166 164
167 deferredResult.addMethod(this.cardDialogComponent(), 'fixRendering'); 165 deferredResult.addMethod(this.cardDialogComponent(), 'fixRendering');
168 deferredResult.addMethod(this.cardDialogComponent(), 'hideProgressMask'); 166 deferredResult.addMethod(this.cardDialogComponent(), 'hideProgressMask');
169 167
170 if (this.record().isBrandNew()) { 168 if (this.record().isBrandNew()) {
171 deferredResult.addMethod(this.cardDialogComponent(), 'setHintMode', 'ON'); 169 deferredResult.addMethod(this.cardDialogComponent(), 'setHintMode', 'ON');
172 deferredResult.addMethod(this.cardDialogComponent(), 'setFocusOnTitleField'); 170 deferredResult.addMethod(this.cardDialogComponent(), 'setFocusOnTitleField');
173 } 171 }
174 172
175 deferredResult.addErrback(MochiKit.Base.method(this.cardDialogComponent(), 'showError')); 173 deferredResult.addErrback(MochiKit.Base.method(this.cardDialogComponent(), 'showError'));
176 deferredResult.callback(); 174 deferredResult.callback();
177 175
178 return deferredResult; 176 return deferredResult;
179 }, 177 },
180 178
181 //========================================================================= 179 //=========================================================================
182 180
183 'updateComponentState': function () { 181 'updateComponentState': function () {
184 return Clipperz.Async.callbacks("CardDialogController.updateComponentState", [ 182 return Clipperz.Async.callbacks("CardDialogController.updateComponentState", [
185 MochiKit.Base.method(this.record(), 'hasPendingChanges'), 183 MochiKit.Base.method(this.record(), 'hasPendingChanges'),
186 MochiKit.Base.method(this.cardDialogComponent(), 'setShouldEnableSaving'), 184 MochiKit.Base.method(this.cardDialogComponent(), 'setShouldEnableSaving'),
187 185
188 MochiKit.Base.method(this.record(), 'label'), 186 MochiKit.Base.method(this.record(), 'label'),
189 MochiKit.Base.method(this.cardDialogComponent(), 'setTitle'), 187 MochiKit.Base.method(this.cardDialogComponent(), 'setTitle'),
190 MochiKit.Base.method(this.record(), 'notes'), 188 MochiKit.Base.method(this.record(), 'notes'),
191 MochiKit.Base.method(this.cardDialogComponent(), 'setNotes'), 189 MochiKit.Base.method(this.cardDialogComponent(), 'setNotes'),
192 190
193 MochiKit.Base.method(this.record(), 'fields'), 191 MochiKit.Base.method(this.record(), 'fields'),
194 MochiKit.Base.values, 192 MochiKit.Base.values,
195 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'addCardDialogComponentWithField')), 193 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'addCardDialogComponentWithField')),
196 194
197 MochiKit.Base.method(this.record(), 'directLogins'), 195 MochiKit.Base.method(this.record(), 'directLogins'),
198 MochiKit.Base.values, 196 MochiKit.Base.values,
199 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'addCardDialogComponentWithDirectLogin')), 197 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'addCardDialogComponentWithDirectLogin')),
200 198
201 MochiKit.Base.method(this.cardDialogComponent(), 'resetNewFieldInputs'), 199 MochiKit.Base.method(this.cardDialogComponent(), 'resetNewFieldInputs'),
202 MochiKit.Base.noop 200 MochiKit.Base.noop
203 ], {trace:false}); 201 ], {trace:false});
204 }, 202 },
205 203
206 //------------------------------------------------------------------------- 204 //-------------------------------------------------------------------------
207 205
208 'addCardDialogComponentWithField': function (aField) { 206 'addCardDialogComponentWithField': function (aField) {
209 varfieldComponent; 207 varfieldComponent;
210 208
211 fieldComponent = new Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent({reference: aField.reference()}); 209 fieldComponent = new Clipperz.PM.UI.Web.Components.CardDialogRecordFieldComponent({reference: aField.reference()});
212 MochiKit.Signal.connect(fieldComponent, 'changedValue',this, 'handleChangedValue'); 210 MochiKit.Signal.connect(fieldComponent, 'changedValue',this, 'handleChangedValue');
213 MochiKit.Signal.connect(fieldComponent, 'performAction',this, 'handlePerformFieldAction'); 211 MochiKit.Signal.connect(fieldComponent, 'performAction',this, 'handlePerformFieldAction');
214 MochiKit.Signal.connect(fieldComponent, 'deleteField',this, 'handleDeleteField'); 212 MochiKit.Signal.connect(fieldComponent, 'deleteField',this, 'handleDeleteField');
215 213
216 // this.fieldsReferences().push({'field':aField, 'component':fieldComponent}); 214 // this.fieldsReferences().push({'field':aField, 'component':fieldComponent});
217 this.fieldsReferences()[aField.reference()] = {'field':aField, 'component':fieldComponent}; 215 this.fieldsReferences()[aField.reference()] = {'field':aField, 'component':fieldComponent};
218 216
219 return Clipperz.Async.callbacks("CardDialogController.addCardDialogComponentWithField", [ 217 return Clipperz.Async.callbacks("CardDialogController.addCardDialogComponentWithField", [
220 MochiKit.Base.method(this.cardDialogComponent(), 'addFieldRowComponent', fieldComponent), 218 MochiKit.Base.method(this.cardDialogComponent(), 'addFieldRowComponent', fieldComponent),
221 219
222 MochiKit.Base.method(aField, 'label'), 220 MochiKit.Base.method(aField, 'label'),
223 MochiKit.Base.method(fieldComponent, 'setLabel'), 221 MochiKit.Base.method(fieldComponent, 'setLabel'),
224 MochiKit.Base.method(aField, 'value'), 222 MochiKit.Base.method(aField, 'value'),
225 MochiKit.Base.method(fieldComponent, 'setValue'), 223 MochiKit.Base.method(fieldComponent, 'setValue'),
226 MochiKit.Base.method(aField, 'actionType'), 224 MochiKit.Base.method(aField, 'actionType'),
227 MochiKit.Base.method(fieldComponent, 'setActionType'), 225 MochiKit.Base.method(fieldComponent, 'setActionType'),
228 MochiKit.Base.method(aField, 'isHidden'), 226 MochiKit.Base.method(aField, 'isHidden'),
229 MochiKit.Base.method(fieldComponent, 'setIsHidden') 227 MochiKit.Base.method(fieldComponent, 'setIsHidden')
230 ], {trace:false}); 228 ], {trace:false});
231 }, 229 },
232 230
233 //------------------------------------------------------------------------- 231 //-------------------------------------------------------------------------
234 232
235 'addCardDialogComponentWithDirectLogin': function (aDirectLogin) { 233 'addCardDialogComponentWithDirectLogin': function (aDirectLogin) {
236 var directLoginComponent; 234 var directLoginComponent;
237 235
238 directLoginComponent = new Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent({reference: aDirectLogin.reference()}); 236 directLoginComponent = new Clipperz.PM.UI.Web.Components.CardDialogRecordDirectLoginComponent({reference: aDirectLogin.reference()});
239 MochiKit.Signal.connect(directLoginComponent, 'changedValue', this, 'handleChangedValue'); 237 MochiKit.Signal.connect(directLoginComponent, 'changedValue', this, 'handleChangedValue');
240 MochiKit.Signal.connect(directLoginComponent, 'deleteDirectLogin',this, 'handleDeleteDirectLogin'); 238 MochiKit.Signal.connect(directLoginComponent, 'deleteDirectLogin',this, 'handleDeleteDirectLogin');
241 MochiKit.Signal.connect(directLoginComponent, 'editDirectLogin',this, 'handleEditDirectLogin'); 239 MochiKit.Signal.connect(directLoginComponent, 'editDirectLogin',this, 'handleEditDirectLogin');
242 MochiKit.Signal.connect(directLoginComponent, 'openDirectLogin',this, 'handleOpenDirectLogin'); 240 MochiKit.Signal.connect(directLoginComponent, 'openDirectLogin',this, 'handleOpenDirectLogin');
243 241
244 this.directLoginReferences()[aDirectLogin.reference()] = {'directLogin':aDirectLogin, 'component':directLoginComponent}; 242 this.directLoginReferences()[aDirectLogin.reference()] = {'directLogin':aDirectLogin, 'component':directLoginComponent};
245 243
246 return Clipperz.Async.callbacks("CardDialogController.addCardDialogComponentWithDirectLogin", [ 244 return Clipperz.Async.callbacks("CardDialogController.addCardDialogComponentWithDirectLogin", [
247 MochiKit.Base.method(this.cardDialogComponent(), 'addDirectLoginComponent', directLoginComponent), 245 MochiKit.Base.method(this.cardDialogComponent(), 'addDirectLoginComponent', directLoginComponent),
248 MochiKit.Base.method(this, 'refreshDirectLoginComponent', this.directLoginReferences()[aDirectLogin.reference()]) 246 MochiKit.Base.method(this, 'refreshDirectLoginComponent', this.directLoginReferences()[aDirectLogin.reference()])
249 ], {trace:false}); 247 ], {trace:false});
250 }, 248 },
251 249
252 //------------------------------------------------------------------------- 250 //-------------------------------------------------------------------------
253 251
254 'refreshDirectLoginComponent': function (aDirectLoginReference) { 252 'refreshDirectLoginComponent': function (aDirectLoginReference) {
255 return Clipperz.Async.callbacks("CardDialogController.refreshDirectLoginComponent", [ 253 return Clipperz.Async.callbacks("CardDialogController.refreshDirectLoginComponent", [
256 MochiKit.Base.method(aDirectLoginReference['directLogin'],'favicon'), 254 MochiKit.Base.method(aDirectLoginReference['directLogin'],'favicon'),
257 // MochiKit.Base.method(aDirectLoginReference['directLogin'],'faviconData'), 255 // MochiKit.Base.method(aDirectLoginReference['directLogin'],'faviconData'),
258 MochiKit.Base.method(aDirectLoginReference['component'],'setFavicon'), 256 MochiKit.Base.method(aDirectLoginReference['component'],'setFavicon'),
259 MochiKit.Base.method(aDirectLoginReference['directLogin'],'label'), 257 MochiKit.Base.method(aDirectLoginReference['directLogin'],'label'),
260 MochiKit.Base.method(aDirectLoginReference['component'],'setLabel') 258 MochiKit.Base.method(aDirectLoginReference['component'],'setLabel')
261 ], {trace:false}); 259 ], {trace:false});
262 }, 260 },
263 261
264 'refreshDirectLoginComponents': function () { 262 'refreshDirectLoginComponents': function () {
265 return Clipperz.Async.callbacks("CardDialogController.refreshDirectLoginComponents", [ 263 return Clipperz.Async.callbacks("CardDialogController.refreshDirectLoginComponents", [
266 MochiKit.Base.method(this, 'directLoginReferences'), 264 MochiKit.Base.method(this, 'directLoginReferences'),
267 MochiKit.Base.values, 265 MochiKit.Base.values,
268 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'refreshDirectLoginComponent')), 266 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'refreshDirectLoginComponent')),
269 Clipperz.Async.collectAll 267 Clipperz.Async.collectAll
270 ]) 268 ])
271 }, 269 },
272 270
273 //------------------------------------------------------------------------- 271 //-------------------------------------------------------------------------
274 272
275 'updateRecordValues': function () { 273 'updateRecordValues': function () {
276 return Clipperz.Async.callbacks('CardDialogController.updateRecordValues', [ 274 return Clipperz.Async.callbacks('CardDialogController.updateRecordValues', [
277 MochiKit.Base.method(this.cardDialogComponent(), 'title'), 275 MochiKit.Base.method(this.cardDialogComponent(), 'title'),
278 MochiKit.Base.method(this.record(), 'setLabel'), 276 MochiKit.Base.method(this.record(), 'setLabel'),
279 MochiKit.Base.method(this.cardDialogComponent(), 'notes'), 277 MochiKit.Base.method(this.cardDialogComponent(), 'notes'),
280 MochiKit.Base.method(this.record(), 'setNotes'), 278 MochiKit.Base.method(this.record(), 'setNotes'),
281 279
282 MochiKit.Base.method(this, 'fieldsReferences'), 280 MochiKit.Base.method(this, 'fieldsReferences'),
283 MochiKit.Base.values, 281 MochiKit.Base.values,
284 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'updateRecordFieldValues')), 282 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'updateRecordFieldValues')),
285 283
286 MochiKit.Base.method(this, 'directLoginReferences'), 284 MochiKit.Base.method(this, 'directLoginReferences'),
287 MochiKit.Base.values, 285 MochiKit.Base.values,
288 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'updateRecordDirectLoginValues')), 286 MochiKit.Base.partial(MochiKit.Base.map, MochiKit.Base.method(this, 'updateRecordDirectLoginValues')),
289 287
290 MochiKit.Base.method(this.directLoginEditingComponent(), 'directLoginReference'), 288 MochiKit.Base.method(this.directLoginEditingComponent(), 'directLoginReference'),
291 MochiKit.Base.method(this.record(), 'directLoginWithReference'), 289 MochiKit.Base.method(this.record(), 'directLoginWithReference'),
292 MochiKit.Base.method(this, 'updateRecordDirectLoginDetails'), 290 MochiKit.Base.method(this, 'updateRecordDirectLoginDetails'),
293 291
294 MochiKit.Base.noop 292 MochiKit.Base.noop
295 ], {trace:false}); 293 ], {trace:false});
296 }, 294 },
297 295
298 //------------------------------------------------------------------------- 296 //-------------------------------------------------------------------------
299 297
300 'updateRecordFieldValues': function (aFieldReference) { 298 'updateRecordFieldValues': function (aFieldReference) {
301 var deferredResult; 299 var deferredResult;
302 300
303 deferredResult = Clipperz.Async.callbacks('CardDialogController.updateRecordFieldValues', [ 301 deferredResult = Clipperz.Async.callbacks('CardDialogController.updateRecordFieldValues', [
304 MochiKit.Base.method(aFieldReference['component'],'label'), 302 MochiKit.Base.method(aFieldReference['component'],'label'),
305 MochiKit.Base.method(aFieldReference['field'], 'setLabel'), 303 MochiKit.Base.method(aFieldReference['field'], 'setLabel'),
306 304
307 MochiKit.Base.method(aFieldReference['component'],'value'), 305 MochiKit.Base.method(aFieldReference['component'],'value'),
308 MochiKit.Base.method(aFieldReference['field'], 'setValue'), 306 MochiKit.Base.method(aFieldReference['field'], 'setValue'),
309 307
310 MochiKit.Base.method(aFieldReference['component'],'isHidden'), 308 MochiKit.Base.method(aFieldReference['component'],'isHidden'),
311 MochiKit.Base.method(aFieldReference['field'], 'setIsHidden'), 309 MochiKit.Base.method(aFieldReference['field'], 'setIsHidden'),
312 310
313 MochiKit.Base.method(aFieldReference['field'], 'actionType'), 311 MochiKit.Base.method(aFieldReference['field'], 'actionType'),
314 MochiKit.Base.method(aFieldReference['component'],'setActionType') 312 MochiKit.Base.method(aFieldReference['component'],'setActionType')
315 ], {trace:false}); 313 ], {trace:false});
316 314
317 return deferredResult; 315 return deferredResult;
318 }, 316 },
319 317
320 //------------------------------------------------------------------------- 318 //-------------------------------------------------------------------------
321 319
322 'updateRecordDirectLoginValues': function (aDirectLoginReference) { 320 'updateRecordDirectLoginValues': function (aDirectLoginReference) {
323 var deferredResult; 321 var deferredResult;
324 322
325 deferredResult = Clipperz.Async.callbacks('CardDialogController.updateRecordDirectLoginValues', [ 323 deferredResult = Clipperz.Async.callbacks('CardDialogController.updateRecordDirectLoginValues', [
326 MochiKit.Base.method(aDirectLoginReference['component'], 'label'), 324 MochiKit.Base.method(aDirectLoginReference['component'], 'label'),
327 MochiKit.Base.method(aDirectLoginReference['directLogin'], 'setLabel') 325 MochiKit.Base.method(aDirectLoginReference['directLogin'], 'setLabel')
328 ], {trace:false}); 326 ], {trace:false});
329 327
330 return deferredResult; 328 return deferredResult;
331 }, 329 },
332 330
333 //------------------------------------------------------------------------- 331 //-------------------------------------------------------------------------
334 332
335 'updateRecordDirectLoginDetails': function (aDirectLogin) { 333 'updateRecordDirectLoginDetails': function (aDirectLogin) {
336 var result; 334 var result;
337 335
338 if (MochiKit.Base.isUndefinedOrNull(aDirectLogin)) { 336 if (MochiKit.Base.isUndefinedOrNull(aDirectLogin)) {
339 result = MochiKit.Async.succeed(); 337 result = MochiKit.Async.succeed();
340 } else { 338 } else {
341 result = Clipperz.Async.callbacks("CardDialogController.updateRecordDirectLoginDetails", [ 339 result = Clipperz.Async.callbacks("CardDialogController.updateRecordDirectLoginDetails", [
342 MochiKit.Base.method(this.directLoginEditingComponent(), 'label'), 340 MochiKit.Base.method(this.directLoginEditingComponent(), 'label'),
343 MochiKit.Base.method(aDirectLogin, 'setLabel'), 341 MochiKit.Base.method(aDirectLogin, 'setLabel'),
344 MochiKit.Base.method(this.directLoginEditingComponent(), 'favicon'), 342 MochiKit.Base.method(this.directLoginEditingComponent(), 'favicon'),
345 MochiKit.Base.method(aDirectLogin, 'setFavicon') 343 MochiKit.Base.method(aDirectLogin, 'setFavicon')
346 ], {trace:false}); 344 ], {trace:false});
347 } 345 }
348 346
349 return result; 347 return result;
350 }, 348 },
351 349
352 //========================================================================= 350 //=========================================================================
353 351
354 'addField': function () { 352 'addField': function () {
355 return this.record().addField({ 353 return this.record().addField({
356 'label':this.cardDialogComponent().newFieldLabel(), 354 'label':this.cardDialogComponent().newFieldLabel(),
357 'value':this.cardDialogComponent().newFieldValue(), 355 'value':this.cardDialogComponent().newFieldValue(),
358 'isHidden':this.cardDialogComponent().newFieldIsHidden() 356 'isHidden':this.cardDialogComponent().newFieldIsHidden()
359 }); 357 });
360 }, 358 },
361 359
362 'handleAddField': function () { 360 'handleAddField': function () {
363 return Clipperz.Async.callbacks("CardDialogController.handleAddField", [ 361 return Clipperz.Async.callbacks("CardDialogController.handleAddField", [
364 MochiKit.Base.method(this, 'addField'), 362 MochiKit.Base.method(this, 'addField'),
365 363
366 MochiKit.Base.method(this, 'addCardDialogComponentWithField'), 364 MochiKit.Base.method(this, 'addCardDialogComponentWithField'),
367 MochiKit.Base.method(this.cardDialogComponent(), 'resetNewFieldInputs'), 365 MochiKit.Base.method(this.cardDialogComponent(), 'resetNewFieldInputs'),
368 366
369 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'), 367 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'),
370 MochiKit.Base.method(this, 'handleChangedValue') 368 MochiKit.Base.method(this, 'handleChangedValue')
371 ], {trace:false}) 369 ], {trace:false})
372 }, 370 },
373 371
374 //------------------------------------------------------------------------- 372 //-------------------------------------------------------------------------
375 373
376 'handlePerformFieldAction': function (aFieldID, aTargetElement) { 374 'handlePerformFieldAction': function (aFieldID, aTargetElement) {
377//console.log("### targetElement", aTargetElement);
378 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField", [ 375 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField", [
379 MochiKit.Base.method(this.record(), 'fields'), 376 MochiKit.Base.method(this.record(), 'fields'),
380 MochiKit.Base.itemgetter(aFieldID), 377 MochiKit.Base.itemgetter(aFieldID),
381 Clipperz.Async.collectResults("CardDialogController.handleDeleteField <collect results>", { 378 Clipperz.Async.collectResults("CardDialogController.handleDeleteField <collect results>", {
382 'value':MochiKit.Base.methodcaller('value'), 379 'value':MochiKit.Base.methodcaller('value'),
383 'type': MochiKit.Base.methodcaller('actionType') 380 'type': MochiKit.Base.methodcaller('actionType')
384 }, {trace:false}), 381 }, {trace:false}),
385 MochiKit.Base.bind(function (someValues) { 382 MochiKit.Base.bind(function (someValues) {
386 switch (someValues['type']) { 383 switch (someValues['type']) {
387 case 'NONE': 384 case 'NONE':
388 throw "this event handler should not be triggered for fields with type 'NONE'"; 385 throw "this event handler should not be triggered for fields with type 'NONE'";
389 break; 386 break;
390 case 'URL': 387 case 'URL':
391 var url; 388 var url;
392 389
393 url = someValues['value']; 390 url = someValues['value'];
394 if (/^https?\:\/\//.test(url) == false) { 391 if (/^https?\:\/\//.test(url) == false) {
395 url = 'http://' + url; 392 url = 'http://' + url;
396 } 393 }
397 394
398 window.open(url); 395 window.open(url);
399 break; 396 break;
400 case 'EMAIL': 397 case 'EMAIL':
401 var url; 398 var url;
402 399
403 url = 'mailto:' + someValues['value']; 400 url = 'mailto:' + someValues['value'];
404 401
405 MochiKit.DOM.currentWindow().location = url; 402 MochiKit.DOM.currentWindow().location = url;
406 break; 403 break;
407 case 'PASSWORD': 404 case 'PASSWORD':
408//Clipperz.log("SHOW PASSWORD " + someValues['value']); 405//Clipperz.log("SHOW PASSWORD " + someValues['value']);
409 this.showPasswordTooltip(someValues['value'], aTargetElement); 406 this.showPasswordTooltip(someValues['value'], aTargetElement);
410 break; 407 break;
411 } 408 }
412 }, this) 409 }, this)
413 ], {trace:false}); 410 ], {trace:false});
414 }, 411 },
415 412
416 //------------------------------------------------------------------------- 413 //-------------------------------------------------------------------------
417 414
418 'handleDeleteField': function (aFieldID) { 415 'handleDeleteField': function (aFieldID) {
419 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField", [ 416 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField", [
420 MochiKit.Base.method(this.record(), 'fields'), 417 MochiKit.Base.method(this.record(), 'fields'),
421 MochiKit.Base.itemgetter(aFieldID), 418 MochiKit.Base.itemgetter(aFieldID),
422 MochiKit.Base.method(this.record(), 'removeField'), 419 MochiKit.Base.method(this.record(), 'removeField'),
423 420
424 MochiKit.Base.method(this, 'fieldsReferences'), 421 MochiKit.Base.method(this, 'fieldsReferences'),
425 MochiKit.Base.itemgetter(aFieldID), 422 MochiKit.Base.itemgetter(aFieldID),
426 MochiKit.Base.itemgetter('component'), 423 MochiKit.Base.itemgetter('component'),
427 424
428 function (aComponent) { 425 function (aComponent) {
429 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField [fade and remove]", [ 426 return Clipperz.Async.callbacks("CardDialogController.handleDeleteField [fade and remove]", [
430 MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}), 427 MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}),
431 // Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}), 428 // Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}),
432 MochiKit.Base.method(aComponent, 'remove') 429 MochiKit.Base.method(aComponent, 'remove')
433 ], {trace:false}); 430 ], {trace:false});
434 }, 431 },
435 432
436 MochiKit.Base.bind(function () { 433 MochiKit.Base.bind(function () {
437 delete this.fieldsReferences()[aFieldID]; 434 delete this.fieldsReferences()[aFieldID];
438 }, this), 435 }, this),
439 436
440 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'), 437 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'),
441 MochiKit.Base.method(this, 'handleChangedValue') 438 MochiKit.Base.method(this, 'handleChangedValue')
442 ], {trace:false}); 439 ], {trace:false});
443 }, 440 },
444 441
445 //========================================================================= 442 //=========================================================================
446 443
447 'handleDeleteDirectLogin': function(aDirectLoginReference) { 444 'handleDeleteDirectLogin': function(aDirectLoginReference) {
448 var cardDialogComponent; 445 var cardDialogComponent;
449 446
450 cardDialogComponent = this.cardDialogComponent(); 447 cardDialogComponent = this.cardDialogComponent();
451 448
452 return Clipperz.Async.callbacks("CardDialogController.handleDeleteDirectLogin", [ 449 return Clipperz.Async.callbacks("CardDialogController.handleDeleteDirectLogin", [
453 MochiKit.Base.method(this.record(), 'directLogins'), 450 MochiKit.Base.method(this.record(), 'directLogins'),
454 MochiKit.Base.itemgetter(aDirectLoginReference), 451 MochiKit.Base.itemgetter(aDirectLoginReference),
455 MochiKit.Base.methodcaller('remove'), 452 MochiKit.Base.methodcaller('remove'),
456 453
457 MochiKit.Base.method(this, 'directLoginReferences'), 454 MochiKit.Base.method(this, 'directLoginReferences'),
458 MochiKit.Base.itemgetter(aDirectLoginReference), 455 MochiKit.Base.itemgetter(aDirectLoginReference),
459 MochiKit.Base.itemgetter('component'), 456 MochiKit.Base.itemgetter('component'),
460 457
461 function (aComponent) { 458 function (aComponent) {
462 return Clipperz.Async.callbacks("CardDialogController.handleDeleteDirectLogin [fade and remove]", [ 459 return Clipperz.Async.callbacks("CardDialogController.handleDeleteDirectLogin [fade and remove]", [
463 MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}),// Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}), 460 MochiKit.Base.partial(Clipperz.Visual.deferredAnimation, MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}),// Clipperz.Visual.deferredAnimation(MochiKit.Visual.fade, aComponent.element(), {from:1.0, to:0.0, duration:0.5}),
464 /// MochiKit.Base.method(aComponent, 'remove') 461 /// MochiKit.Base.method(aComponent, 'remove')
465 MochiKit.Base.method(cardDialogComponent, 'removeDirectLoginComponent', aComponent) 462 MochiKit.Base.method(cardDialogComponent, 'removeDirectLoginComponent', aComponent)
466 ], {trace:false}); 463 ], {trace:false});
467 }, 464 },
468 465
469 MochiKit.Base.bind(function () { 466 MochiKit.Base.bind(function () {
470 delete this.directLoginReferences()[aDirectLoginReference]; 467 delete this.directLoginReferences()[aDirectLoginReference];
471 }, this), 468 }, this),
472 469
473 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'), 470 MochiKit.Base.method(this.cardDialogComponent(), 'fixRendering'),
474 MochiKit.Base.method(this, 'handleChangedValue') 471 MochiKit.Base.method(this, 'handleChangedValue')
475 ], {trace:false}); 472 ], {trace:false});
476 }, 473 },
477 474
478 //------------------------------------------------------------------------- 475 //-------------------------------------------------------------------------
479 476
480 'handleOpenDirectLogin': function (aDirectLoginReference) { 477 'handleOpenDirectLogin': function (aDirectLoginReference) {
481 return Clipperz.Async.callbacks("CardDialogController.handleOpenDirectLogin", [ 478 return Clipperz.Async.callbacks("CardDialogController.handleOpenDirectLogin", [
482 MochiKit.Base.method(this.record(), 'directLoginWithReference', aDirectLoginReference), 479 MochiKit.Base.method(this.record(), 'directLoginWithReference', aDirectLoginReference),
483 Clipperz.PM.UI.Common.Controllers.DirectLoginRunner.openDirectLogin 480 Clipperz.PM.UI.Common.Controllers.DirectLoginRunner.openDirectLogin
484 ], {trace:false}); 481 ], {trace:false});
485 }, 482 },
486 483
487 //------------------------------------------------------------------------- 484 //-------------------------------------------------------------------------
488 485
489 'handleEditDirectLogin': function (aDirectLoginReference) { 486 'handleEditDirectLogin': function (aDirectLoginReference) {
490 return Clipperz.Async.callbacks("CardDialogController.handleEditDirectLogin", [ 487 return Clipperz.Async.callbacks("CardDialogController.handleEditDirectLogin", [
491 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', true), 488 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', true),
492 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', aDirectLoginReference), 489 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', aDirectLoginReference),
493 MochiKit.Base.method(this.cardDialogComponent(), 'placeDirectLoginEditingComponent'), 490 MochiKit.Base.method(this.cardDialogComponent(), 'placeDirectLoginEditingComponent'),
494 MochiKit.Base.method(this.record(), 'directLoginWithReference', aDirectLoginReference), 491 MochiKit.Base.method(this.record(), 'directLoginWithReference', aDirectLoginReference),
495 MochiKit.Base.method(this.directLoginWizardController(), 'runWithDirectLogin'), 492 MochiKit.Base.method(this.directLoginWizardController(), 'runWithDirectLogin'),
496 MochiKit.Base.method(this.directLoginWizardController(), 'fixRulerRendering', this.cardDialogComponent().displayMode()), 493 MochiKit.Base.method(this.directLoginWizardController(), 'fixRulerRendering', this.cardDialogComponent().displayMode()),
497 MochiKit.Base.method(this.cardDialogComponent(), 'showDirectLoginEditingComponent') 494 MochiKit.Base.method(this.cardDialogComponent(), 'showDirectLoginEditingComponent')
498 ], {trace:false}); 495 ], {trace:false});
499 }, 496 },
500 497
501 //------------------------------------------------------------------------- 498 //-------------------------------------------------------------------------
502 499
503 'handleHideDirectLoginEditingComponent': function () { 500 'handleHideDirectLoginEditingComponent': function () {
504 return Clipperz.Async.callbacks("CardDialogController.handleHideDirectLoginEditingComponent", [ 501 return Clipperz.Async.callbacks("CardDialogController.handleHideDirectLoginEditingComponent", [
505 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', false), 502 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', false),
506 MochiKit.Base.method(this.directLoginWizardController(), 'hideRuler'), 503 MochiKit.Base.method(this.directLoginWizardController(), 'hideRuler'),
507 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', null), 504 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', null),
508 MochiKit.Base.method(this, 'refreshDirectLoginComponents'), 505 MochiKit.Base.method(this, 'refreshDirectLoginComponents'),
509 MochiKit.Base.method(this.cardDialogComponent(), 'hideDirectLoginEditingComponent') 506 MochiKit.Base.method(this.cardDialogComponent(), 'hideDirectLoginEditingComponent')
510 ], {trace:false}) 507 ], {trace:false})
511 }, 508 },
512 509
513 'handleCompleteDirectLoginEditingComponent': function (someParameters) { 510 'handleCompleteDirectLoginEditingComponent': function (someParameters) {
514 return Clipperz.Async.callbacks("CardDialogController.handleCompleteDirectLoginEditingComponent", [ 511 return Clipperz.Async.callbacks("CardDialogController.handleCompleteDirectLoginEditingComponent", [
515 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', false), 512 MochiKit.Base.method(this, 'setIsDirectLoginEditingComponentVisible', false),
516 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', null), 513 MochiKit.Base.method(this.directLoginEditingComponent(), 'setDirectLoginReference', null),
517 MochiKit.Base.partial(MochiKit.Async.succeed, someParameters['hasJustBeenAdded']), 514 MochiKit.Base.partial(MochiKit.Async.succeed, someParameters['hasJustBeenAdded']),
518 Clipperz.Async.deferredIf("CardDialogController.handleCompleteDirectLoginEditingComponent - should addTheEditedDirectLogin", [ 515 Clipperz.Async.deferredIf("CardDialogController.handleCompleteDirectLoginEditingComponent - should addTheEditedDirectLogin", [
519 MochiKit.Base.method(this, 'addCardDialogComponentWithDirectLogin', someParameters['directLogin']) 516 MochiKit.Base.method(this, 'addCardDialogComponentWithDirectLogin', someParameters['directLogin'])
520 ], []), 517 ], []),
521 MochiKit.Base.method(this, 'refreshDirectLoginComponents'), 518 MochiKit.Base.method(this, 'refreshDirectLoginComponents'),
522 MochiKit.Base.method(this, 'handleChangedValue'), 519 MochiKit.Base.method(this, 'handleChangedValue'),
523 MochiKit.Base.method(this.cardDialogComponent(), 'hideDirectLoginEditingComponent') 520 MochiKit.Base.method(this.cardDialogComponent(), 'hideDirectLoginEditingComponent')
524 ], {trace:false}) 521 ], {trace:false})
525 }, 522 },
526 523
527 //========================================================================= 524 //=========================================================================
528 525
529 'handleChangedValue': function () { 526 'handleChangedValue': function () {
530 return Clipperz.Async.callbacks("CardDialogController.handleChangedValue", [ 527 return Clipperz.Async.callbacks("CardDialogController.handleChangedValue", [
531 MochiKit.Base.method(this, 'updateRecordValues'), 528 MochiKit.Base.method(this, 'updateRecordValues'),
532 MochiKit.Base.method(this.record(), 'hasPendingChanges'), 529 MochiKit.Base.method(this.record(), 'hasPendingChanges'),
533 MochiKit.Base.method(this.cardDialogComponent(), 'setShouldEnableSaving') 530 MochiKit.Base.method(this.cardDialogComponent(), 'setShouldEnableSaving')
534 ], {trace:false}); 531 ], {trace:false});
535 }, 532 },
536 533
537 //------------------------------------------------------------------------- 534 //-------------------------------------------------------------------------
538 535
539 'handleSave': function () { 536 'handleSave': function () {
540 var deferredResult; 537 var deferredResult;
541 538
542 deferredResult = new Clipperz.Async.Deferred("CardDialogController.handleSave", {trace:false}); 539 deferredResult = new Clipperz.Async.Deferred("CardDialogController.handleSave", {trace:false});
543 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':8}); 540 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':8});
544 deferredResult.addMethod(this.cardDialogComponent(), 'showProgressMask'); 541 deferredResult.addMethod(this.cardDialogComponent(), 'showProgressMask');
545 deferredResult.addMethod(this.cardDialogComponent(), 'newFieldHasPendingChanges'); 542 deferredResult.addMethod(this.cardDialogComponent(), 'newFieldHasPendingChanges');
546 deferredResult.addIf([ 543 deferredResult.addIf([
547 MochiKit.Base.method(this, 'addField') 544 MochiKit.Base.method(this, 'addField')
548 ], []) 545 ], [])
549 deferredResult.addMethod(this, 'saveChanges'); 546 deferredResult.addMethod(this, 'saveChanges');
550 deferredResult.addMethod(this.cardDialogComponent(), 'deferredHideModal', {closeToElement:null}); 547 deferredResult.addMethod(this.cardDialogComponent(), 'deferredHideModal', {closeToElement:null});
551 deferredResult.addMethod(this.cardDialogComponent(), 'remove'); 548 deferredResult.addMethod(this.cardDialogComponent(), 'remove');
552 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'cardDialogComponentClosed'); 549 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'cardDialogComponentClosed');
553 550
554 deferredResult.callback(); 551 deferredResult.callback();
555 552
556 return deferredResult; 553 return deferredResult;
557 }, 554 },
558 555
559 //......................................................................... 556 //.........................................................................
560 557
561 'saveChanges': function () { 558 'saveChanges': function () {
562 var deferredResult; 559 var deferredResult;
563 560
564 deferredResult = new Clipperz.Async.Deferred("CardDialogController.handleSave", {trace:false}); 561 deferredResult = new Clipperz.Async.Deferred("CardDialogController.handleSave", {trace:false});
565 deferredResult.addMethod(this.delegate(), 'saveChanges'); 562 deferredResult.addMethod(this.delegate(), 'saveChanges');
566deferredResult.addErrback(function (aValue) { Clipperz.log("SHIT HAPPENS!!"); return aValue; }); 563deferredResult.addErrback(function (aValue) { Clipperz.log("SHIT HAPPENS!!"); return aValue; });
567 564
568 deferredResult.callback(); 565 deferredResult.callback();
569 566