Prepare mail display iframe for printing

This commit is contained in:
Hadi Nategh 2015-02-12 09:02:56 +00:00
parent 8a5ab38c36
commit 32f3a52280

View File

@ -172,6 +172,12 @@ app.classes.mail = AppJS.extend(
this.mail_callRefreshVacationNotice();
break;
case 'mail.display':
var self = this;
// Prepare display dialog for printing
// copies iframe content to a DIV, as iframe causes
// trouble for multipage printing
jQuery('#mail-display_mailDisplayBodySrc').on('load', function(){self.mail_prepare_print()});
this.mail_isMainWindow = false;
this.mail_display();
@ -3940,10 +3946,13 @@ app.classes.mail = AppJS.extend(
},
/**
* Print a mail from Display
* Prepare display dialog for printing
* copies iframe content to a DIV, as iframe causes
* trouble for multipage printing
*
* @returns {undefined}
*/
mail_display_print: function ()
mail_prepare_print: function()
{
var mainIframe = jQuery('#mail-display_mailDisplayBodySrc');
var tmpPrintDiv = jQuery('#tempPrintDiv');
@ -3964,6 +3973,13 @@ app.classes.mail = AppJS.extend(
if (notAttached) jQuery('#mail-display_mailDisplayBodySrc').after(tmpPrintDiv);
tmpPrintDiv.find('#divAppboxHeader').remove();
},
/**
* Print a mail from Display
*/
mail_display_print: function ()
{
this.egw.message('Printing....');
// Make sure the print happens after the content is loaded. Seems Firefox and IE can't handle timing for print command correctly