1 import {Component, Input, TemplateRef, ViewChild} from '@angular/core';
2 import {ProgressDialogComponent} from '@eg/share/dialog/progress.component';
3 import {PrintService} from '@eg/share/print/print.service';
4 import {GridContext} from '@eg/share/grid/grid';
7 selector: 'eg-grid-print',
8 templateUrl: './grid-print.component.html'
13 export class GridPrintComponent {
15 @Input() gridContext: GridContext;
16 @ViewChild('printTemplate') private printTemplate: TemplateRef<any>;
17 @ViewChild('progressDialog')
18 private progressDialog: ProgressDialogComponent;
20 constructor(private printer: PrintService) {}
23 this.progressDialog.open();
24 const columns = this.gridContext.columnSet.displayColumns();
25 const textItems = {columns: columns, rows: []};
27 this.gridContext.getAllRowsAsText().subscribe(
29 this.progressDialog.increment();
30 textItems.rows.push(row);
32 err => this.progressDialog.close(),
34 this.progressDialog.close();
36 template: this.printTemplate,
37 contextData: textItems,
38 printContext: 'default'