sogo/UI/WebServerResources/js/Mailer.js
2015-12-08 12:23:54 -05:00

2 lines
4.2 KiB
JavaScript

(function(){"use strict";angular.module("SOGo.MailerUI",["ngSanitize","ui.router","ck","angularFileUpload","SOGo.Common","SOGo.ContactsUI","ngAnimate","SOGo.PreferencesUI"]).config(configure).run(runBlock);configure.$inject=["$stateProvider","$urlRouterProvider"];function configure($stateProvider,$urlRouterProvider){$stateProvider.state("mail",{url:"/Mail",views:{mailboxes:{templateUrl:"UIxMailMainFrame",controller:"MailboxesController",controllerAs:"app"}},resolve:{stateAccounts:stateAccounts}}).state("mail.account",{url:"/:accountId","abstract":true,views:{mailbox:{template:"<ui-view/>"}},resolve:{stateAccount:stateAccount}}).state("mail.account.virtualMailbox",{url:"/virtual",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:stateVirtualMailbox}}).state("mail.account.virtualMailbox.message",{url:"/:mailboxId/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMailbox:stateVirtualMailboxOfMessage,stateMessages:stateMessages,stateMessage:stateMessage}}).state("mail.account.mailbox",{url:"/:mailboxId",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:stateMailbox,stateMessages:stateMessages}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMessage:stateMessage}});$urlRouterProvider.otherwise("/Mail")}stateAccounts.$inject=["$q","Account"];function stateAccounts($q,Account){var accounts=Account.$findAll(mailAccounts),promises=[];angular.forEach(accounts,function(account,i){var mailboxes=account.$getMailboxes();promises.push(mailboxes.then(function(objects){return account}))});return $q.all(promises)}stateAccount.$inject=["$stateParams","stateAccounts"];function stateAccount($stateParams,stateAccounts){return _.find(stateAccounts,function(account){return account.id==$stateParams.accountId})}stateMailbox.$inject=["Mailbox","$stateParams","stateAccount","decodeUriFilter"];function stateMailbox(Mailbox,$stateParams,stateAccount,decodeUriFilter){var mailboxId=decodeUriFilter($stateParams.mailboxId),_find;_find=function(mailboxes){var mailbox=_.find(mailboxes,function(o){return o.path==mailboxId});if(!mailbox){angular.forEach(mailboxes,function(o){if(!mailbox&&o.children&&o.children.length>0){mailbox=_find(o.children)}})}return mailbox};return _find(stateAccount.$mailboxes)}stateMessages.$inject=["Mailbox","stateMailbox"];function stateMessages(Mailbox,stateMailbox){if(Mailbox.$virtualMode)return[];return stateMailbox.$filter()}stateVirtualMailbox.$inject=["$q","Mailbox"];function stateVirtualMailbox($q,Mailbox){if(Mailbox.$virtualMode)return Mailbox.selectedFolder;else return $q.reject("No virtual mailbox defined")}stateVirtualMailboxOfMessage.$inject=["$q","Mailbox","decodeUriFilter","$stateParams"];function stateVirtualMailboxOfMessage($q,Mailbox,decodeUriFilter,$stateParams){var mailboxId=decodeUriFilter($stateParams.mailboxId);if(Mailbox.$virtualMode){Mailbox.selectedFolder.resetSelectedMessage();return _.find(Mailbox.selectedFolder.$mailboxes,function(mailboxObject){return mailboxObject.path==mailboxId})}else return $q.reject("No virtual mailbox defined for message")}stateMessage.$inject=["Mailbox","encodeUriFilter","$stateParams","$state","stateMailbox","stateMessages"];function stateMessage(Mailbox,encodeUriFilter,$stateParams,$state,stateMailbox,stateMessages){var message;message=_.find(stateMailbox.$messages,function(messageObject){return messageObject.uid==$stateParams.messageId});if(message){stateMailbox.selectedMessage=$stateParams.messageId;return message.$reload()}else{$state.go("mail.account.mailbox",{accountId:stateMailbox.$account.id,mailboxId:encodeUriFilter(stateMailbox.path)})}}runBlock.$inject=["$rootScope","$log","$state"];function runBlock($rootScope,$log,$state){$rootScope.$on("$stateChangeError",function(event,toState,toParams,fromState,fromParams,error){$log.error(error);$state.go("mail")});$rootScope.$on("$routeChangeError",function(event,current,previous,rejection){$log.error(event,current,previous,rejection)})}})();
//# sourceMappingURL=Mailer.js.map