!function(){"use strict";functionconfigure($stateProvider,$urlRouterProvider){$stateProvider.state("mail",{url:"/Mail",views:{mailboxes:{templateUrl:"UIxMailMainFrame",controller:"MailboxesController",controllerAs:"app"}},resolve:{stateAccounts:stateAccounts}}).state("mail.account",{url:"/:accountId","abstract":!0,views:{mailbox:{template:"<ui-view/>"}},resolve:{stateAccount:stateAccount}}).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")}functionstateAccounts($q,Account){varaccounts=Account.$findAll(mailAccounts),promises=[];returnangular.forEach(accounts,function(account,i){varmailboxes=account.$getMailboxes();promises.push(mailboxes.then(function(objects){returnaccount}))}),$q.all(promises)}functionstateAccount($stateParams,stateAccounts){return_.find(stateAccounts,function(account){returnaccount.id==$stateParams.accountId})}functionstateMailbox($stateParams,stateAccount,decodeUriFilter){var_find,mailboxId=decodeUriFilter($stateParams.mailboxId);return(_find=function(mailboxes){varmailbox=_.find(mailboxes,function(o){returno.path==mailboxId});returnmailbox||angular.forEach(mailboxes,function(o){!mailbox&&o.children&&o.children.length>0&&(mailbox=_find(o.children))}),mailbox})(stateAccount.$mailboxes)}functionstateMessages(stateMailbox){returnstateMailbox.$filter()}functionstateMessage(encodeUriFilter,$stateParams,$state,stateMailbox,stateMessages){varmessage=_.find(stateMailbox.$messages,function(messageObject){returnmessageObject.uid==$stateParams.messageId});returnmessage?(stateMailbox.selectedMessage=$stateParams.messageId,message.$reload()):void$state.go("mail.account.mailbox",{accountId:stateMailbox.$account.id,mailboxId:encodeUriFilter(stateMailbox.path)})}functionrunBlock($rootScope){$rootScope.$on("$routeChangeError",function(event,current,previous,rejection){console.error(event,current,previous,rejection)})}angular.module("SOGo.MailerUI",["ngSanitize","ui.router","ck","angularFileUpload","SOGo.Common","SOGo.ContactsUI","ngAnimate","SOGo.PreferencesUI"]).config(configure).run(runBlock),configure.$inject=["$stateProvider","$urlRouterProvider"],stateAccounts.$inject=["$q","Account"],stateAccount.$inject=["$stateParams","stateAccounts"],stateMailbox.$inject=["$stateParams","stateAccount","decodeUriFilter"],stateMessages.$inject=["stateMailbox"],stateMessage.$inject=["encodeUriFilter","$stateParams","$state","stateMailbox","stateMessages"],runBlock.$inject=["$rootScope"]}(),function(){"use strict";functionMailboxController($state,$timeout,$mdDialog,stateAccounts,stateAccount,stateMailbox,encodeUriFilter,focus,Dialog,Account,Mailbox){functionselectMessage(message){$state.go("mail.account.mailbox.message",{accountId:stateAccount.id,mailboxId:encodeUriFilter(stateMailbox.path),messageId:message.uid})}functionunselectMessages(){_.each(vm.selectedFolder.$messages,function(message){message.selected=!1})}functionconfirmDeleteSelectedMessages(){Dialog.confirm(l("Warning"),l("Are you sure you want to delete the selected messages?")).then(function(){varselectedMessages=_.filter(vm.selectedFolder.$messages,function(message){returnmessage.selected}),selectedUIDs=_.pluck(selectedMessages,"uid");vm.selectedFolder.$deleteMessages(selectedUIDs).then(function(){varunseenCount=_.filter(selectedMessages,function(message){return!message.isread});vm.selectedFolder.$messages=_.difference(vm.selectedFolder.$messages,selectedMessages),vm.selectedFolder.unseenCount=-unseenCount},function(error){Dialog.alert(l("Error"),error)})})}functioncopySelectedMessages(folder){varselectedMessages=_.filter(vm.selectedFolder.$messages,function(message){returnmessage.selected}),selectedUIDs=_.pluck(selectedMessa