!function(){"use strict";function e(e,t){e.state("mail",{url:"/Mail",abstract:!0,views:{message:{template:"<ui-view/>"}},resolve:{stateAccounts:o}}).state("mail.account",{url:"/:accountId",abstract:!0,template:'<ui-view id="account"/>',resolve:{stateAccount:n}}).state("mail.account.mailbox",{url:"/:mailboxId",abstract:!0,template:'<ui-view id="mailbox"/>',resolve:{stateMailbox:r}}).state("mail.account.newMessage",{url:"/new",views:{"message@":{template:"<ui-view/>",controller:"MessageEditorControllerPopup"}},resolve:{stateMessage:a}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{"message@":{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMessage:l}}).state("mail.account.mailbox.message.edit",{url:"/edit",views:{"message@":{template:"<ui-view/>",controller:"MessageEditorControllerPopup"}},resolve:{stateContent:i}}).state("mail.account.mailbox.message.action",{url:"/{actionName:(?:compose|reply|replyall|forward)}",views:{"message@":{template:"<ui-view/>",controller:"MessageEditorControllerPopup"}}}),t.otherwise("/Mail/0/new")}function o(e,t,o){var n=[];return e&&e.opener&&e.opener.mailAccounts?(e=o.$findAll(e.opener.mailAccounts),t.when(e)):o.$findAll().then(function(e){return angular.forEach(e,function(t,e){var o=t.$getMailboxes();n.push(0===e?o.then(function(e){return t}):t)}),t.all(n)})}function n(e,t,o,n,r){var a=null;return(a=(a=t.opener&&"$mailboxController"in t.opener&&"account"in t.opener.$mailboxController&&t.opener.$mailboxController.account.id==o.accountId?new n(t.opener.$mailboxController.account.$omit(!0)):a)||_.find(r,function(e){return e.id==o.accountId}))?e.when(a):e.reject("Account "+o.accountId+" doesn't exist")}function r(e,t,o,n,r,a,l){var i,s=null,c=a(n.mailboxId);return t.opener&&"$mailboxController"in t.opener&&"selectedFolder"in t.opener.$mailboxController&&"account"in t.opener.$mailboxController&&t.opener.$mailboxController.account.id==r.id&&t.opener.$mailboxController.selectedFolder.path==c&&(s=new l(r,t.opener.$mailboxController.selectedFolder.$omit(!0))),i=function(e){var t=_.find(e,function(e){return e.path==c});return t||angular.forEach(e,function(e){!t&&e.children&&0<e.children.length&&(t=i(e.children))}),t},(s?e.when(s):r.$getMailboxes().then(function(e){e=i(e);return new l(r,e)})).then(function(e){return e.$topIndex=0,e.selectFolder(),e},function(){return e.reject("Mailbox "+c+" doesn't exist")})}function a(e,t){var o,e=e.search();return e&&(o=_.find(_.keys(e),function(e){return/^mailto:/i.test(e)})),t.$newMessage({mailto:o})}function l(e,t,o,n,r,a){var l;return window&&window.opener&&window.opener.$messageController&&window.opener.$messageController.message.uid==parseInt(o.messageId)?(l=new a(r.$account.id,r,window.opener.$messageController.message.$omit({privateAttributes:!0})),t.when(l)):(t={uid:o.messageId.toString()},(l=new a(r.$account.id,r,t)).$reload())}function i(e){return e.$editableContent()}function t(l,e,i){e.$on("$stateChangeError",function(e,t,o,n,r,a){i.error(a),l.close()}),e.$on("$routeChangeError",function(e,t,o,n){i.error(e,t,o,n)})}function s(e,t,o,n,r,a){var l=o.defer();n.show({hasBackdrop:!1,disableParentScroll:!1,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",onComplete:function(e,t){return l.resolve(t)},locals:{stateParent:t,stateAccount:r,stateMessage:a,onCompletePromise:function(){return l.promise}}}).finally(function(){e.close()})}angular.module("SOGo.MailerUI",["ngCookies","ui.router","sgCkeditor","angularFileUpload","SOGo.Common","SOGo.ContactsUI","SOGo.SchedulerUI","ngAnimate","SOGo.PreferencesUI"]).config(e).run(t).controller("MessageEditorControllerPopup",s),e.$inject=["$stateProvider","$urlRouterProvider"],o.$inject=["$window","$q","Account"],n.$inject=["$q","$window","$stateParams","Account","stateAccounts"],r.$inject=["$q","$window","$state","$stateParams","stateAccount","decodeUriFilter","Mailbox"],a.$inject=["$urlService","stateAccount"],l.$inject=["encodeUriFilter","$q","$stateParams","$state","stateMailbox","Message"],i.$inject=["stateMessage"],t.$inject=["$window","$rootScope","$log"],s.$inject=["$window","$scope","$q","$mdDialog","stateAccount","stateMessage"]}();
//# sourceMappingURL=Mailer.app.popup.js.map