mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-08-15 03:43:29 +00:00
feat(mail): Add 'View raw message' mail contextual option. This option open message in a popup without HTML mail CSS content modification.
This commit is contained in:
@@ -68,6 +68,19 @@
|
||||
stateMessage: stateMessage
|
||||
}
|
||||
})
|
||||
.state('mail.account.mailbox.messageRaw', {
|
||||
url: '/:messageId/viewRaw',
|
||||
views: {
|
||||
'message@': {
|
||||
templateUrl: 'UIxMailViewTemplate', // UI/Templates/MailerUI/UIxMailViewTemplate.wox
|
||||
controller: 'MessageController',
|
||||
controllerAs: 'viewer'
|
||||
}
|
||||
},
|
||||
resolve: {
|
||||
stateMessage: stateMessageRaw
|
||||
}
|
||||
})
|
||||
.state('mail.account.mailbox.message.edit', {
|
||||
url: '/edit',
|
||||
views: {
|
||||
@@ -254,6 +267,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
stateMessageRaw.$inject = ['encodeUriFilter', '$stateParams', 'stateMailbox', 'Message'];
|
||||
function stateMessageRaw(encodeUriFilter, $stateParams, stateMailbox, Message) {
|
||||
var data, message;
|
||||
|
||||
data = { uid: $stateParams.messageId.toString() };
|
||||
message = new Message(stateMailbox.$account.id, stateMailbox, data);
|
||||
return message.$reload({ useCache: false, raw: true });
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
|
||||
@@ -792,7 +792,7 @@
|
||||
* @function $reload
|
||||
* @memberof Message.prototype
|
||||
* @desc Fetch the viewable message body along with other metadata such as the list of attachments.
|
||||
* @param {object} [options] - set {useCache: true} to use already fetched data
|
||||
* @param {object} [options] - set {useCache: true} to use already fetched data, {raw: true} to remove web mail alteration
|
||||
* @returns a promise of the HTTP operation
|
||||
*/
|
||||
Message.prototype.$reload = function (options) {
|
||||
@@ -813,7 +813,10 @@
|
||||
return this;
|
||||
}
|
||||
|
||||
futureMessageData = Message.$$resource.fetch(this.$absolutePath(options), 'view');
|
||||
if (options && options.raw)
|
||||
futureMessageData = Message.$$resource.fetch(this.$absolutePath(options), 'viewRaw');
|
||||
else
|
||||
futureMessageData = Message.$$resource.fetch(this.$absolutePath(options), 'view');
|
||||
|
||||
return this.$unwrap(futureMessageData);
|
||||
};
|
||||
|
||||
@@ -544,6 +544,10 @@
|
||||
}
|
||||
};
|
||||
|
||||
this.activateRawContent = function ($event) {
|
||||
this.openInPopup('viewRaw');
|
||||
};
|
||||
|
||||
this.print = function($event) {
|
||||
$window.print();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user