sogo/UI/WebServerResources/js/Mailer.app.popup.js.map
2018-03-07 11:09:20 -05:00

1 line
12 KiB
Plaintext

{"version":3,"sources":["Mailer/Mailer.popup.js"],"names":["configure","$stateProvider","$urlRouterProvider","state","url","abstract","views","message","template","resolve","stateAccounts","stateAccount","stateMailbox","message@","controller","stateMessage","stateNewMessage","templateUrl","controllerAs","stateContent","otherwise","$window","$q","Account","accounts","promises","opener","$mailboxController","when","$findAll","then","angular","forEach","account","i","mailboxes","$getMailboxes","push","objects","all","$stateParams","_","find","id","accountId","$state","decodeUriFilter","Mailbox","mailbox","_find","mailboxId","o","path","children","length","$mailboxes","$topIndex","selectFolder","reject","$urlService","mailto","params","search","keys","k","test","$newMessage","encodeUriFilter","Message","data","window","$messageController","uid","parseInt","messageId","$account","$omit","privateAttributes","toString","$reload","$editableContent","runBlock","$rootScope","$log","$on","event","toState","toParams","fromState","fromParams","error","close","current","previous","rejection","MessageEditorControllerPopup","$mdDialog","show","hasBackdrop","disableParentScroll","clickOutsideToClose","escapeToClose","locals","finally","module","config","run","$inject"],"mappings":"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","file":"Mailer.app.popup.js","sourcesContent":["/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* JavaScript for SOGo.MailerUI module */\n\n(function() {\n 'use strict';\n\n angular.module('SOGo.MailerUI', ['ngCookies', 'ui.router', 'ck', 'angularFileUpload', 'SOGo.Common', 'SOGo.ContactsUI', 'SOGo.SchedulerUI', 'ngAnimate', 'SOGo.PreferencesUI'])\n .config(configure)\n .run(runBlock)\n .controller('MessageEditorControllerPopup', MessageEditorControllerPopup);\n\n /**\n * @ngInject\n */\n configure.$inject = ['$stateProvider', '$urlRouterProvider'];\n function configure($stateProvider, $urlRouterProvider) {\n $stateProvider\n .state('mail', {\n url: '/Mail',\n abstract: true,\n views: {\n message: {\n template: '<ui-view/>'\n }\n },\n resolve: {\n stateAccounts: stateAccounts\n }\n })\n .state('mail.account', {\n url: '/:accountId',\n abstract: true,\n template: '<ui-view id=\"account\"/>',\n resolve: {\n stateAccount: stateAccount\n }\n })\n .state('mail.account.mailbox', {\n url: '/:mailboxId',\n abstract: true,\n template: '<ui-view id=\"mailbox\"/>',\n resolve: {\n stateMailbox: stateMailbox\n }\n })\n .state('mail.account.mailbox.newMessage', {\n url: '/new',\n views: {\n 'message@': {\n template: '<ui-view/>',\n controller: 'MessageEditorControllerPopup'\n }\n },\n resolve: {\n stateMessage: stateNewMessage\n }\n })\n .state('mail.account.mailbox.message', {\n url: '/:messageId',\n views: {\n 'message@': {\n templateUrl: 'UIxMailViewTemplate', // UI/Templates/MailerUI/UIxMailViewTemplate.wox\n controller: 'MessageController',\n controllerAs: 'viewer'\n }\n },\n resolve: {\n stateMessage: stateMessage\n }\n })\n .state('mail.account.mailbox.message.edit', {\n url: '/edit',\n views: {\n 'message@': {\n template: '<ui-view/>',\n controller: 'MessageEditorControllerPopup'\n }\n },\n resolve: {\n stateContent: stateContent\n }\n })\n .state('mail.account.mailbox.message.action', {\n url: '/{actionName:(?:reply|replyall|forward)}',\n views: {\n 'message@': {\n template: '<ui-view/>',\n controller: 'MessageEditorControllerPopup'\n }\n }\n });\n\n // if none of the above states are matched, use this as the fallback\n $urlRouterProvider.otherwise('/Mail/0/folderINBOX/new');\n }\n\n /**\n * @ngInject\n */\n stateAccounts.$inject = ['$window', '$q', 'Account'];\n function stateAccounts($window, $q, Account) {\n var accounts, promises = [];\n\n if ($window &&\n $window.opener &&\n $window.opener.$mailboxController) {\n // Mail accounts are available from the parent window\n accounts = $window.opener.$mailboxController.accounts;\n return $q.when(accounts);\n }\n else {\n return Account.$findAll().then(function(accounts) {\n // Fetch list of mailboxes for each account\n angular.forEach(accounts, function(account, i) {\n var mailboxes = account.$getMailboxes();\n if (i === 0)\n // Make sure we have the list of mailboxes of the first account\n promises.push(mailboxes.then(function(objects) {\n return account;\n }));\n else\n // Don't wait for external accounts\n promises.push(account);\n });\n return $q.all(promises);\n });\n }\n }\n\n /**\n * @ngInject\n */\n stateAccount.$inject = ['$stateParams', 'stateAccounts'];\n function stateAccount($stateParams, stateAccounts) {\n return _.find(stateAccounts, function(account) {\n return account.id == $stateParams.accountId;\n });\n }\n\n /**\n * @ngInject\n */\n stateMailbox.$inject = ['$q', '$state', '$stateParams', 'stateAccount', 'decodeUriFilter', 'Mailbox'];\n function stateMailbox($q, $state, $stateParams, stateAccount, decodeUriFilter, Mailbox) {\n var mailbox,\n mailboxId = decodeUriFilter($stateParams.mailboxId),\n _find;\n\n // Recursive find function\n _find = function(mailboxes) {\n var mailbox = _.find(mailboxes, function(o) {\n return o.path == mailboxId;\n });\n if (!mailbox) {\n angular.forEach(mailboxes, function(o) {\n if (!mailbox && o.children && o.children.length > 0) {\n mailbox = _find(o.children);\n }\n });\n }\n return mailbox;\n };\n\n mailbox = _find(stateAccount.$mailboxes);\n\n if (mailbox) {\n mailbox.$topIndex = 0;\n mailbox.selectFolder();\n return mailbox;\n }\n else\n // Mailbox not found\n return $q.reject(\"Mailbox doesn't exist\");\n }\n\n /**\n * @ngInject\n */\n stateNewMessage.$inject = ['$urlService', 'stateAccount'];\n function stateNewMessage($urlService, stateAccount) {\n var mailto, params = $urlService.search();\n if (params) {\n mailto = _.find(_.keys(params), function(k) {\n return /^mailto:/i.test(k);\n });\n }\n return stateAccount.$newMessage({ mailto: mailto });\n }\n\n /**\n * @ngInject\n */\n stateMessage.$inject = ['encodeUriFilter', '$q', '$stateParams', '$state', 'stateMailbox', 'Message'];\n function stateMessage(encodeUriFilter, $q, $stateParams, $state, stateMailbox, Message) {\n var data, message;\n\n if (window &&\n window.opener &&\n window.opener.$messageController &&\n window.opener.$messageController.message.uid == parseInt($stateParams.messageId)) {\n // Message is available from the parent window\n message = new Message(stateMailbox.$account.id,\n stateMailbox,\n window.opener.$messageController.message.$omit({privateAttributes: true}));\n return $q.when(message);\n }\n else {\n // Message is not available; load it from the server\n data = { uid: $stateParams.messageId.toString() };\n message = new Message(stateMailbox.$account.id, stateMailbox, data);\n return message.$reload();\n }\n }\n\n /**\n * @ngInject\n */\n stateContent.$inject = ['stateMessage'];\n function stateContent(stateMessage) {\n return stateMessage.$editableContent();\n }\n\n /**\n * @ngInject\n */\n runBlock.$inject = ['$window', '$rootScope', '$log'];\n function runBlock($window, $rootScope, $log) {\n $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {\n $log.error(error);\n $window.close();\n });\n $rootScope.$on('$routeChangeError', function(event, current, previous, rejection) {\n $log.error(event, current, previous, rejection);\n });\n }\n\n /**\n * @ngInject\n */\n MessageEditorControllerPopup.$inject = ['$window', '$mdDialog', 'stateAccount', 'stateMessage'];\n function MessageEditorControllerPopup($window, $mdDialog, stateAccount, stateMessage) {\n $mdDialog\n .show({\n hasBackdrop: false,\n disableParentScroll: false,\n clickOutsideToClose: false,\n escapeToClose: false,\n templateUrl: 'UIxMailEditor',\n controller: 'MessageEditorController',\n controllerAs: 'editor',\n locals: {\n stateAccount: stateAccount,\n stateMessage: stateMessage\n }\n })\n .finally(function() {\n $window.close();\n });\n }\n \n})();\n"]}