Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/AppController.js | 31 |
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 | |||
@@ -210,51 +210,53 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.AppController.prototype, { | |||
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) { |
@@ -300,27 +302,50 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.AppController.prototype, { | |||
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) { | ||
327 | console.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 | }); |