summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers
authorClipperz <info@clipperz.com>2013-01-08 15:21:04 (UTC)
committer Clipperz <info@clipperz.com>2013-01-08 15:21:04 (UTC)
commit816fc35420a434b1d54ae5833d617608f7456048 (patch) (unidiff)
tree95b8caf354083593d7775e4dda6f4c556b44a2d9 /frontend/gamma/js/Clipperz/PM/UI/Web/Controllers
parent267603e3aa3cf0029411e67ae14018b52344c296 (diff)
downloadclipperz-816fc35420a434b1d54ae5833d617608f7456048.zip
clipperz-816fc35420a434b1d54ae5833d617608f7456048.tar.gz
clipperz-816fc35420a434b1d54ae5833d617608f7456048.tar.bz2
Updated version of /gamma
Tons of changes, included a new draft of the mobile version (still VERY rough)
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web/Controllers') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js31
1 files changed, 28 insertions, 3 deletions
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 9a0e744..1ab2e69 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js
@@ -186,141 +186,166 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.AppController.prototype, {
186 //----------------------------------------------------------------------------- 186 //-----------------------------------------------------------------------------
187 187
188 'populateUserInfo': function() { 188 'populateUserInfo': function() {
189 var deferredResult; 189 var deferredResult;
190 190
191 deferredResult = new Clipperz.Async.Deferred("AppController.populateUserInfo", {trace:false}); 191 deferredResult = new Clipperz.Async.Deferred("AppController.populateUserInfo", {trace:false});
192 deferredResult.collectResults({ 192 deferredResult.collectResults({
193 'username':MochiKit.Base.methodcaller('displayName'), 193 'username':MochiKit.Base.methodcaller('displayName'),
194 'cardsNumber':[ 194 'cardsNumber':[
195 MochiKit.Base.methodcaller('getRecords'), 195 MochiKit.Base.methodcaller('getRecords'),
196 function (someResults) { return someResults.length; } 196 function (someResults) { return someResults.length; }
197 ], 197 ],
198 'directLoginsNumber': [ 198 'directLoginsNumber': [
199 MochiKit.Base.methodcaller('getDirectLogins'), 199 MochiKit.Base.methodcaller('getDirectLogins'),
200 function (someResults) { return someResults.length; } 200 function (someResults) { return someResults.length; }
201 ] 201 ]
202 }) 202 })
203 deferredResult.addMethod(this.userInfoBox(), 'updateUserDetails'); 203 deferredResult.addMethod(this.userInfoBox(), 'updateUserDetails');
204 deferredResult.callback(this.user()); 204 deferredResult.callback(this.user());
205 205
206 return deferredResult; 206 return deferredResult;
207 }, 207 },
208 208
209 //----------------------------------------------------------------------------- 209 //-----------------------------------------------------------------------------
210 210
211 'run': function(args) { 211 'run': function(args) {
212 var deferredResult; 212 var deferredResult;
213 varslot; 213 varslot;
214 varpage; 214 varpage;
215 var user; 215 var user;
216 216
217 slot = args.slot; 217 slot = args.slot;
218 user = args.user; 218 user = args.user;
219 219
220 this.setUser(user); 220 this.setUser(user);
221 221
222 slot.setContent(this.appPage()); 222 slot.setContent(this.appPage());
223 223
224 this.appPage().slotNamed('userInfoBox').setContent(this.userInfoBox()); 224 this.appPage().slotNamed('userInfoBox').setContent(this.userInfoBox());
225 this.appPage().slotNamed('tabSidePanel').setContent(this.tabSidePanel()); 225 this.appPage().slotNamed('tabSidePanel').setContent(this.tabSidePanel());
226 226
227 this.appPage().slotNamed('accountPanel').setContent(this.accountPanel()); 227 this.appPage().slotNamed('accountPanel').setContent(this.accountPanel());
228 this.appPage().slotNamed('dataPanel').setContent(this.dataPanel()); 228 this.appPage().slotNamed('dataPanel').setContent(this.dataPanel());
229 this.appPage().slotNamed('toolsPanel').setContent(this.toolsPanel()); 229 this.appPage().slotNamed('toolsPanel').setContent(this.toolsPanel());
230 230
231 this.hideAllAppPageTabSlots(); 231 this.hideAllAppPageTabSlots();
232 this.appPage().showSlot(this.slotNameForTab('cards')); 232 this.appPage().showSlot(this.slotNameForTab('cards'));
233 233
234 MochiKit.Signal.connect(this.tabSidePanel(), 'tabSelected',this, 'handleTabSelected'); 234 MochiKit.Signal.connect(this.tabSidePanel(), 'tabSelected', this, 'handleTabSelected');
235 MochiKit.Signal.connect(this.tabSidePanel(), 'addCard', this, 'handleAddCard'); 235 MochiKit.Signal.connect(this.tabSidePanel(), 'addCard', this, 'handleAddCard');
236 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'addCard', this, 'handleAddCard'); 236 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'addCard', this, 'handleAddCard');
237
238 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'downloadOfflineCopy',this, 'handleDownloadOfflineCopy');
237 239
238 deferredResult = new Clipperz.Async.Deferred("AppController.run", {trace:false}); 240 deferredResult = new Clipperz.Async.Deferred("AppController.run", {trace:false});
239 241
240 deferredResult.addMethod(this.cardsController(), 'run', {slot:this.appPage().slotNamed('cardGrid'), user:user}); 242 deferredResult.addMethod(this.cardsController(), 'run', {slot:this.appPage().slotNamed('cardGrid'), user:user});
241 // deferredResult.addMethod(this.directLoginsController(), 'run', {slot:this.appPage().slotNamed('directLoginGrid'), user:user}); 243 // deferredResult.addMethod(this.directLoginsController(), 'run', {slot:this.appPage().slotNamed('directLoginGrid'), user:user});
242 deferredResult.addMethod(this, 'populateUserInfo'); 244 deferredResult.addMethod(this, 'populateUserInfo');
243 245
244 deferredResult.addCallback(MochiKit.Visual.ScrollTo, 'miscLinks', {duration:0}); 246 deferredResult.addCallback(MochiKit.Visual.ScrollTo, 'miscLinks', {duration:0});
245 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN'); 247 deferredResult.addCallback(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN');
246 deferredResult.addMethod(this.tabSidePanel(), 'selectTab', 'cards'); 248 deferredResult.addMethod(this.tabSidePanel(), 'selectTab', 'cards');
247 deferredResult.callback(); 249 deferredResult.callback();
248 }, 250 },
249 251
250 //----------------------------------------------------------------------------- 252 //-----------------------------------------------------------------------------
251 253
252 'handleTabSelected': function (selectedTabName) { 254 'handleTabSelected': function (selectedTabName) {
253 var aTabName; 255 var aTabName;
254 var aSlotName; 256 var aSlotName;
255 257
256//Clipperz.log(">>> AppController.handleTabSelected", selectedTabName); 258//Clipperz.log(">>> AppController.handleTabSelected", selectedTabName);
257 this.hideAllAppPageTabSlots(); 259 this.hideAllAppPageTabSlots();
258 this.appPage().showSlot(this.slotNameForTab(selectedTabName)); 260 this.appPage().showSlot(this.slotNameForTab(selectedTabName));
259 261
260 switch (selectedTabName) { 262 switch (selectedTabName) {
261 case 'cards': 263 case 'cards':
262 this.cardsController().focus(); 264 this.cardsController().focus();
263 break; 265 break;
264 // case 'directLogins': 266 // case 'directLogins':
265 // this.directLoginsController().focus(); 267 // this.directLoginsController().focus();
266 // break; 268 // break;
267 case 'data': 269 case 'data':
268 break; 270 break;
269 case 'account': 271 case 'account':
270 break; 272 break;
271 case 'tools': 273 case 'tools':
272 break; 274 break;
273 } 275 }
274//Clipperz.log("<-- AppController.handleTabSelected", aTabName); 276//Clipperz.log("<-- AppController.handleTabSelected", aTabName);
275 }, 277 },
276 278
277 //============================================================================= 279 //=============================================================================
278 280
279 'handleAddCard': function (aSourceElement) { 281 'handleAddCard': function (aSourceElement) {
280//Clipperz.log("=== AppController.addCard", aSourceElement); 282//Clipperz.log("=== AppController.addCard", aSourceElement);
281 this.cardsController().addCard(aSourceElement); 283 this.cardsController().addCard(aSourceElement);
282 }, 284 },
283 285
284 //============================================================================= 286 //=============================================================================
285 287
286 'userDataSuccessfullySavedHandler': function (anEvent) { 288 'userDataSuccessfullySavedHandler': function (anEvent) {
287 this.populateUserInfo(); 289 this.populateUserInfo();
288 }, 290 },
289 291
290 //============================================================================= 292 //=============================================================================
291 293
292 'handleLogout': function(anEvent) { 294 'handleLogout': function(anEvent) {
293 var deferredResult; 295 var deferredResult;
294 296
295 deferredResult = new Clipperz.Async.Deferred("AppController.handleLogout", {trace:false}); 297 deferredResult = new Clipperz.Async.Deferred("AppController.handleLogout", {trace:false});
296 deferredResult.addMethod(this.user(), 'logout'); 298 deferredResult.addMethod(this.user(), 'logout');
297 deferredResult.addCallback(MochiKit.Signal.signal, this, 'logout'); 299 deferredResult.addCallback(MochiKit.Signal.signal, this, 'logout');
298 deferredResult.callback(); 300 deferredResult.callback();
299 301
300 return deferredResult; 302 return deferredResult;
301 }, 303 },
302 304
303 //----------------------------------------------------------------------------- 305 //-----------------------------------------------------------------------------
304 306
305 'handleLock': function (anEvent) { 307 'handleLock': function (anEvent) {
306 return Clipperz.Async.callbacks("AppController.handleLock", [ 308 return Clipperz.Async.callbacks("AppController.handleLock", [
307 MochiKit.Base.method(this.cardsController(), 'deleteAllCleanTextData'), 309 MochiKit.Base.method(this.cardsController(), 'deleteAllCleanTextData'),
308 MochiKit.Base.method(this.user(), 'lock') 310 MochiKit.Base.method(this.user(), 'lock')
309 ], {trace:false}); 311 ], {trace:false});
310 }, 312 },
311 313
312 //............................................................................. 314 //.............................................................................
313 315
314 'handleUnlock': function (anEvent) { 316 'handleUnlock': function (anEvent) {
315 return Clipperz.Async.callbacks("AppController.handleUnock", [ 317 return Clipperz.Async.callbacks("AppController.handleUnock", [
316 MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress'), 318 MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress'),
317 MochiKit.Base.method(this.user(), 'login'), 319 MochiKit.Base.method(this.user(), 'login'),
318 MochiKit.Base.method(this.cardsController(), 'focus'), 320 MochiKit.Base.method(this.cardsController(), 'focus'),
319 MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'progressDone'), 321 MochiKit.Base.partial(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'progressDone'),
320 MochiKit.Base.method(this.userInfoBox(), 'unlock') 322 MochiKit.Base.method(this.userInfoBox(), 'unlock')
321 ], {trace:false}); 323 ], {trace:false});
322 }, 324 },
323 325
326 'handleDownloadOfflineCopy': function (anEvent) {
327console.log("AppController.handleDownloadOfflineCopy");
328 var downloadHref;
329
330 downloadHref = window.location.href.replace(/\/[^\/]*$/,'') + Clipperz_dumpUrl;
331
332 if (Clipperz_IEisBroken == true) {
333 window.open(downloadHref, "");
334 } else {
335 vardeferredResult;
336 var newWindow;
337
338 newWindow = window.open("", "");
339
340 deferredResult = new Clipperz.Async.Deferred("AppController.handleDownloadOfflineCopy", {trace:true});
341 deferredResult.addCallback(MochiKit.Base.method(this.user().connection(), 'message'), 'echo', {'echo':"echo"});
342 deferredResult.addCallback(function(aWindow) {
343 aWindow.location.href = downloadHref;
344 }, newWindow);
345 deferredResult.callback();
346 }
347 },
348
324 //============================================================================= 349 //=============================================================================
325 __syntaxFix__: "syntax fix" 350 __syntaxFix__: "syntax fix"
326}); 351});