Initial popup view for messages

This commit is contained in:
Francis Lachapelle
2015-09-04 17:31:16 -04:00
parent bf02b3046f
commit 2720aebf04
10 changed files with 316 additions and 41 deletions
@@ -6,9 +6,9 @@
/**
* @ngInject
*/
MessageController.$inject = ['$scope', '$state', '$mdDialog', 'stateAccounts', 'stateAccount', 'stateMailbox', 'stateMessage', 'encodeUriFilter', 'sgFocus', 'Dialog', 'Account', 'Mailbox', 'Message'];
function MessageController($scope, $state, $mdDialog, stateAccounts, stateAccount, stateMailbox, stateMessage, encodeUriFilter, focus, Dialog, Account, Mailbox, Message) {
var vm = this, messageDialog = null;
MessageController.$inject = ['$window', '$scope', '$state', '$mdDialog', 'stateAccounts', 'stateAccount', 'stateMailbox', 'stateMessage', 'encodeUriFilter', 'sgSettings', 'sgFocus', 'Dialog', 'Account', 'Mailbox', 'Message'];
function MessageController($window, $scope, $state, $mdDialog, stateAccounts, stateAccount, stateMailbox, stateMessage, encodeUriFilter, sgSettings, focus, Dialog, Account, Mailbox, Message) {
var vm = this, messageDialog = null, popupWindow = null;
vm.accounts = stateAccounts;
vm.account = stateAccount;
@@ -22,6 +22,8 @@
vm.replyAll = replyAll;
vm.forward = forward;
vm.edit = edit;
vm.openPopup = openPopup;
vm.closePopup = closePopup;
vm.newMessage = newMessage;
vm.saveMessage = saveMessage;
vm.viewRawSource = viewRawSource;
@@ -103,6 +105,33 @@
});
}
function openPopup() {
var url = [sgSettings.baseURL(),
'UIxMailPopupView#/Mail',
vm.message.accountId,
// The double-encoding is necessary
encodeUriFilter(encodeUriFilter(vm.message.$mailbox.path)),
vm.message.uid]
.join('/'),
wId = vm.message.$absolutePath();
popupWindow = $window.open(url, wId,
["width=680",
"height=520",
"resizable=1",
"scrollbars=1",
"toolbar=0",
"location=0",
"directories=0",
"status=0",
"menubar=0",
"copyhistory=0"]
.join(','));
}
function closePopup() {
$window.close();
}
function newMessage($event, recipient) {
var message = vm.account.$newMessage();
showMailEditor($event, message, [recipient]);