diff --git a/src/app/mailviewer/singlemailviewer.component.spec.ts b/src/app/mailviewer/singlemailviewer.component.spec.ts index d4bc44f93..7be7f765c 100644 --- a/src/app/mailviewer/singlemailviewer.component.spec.ts +++ b/src/app/mailviewer/singlemailviewer.component.spec.ts @@ -231,6 +231,15 @@ describe('SingleMailViewerComponent', () => { expect(component.mailObj.attachments[1].downloadURL.indexOf('blob:')).toBe(0); })); + it('adds avatar sizing to printed messages', () => { + const printStyles = component.printableMessageStyles(); + + expect(printStyles).toContain('app-avatar-bar img'); + expect(printStyles).toContain('width: 32px'); + expect(printStyles).toContain('max-width: 32px'); + expect(printStyles).toContain('max-height: 32px'); + }); + describe('mailto: link interceptor', () => { let messageContentsElement: HTMLElement; let mailtoLink: HTMLAnchorElement; diff --git a/src/app/mailviewer/singlemailviewer.component.ts b/src/app/mailviewer/singlemailviewer.component.ts index 1bb81b032..4a73fc85d 100644 --- a/src/app/mailviewer/singlemailviewer.component.ts +++ b/src/app/mailviewer/singlemailviewer.component.ts @@ -688,6 +688,26 @@ export class SingleMailViewerComponent implements OnInit, DoCheck, AfterViewInit } } + printableMessageStyles() { + return ` + + `; + } + print() { // Can't access print view inside iFrame, so we need to // temporary hide buttons while the view is rendering @@ -713,7 +733,7 @@ export class SingleMailViewerComponent implements OnInit, DoCheck, AfterViewInit ); } this.printFrame.nativeElement.onload = () => this.printFrame.nativeElement.contentWindow.print(); - this.printFrame.nativeElement.src = URL.createObjectURL(new Blob([printablecontent], + this.printFrame.nativeElement.src = URL.createObjectURL(new Blob([this.printableMessageStyles(), printablecontent], { type: 'text/html' } ) );