1 import {Injectable, EventEmitter, TemplateRef} from '@angular/core';
2 import {StoreService} from '@eg/core/store.service';
4 export interface PrintRequest {
5 template?: TemplateRef<any>;
9 contentType?: string; // defaults to text/html
14 export class PrintService {
16 onPrintRequest$: EventEmitter<PrintRequest>;
18 constructor(private store: StoreService) {
19 this.onPrintRequest$ = new EventEmitter<PrintRequest>();
22 print(printReq: PrintRequest) {
23 this.onPrintRequest$.emit(printReq);
27 const prev = this.store.getLocalItem('eg.print.last_printed');
30 const req: PrintRequest = {
32 printContext: prev.context || 'default',
33 contentType: prev.content_type || 'text/html',
34 showDialog: Boolean(prev.show_dialog)