Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js new file mode 100644 index 0000000..28401a2 --- a/dev/null +++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/DirectLoginsController.js @@ -0,0 +1,145 @@ +/* + +Copyright 2008-2011 Clipperz Srl + +This file is part of Clipperz's Javascript Crypto Library. +Javascript Crypto Library provides web developers with an extensive +and efficient set of cryptographic functions. The library aims to +obtain maximum execution speed while preserving modularity and +reusability. +For further information about its features and functionalities please +refer to http://www.clipperz.com + +* Javascript Crypto Library is free software: you can redistribute + it and/or modify it under the terms of the GNU Affero General Public + License as published by the Free Software Foundation, either version + 3 of the License, or (at your option) any later version. + +* Javascript Crypto Library is distributed in the hope that it will + be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + +* You should have received a copy of the GNU Affero General Public + License along with Javascript Crypto Library. If not, see + <http://www.gnu.org/licenses/>. + +*/ + +/* +Clipperz.Base.module('Clipperz.PM.UI.Web.Controllers'); + +Clipperz.PM.UI.Web.Controllers.DirectLoginsController = function() { + Clipperz.PM.UI.Web.Controllers.DirectLoginsController.superclass.constructor.apply(this, arguments); + + return this; +}; + +Clipperz.Base.extend(Clipperz.PM.UI.Web.Controllers.DirectLoginsController, Clipperz.PM.UI.Web.Controllers.GridController, { + + 'createGrid': function () { + return new Clipperz.PM.UI.Web.Components.GridComponent({columnsManagers: [ + new Clipperz.PM.UI.Web.Components.FaviconColumnManager({ + 'name': 'DirectLogins.favicon', + 'selector': MochiKit.Base.methodcaller('favicon'), + 'cssClass': 'favicon' + }), +// new Clipperz.PM.UI.Web.Components.LinkColumnManager({ + new Clipperz.PM.UI.Web.Components.DirectLoginColumnManager({ + 'name': 'DirectLogins.title', + 'selector': MochiKit.Base.methodcaller('label'), + 'label': 'title', + 'cssClass': 'title', + 'comparator': Clipperz.Base.caseInsensitiveCompare, + 'sortable': true, + 'sorted': 'ASCENDING', + 'actionMethod': MochiKit.Base.methodcaller('runDirectLogin') + }), +// new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager +// 'label': 'strength', +// 'cssClass': 'title', +// 'selector': MochiKit.Base.methodcaller('label') //should be 'strength' or a strenght evaluation function +// }), + new Clipperz.PM.UI.Web.Components.LinkColumnManager({ + 'name': 'DirectLogins.cardTitle', + 'selector': MochiKit.Base.compose(MochiKit.Base.methodcaller('label'), MochiKit.Base.methodcaller('record')), + 'label': 'card', + 'cssClass': 'cardTitle', + 'comparator': Clipperz.Base.caseInsensitiveCompare, + 'sortable': true, + 'sorted': 'UNSORTED', + 'actionMethod': MochiKit.Base.method(this, 'handleShowCard') + }), +// new Clipperz.PM.UI.Web.Components.TextColumnManager({ //should be StrengthColumnManager +// 'label': 'last access', +// 'cssClass': 'title', +// 'selector': MochiKit.Base.methodcaller('label') +// // 'sortable': true, +// // 'sorted': 'UNSORTED' +// }), +// new Clipperz.PM.UI.Web.Components.TextColumnManager({ +// 'label': 'commands', +// 'cssClass': 'title', +// 'selector': MochiKit.Base.methodcaller('label'), //should be a function for commands display +// }), + new Clipperz.PM.UI.Web.Components.DeleteObjectColumnManager({ + 'name': 'DirectLogins.delete', + 'selector': MochiKit.Base.noop, + 'cssClass': 'delete', +// 'actionMethod': function(anObject, anEvent) { MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'deleteDirectLogin', {objectData:anObject, element:anEvent.src()})} + 'actionMethod': MochiKit.Base.method(this, 'handleDeleteDirectLogin') + }) + ]}); + + }, + + //----------------------------------------------------------------------------- + + 'getRows': function () { + // TODO: relying on user() in GridController, bad code smell :| + return this.user().getDirectLogins(); + }, + + //----------------------------------------------------------------------------- + + 'handleShowCard': function (anObject, anEvent) { + var cardDialogController; + + cardDialogController = new Clipperz.PM.UI.Web.Controllers.CardDialogController({record:anObject.record()}) + cardDialogController.run(anEvent.src()); + }, + + //----------------------------------------------------------------------------- + + 'handleDeleteDirectLogin': function (anObject, anEvent) { + var deferredResult; + var confirmationDialog; + + confirmationDialog = new Clipperz.PM.UI.Common.Components.SimpleMessagePanel({ + title: "Delete DirectLogin", + text: "Do you want to delete …", + type: 'ALERT', + buttons: [ + {text:"Cancel", result:'CANCEL', isDefault:true}, + {text:"Delete", result:'OK'} + ] + }); + + deferredResult = new Clipperz.Async.Deferred("AppController.handleDeleteCard", {trace:false}); +// deferredResult = confirmationDialog.deferredShow({openFromElement:anEvent.src(), onOkCloseToElement:MochiKit.DOM.currentDocument().body, onCancelCloseToElement:anEvent.src()}); + deferredResult.addMethod(confirmationDialog, 'deferredShow', { + 'openFromElement': anEvent.src(), + 'onOkCloseToElement': null, // MochiKit.DOM.currentDocument().body, + 'onCancelCloseToElement': anEvent.src() + }); + deferredResult.addCallback(function () { Clipperz.log("DELETE: " + anObject.toString(), anObject); }); + deferredResult.addErrbackPass(function () { Clipperz.log("skip deletion: " + anObject.toString(), anObject); }); + deferredResult.callback(); + + return deferredResult; + }, + + //----------------------------------------------------------------------------- + __syntaxFix__: "syntax fix" +}); +*/
\ No newline at end of file |