ng-zorro-antd-extension 17.0.2 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctem9ycm8tYW50ZC1leHRlbnNpb24tcHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3ByaW50L25nLXpvcnJvLWFudGQtZXh0ZW5zaW9uLXByaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,180 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Component, ContentChild, Directive, ElementRef, Inject, Input, } from '@angular/core';
3
+ import { getElementTag } from './util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/platform";
6
+ export class NzxPrintContentDirective {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintContentDirective, selector: "[nzxPrintContent]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintContentDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[nzxPrintContent]',
14
+ }]
15
+ }] });
16
+ /**
17
+ * 使用Paged.js打印
18
+ */
19
+ export class NzxPrintComponent {
20
+ constructor(platform, document) {
21
+ this.platform = platform;
22
+ this.document = document;
23
+ this.printTitle = 'pdf';
24
+ /**
25
+ * a4 794px1123px
26
+ */
27
+ this.width = 814;
28
+ this.height = 1143;
29
+ this.enablePreview = true;
30
+ this._title = this.document.title;
31
+ this.afterPrint = () => {
32
+ this.iframeEl.contentWindow.parent.document.title = this._title;
33
+ };
34
+ this.beforePrint = () => {
35
+ this.iframeEl.contentWindow.parent.document.title = this.printTitle;
36
+ };
37
+ }
38
+ ngAfterViewInit() {
39
+ this.render();
40
+ }
41
+ print() {
42
+ if (this.iframeEl.contentWindow) {
43
+ this.iframeEl.contentWindow.focus();
44
+ this.iframeEl.contentWindow.print();
45
+ }
46
+ }
47
+ refresh() {
48
+ setTimeout(() => {
49
+ this.render();
50
+ }, 100);
51
+ }
52
+ render() {
53
+ const container = this.document.getElementById('nzx-print-iframe-content');
54
+ this.iframeEl = this.document.createElement('iframe');
55
+ this.iframeEl.height = this.height + '';
56
+ this.iframeEl.width = this.width + '';
57
+ if (!this.enablePreview) {
58
+ this.iframeEl.style.visibility = 'hidden';
59
+ if (this.platform.FIREFOX) {
60
+ this.iframeEl.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');
61
+ }
62
+ else {
63
+ this.iframeEl.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');
64
+ }
65
+ }
66
+ if (container) {
67
+ container.innerHTML = '';
68
+ container.appendChild(this.iframeEl);
69
+ }
70
+ if (this.iframeEl.contentWindow) {
71
+ this.iframeEl.contentWindow.document.open();
72
+ this.iframeEl.contentWindow.document.write(this.getTemplateStr());
73
+ this.iframeEl.contentWindow.document.close();
74
+ // chorme bug
75
+ this.iframeEl.contentWindow.onbeforeprint = this.beforePrint;
76
+ this.iframeEl.contentWindow.onafterprint = this.afterPrint;
77
+ }
78
+ }
79
+ getTemplateStr() {
80
+ const styles = getElementTag('style');
81
+ const scripts = `
82
+ <script src="https://winkong-frontend.oss-cn-qingdao.aliyuncs.com/javascript/paged/paged.polyfill.min.js"></script>
83
+ <script>
84
+ class RepeatingTableHeaders extends Paged.Handler {
85
+ constructor(chunker, polisher, caller) {
86
+ super(chunker, polisher, caller);
87
+ }
88
+
89
+ afterPageLayout(pageElement, page, breakToken, chunker) {
90
+ let tables = pageElement.querySelectorAll('table[data-split-from]');
91
+ tables.forEach((table) => {
92
+ let ref = table.dataset.ref;
93
+ let sourceTable = chunker.source.querySelector(
94
+ "[data-ref='" + ref + "']"
95
+ );
96
+ let header = sourceTable.querySelector('thead');
97
+ if (header) {
98
+ let clonedHeader = header.cloneNode(true);
99
+ table.insertBefore(clonedHeader, table.firstChild);
100
+ }
101
+ });
102
+ }
103
+ }
104
+ Paged.registerHandlers(RepeatingTableHeaders);
105
+ </script>
106
+ `;
107
+ const html = `
108
+ <!DOCTYPE html>
109
+ <html>
110
+ <head>
111
+ <meta charset="utf-8" />
112
+ <title>${this.printTitle}</title>
113
+ <base href="/" />
114
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
115
+ <link
116
+ rel="preconnect"
117
+ href="https://winkong-frontend.oss-cn-qingdao.aliyuncs.com"
118
+ />
119
+ <style>
120
+ ::-webkit-scrollbar {
121
+ width: 5px;
122
+ height: 5px;
123
+ }
124
+ ::-webkit-scrollbar-thumb {
125
+ background-color: #999;
126
+ -webkit-border-radius: 5px;
127
+ border-radius: 5px;
128
+ }
129
+ ::-webkit-scrollbar-thumb:vertical:hover {
130
+ background-color: #666;
131
+ }
132
+ ::-webkit-scrollbar-thumb:vertical:active {
133
+ background-color: #666;
134
+ }
135
+ ::-webkit-scrollbar-button {
136
+ display: none;
137
+ }
138
+ ::-webkit-scrollbar-track {
139
+ background-color: #f1f1f1;
140
+ }
141
+ </style>
142
+
143
+ ${styles}
144
+ ${scripts}
145
+ </head>
146
+ <body>
147
+ ${this._printEl.nativeElement.outerHTML}
148
+ </body>
149
+ </html>
150
+ `;
151
+ return html;
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintComponent, selector: "nzx-print", inputs: { printTitle: "printTitle", width: "width", height: "height", enablePreview: "enablePreview" }, queries: [{ propertyName: "_printEl", first: true, predicate: NzxPrintContentDirective, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
155
+ <ng-content select="[nzxPrintHeader]"></ng-content>
156
+ <div id="nzx-print-iframe-content"></div>
157
+ `, isInline: true, styles: ["#nzx-print-iframe-content iframe{background:#fff;border:1px solid #ccc}\n"] }); }
158
+ }
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, decorators: [{
160
+ type: Component,
161
+ args: [{ selector: 'nzx-print', template: `
162
+ <ng-content select="[nzxPrintHeader]"></ng-content>
163
+ <div id="nzx-print-iframe-content"></div>
164
+ `, styles: ["#nzx-print-iframe-content iframe{background:#fff;border:1px solid #ccc}\n"] }]
165
+ }], ctorParameters: () => [{ type: i1.Platform }, { type: Document, decorators: [{
166
+ type: Inject,
167
+ args: [DOCUMENT]
168
+ }] }], propDecorators: { printTitle: [{
169
+ type: Input
170
+ }], width: [{
171
+ type: Input
172
+ }], height: [{
173
+ type: Input
174
+ }], enablePreview: [{
175
+ type: Input
176
+ }], _printEl: [{
177
+ type: ContentChild,
178
+ args: [NzxPrintContentDirective, { read: ElementRef, static: true }]
179
+ }] } });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7a0dBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5Qjs7QUFHRDs7R0FFRztBQWtCSCxNQUFNLE9BQU8saUJBQWlCO0lBcUI1QixZQUNVLFFBQWtCLEVBQ0EsUUFBa0I7UUFEcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNBLGFBQVEsR0FBUixRQUFRLENBQVU7UUF0QnJDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDNUI7O1dBRUc7UUFDTSxVQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ1osV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBS3RCLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUU3QixlQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkUsQ0FBQyxDQUFDO1FBQ00sZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFj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QXVCbEIsUUFBUTtrR0F2QlAsaUJBQWlCLCtMQVNkLHdCQUF3QiwyQkFBVSxVQUFVLDJDQXhCaEQ7OztHQUdUOzsyRkFZVSxpQkFBaUI7a0JBakI3QixTQUFTOytCQUNFLFdBQVcsWUFDWDs7O0dBR1Q7OzBCQW1DRSxNQUFNOzJCQUFDLFFBQVE7eUNBdEJULFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdFLFFBQVE7c0JBRGYsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudFRhZyB9IGZyb20gJy4vdXRpbCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuenhQcmludENvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgTnp4UHJpbnRDb250ZW50RGlyZWN0aXZlIHt9XG5cbi8qKlxuICog5L2/55SoUGFnZWQuanPmiZPljbBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LXByaW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbnp4UHJpbnRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgaWQ9XCJuengtcHJpbnQtaWZyYW1lLWNvbnRlbnRcIj48L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgI256eC1wcmludC1pZnJhbWUtY29udGVudCB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnp4UHJpbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgcHJpbnRUaXRsZSA9ICdwZGYnO1xuICAvKipcbiAgICogYTQgNzk0cHgxMTIzcHhcbiAgICovXG4gIEBJbnB1dCgpIHdpZHRoID0gODE0O1xuICBASW5wdXQoKSBoZWlnaHQgPSAxMTQzO1xuICBASW5wdXQoKSBlbmFibGVQcmV2aWV3ID0gdHJ1ZTtcblxuICBAQ29udGVudENoaWxkKE56eFByaW50Q29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfcHJpbnRFbCE6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgaWZyYW1lRWwhOiBIVE1MSUZyYW1lRWxlbWVudDtcbiAgcHJpdmF0ZSBfdGl0bGUgPSB0aGlzLmRvY3VtZW50LnRpdGxlO1xuXG4gIHByaXZhdGUgYWZ0ZXJQcmludCA9ICgpID0+IHtcbiAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3chLnBhcmVudC5kb2N1bWVudC50aXRsZSA9IHRoaXMuX3RpdGxlO1xuICB9O1xuICBwcml2YXRlIGJlZm9yZVByaW50ID0gKCkgPT4ge1xuICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdyEucGFyZW50LmRvY3VtZW50LnRpdGxlID0gdGhpcy5wcmludFRpdGxlO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIGlmICh0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5mb2N1cygpO1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93LnByaW50KCk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ256eC1wcmludC1pZnJhbWUtY29udGVudCcpO1xuICAgIHRoaXMuaWZyYW1lRWwgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICAgIHRoaXMuaWZyYW1lRWwuaGVpZ2h0ID0gdGhpcy5oZWlnaHQgKyAnJztcbiAgICB0aGlzLmlmcmFtZUVsLndpZHRoID0gdGhpcy53aWR0aCArICcnO1xuICAgIGlmICghdGhpcy5lbmFibGVQcmV2aWV3KSB7XG4gICAgICB0aGlzLmlmcmFtZUVsLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIGlmICh0aGlzLnBsYXRmb3JtLkZJUkVGT1gpIHtcbiAgICAgICAgdGhpcy5pZnJhbWVFbC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAnd2lkdGg6IDFweDsgaGVpZ2h0OiAxMDBweDsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAwOyB0b3A6IDA7IG9wYWNpdHk6IDA7IGJvcmRlci13aWR0aDogMDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pZnJhbWVFbC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAndmlzaWJpbGl0eTogaGlkZGVuOyBoZWlnaHQ6IDA7IHdpZHRoOiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvcmRlcjogMCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICcnO1xuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuaWZyYW1lRWwpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cpIHtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5kb2N1bWVudC5vcGVuKCk7XG4gICAgICB0aGlzLmlmcmFtZUVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQud3JpdGUodGhpcy5nZXRUZW1wbGF0ZVN0cigpKTtcbiAgICAgIHRoaXMuaWZyYW1lRWwuY29udGVudFdpbmRvdy5kb2N1bWVudC5jbG9zZSgpO1xuICAgICAgLy8gY2hvcm1lIGJ1Z1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93Lm9uYmVmb3JlcHJpbnQgPSB0aGlzLmJlZm9yZVByaW50O1xuICAgICAgdGhpcy5pZnJhbWVFbC5jb250ZW50V2luZG93Lm9uYWZ0ZXJwcmludCA9IHRoaXMuYWZ0ZXJQcmludDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlU3RyKCkge1xuICAgIGNvbnN0IHN0eWxlcyA9IGdldEVsZW1lbnRUYWcoJ3N0eWxlJyk7XG5cbiAgICBjb25zdCBzY3JpcHRzID0gYFxuICAgICAgICA8c2NyaXB0IHNyYz1cImh0dHBzOi8vd2lua29uZy1mcm9udGVuZC5vc3MtY24tcWluZ2Rhby5hbGl5dW5jcy5jb20vamF2YXNjcmlwdC9wYWdlZC9wYWdlZC5wb2x5ZmlsbC5taW4uanNcIj48L3NjcmlwdD5cbiAgICAgICAgPHNjcmlwdD5cbiAgICAgICAgICBjbGFzcyBSZXBlYXRpbmdUYWJsZUhlYWRlcnMgZXh0ZW5kcyBQYWdlZC5IYW5kbGVyIHtcbiAgICAgICAgICAgIGNvbnN0cnVjdG9yKGNodW5rZXIsIHBvbGlzaGVyLCBjYWxsZXIpIHtcbiAgICAgICAgICAgICAgc3VwZXIoY2h1bmtlciwgcG9saXNoZXIsIGNhbGxlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFmdGVyUGFnZUxheW91dChwYWdlRWxlbWVudCwgcGFnZSwgYnJlYWtUb2tlbiwgY2h1bmtlcikge1xuICAgICAgICAgICAgICBsZXQgdGFibGVzID0gcGFnZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGFibGVbZGF0YS1zcGxpdC1mcm9tXScpO1xuICAgICAgICAgICAgICB0YWJsZXMuZm9yRWFjaCgodGFibGUpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmVmID0gdGFibGUuZGF0YXNldC5yZWY7XG4gICAgICAgICAgICAgICAgbGV0IHNvdXJjZVRhYmxlID0gY2h1bmtlci5zb3VyY2UucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICAgIFwiW2RhdGEtcmVmPSdcIiArIHJlZiArIFwiJ11cIlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgbGV0IGhlYWRlciA9IHNvdXJjZVRhYmxlLnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhlYWRlcikge1xuICAgICAgICAgICAgICAgICAgbGV0IGNsb25lZEhlYWRlciA9IGhlYWRlci5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB0YWJsZS5pbnNlcnRCZWZvcmUoY2xvbmVkSGVhZGVyLCB0YWJsZS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBQYWdlZC5yZWdpc3RlckhhbmRsZXJzKFJlcGVhdGluZ1RhYmxlSGVhZGVycyk7XG4gICAgICAgIDwvc2NyaXB0PlxuICAgICAgYDtcblxuICAgIGNvbnN0IGh0bWwgPSBgXG4gICAgICAgIDwhRE9DVFlQRSBodG1sPlxuICAgICAgICA8aHRtbD5cbiAgICAgICAgICA8aGVhZD5cbiAgICAgICAgICA8bWV0YSBjaGFyc2V0PVwidXRmLThcIiAvPlxuICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZX08L3RpdGxlPlxuICAgICAgICAgIDxiYXNlIGhyZWY9XCIvXCIgLz5cbiAgICAgICAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgICAgICAgIDxsaW5rXG4gICAgICAgICAgICByZWw9XCJwcmVjb25uZWN0XCJcbiAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3dpbmtvbmctZnJvbnRlbmQub3NzLWNuLXFpbmdkYW8uYWxpeXVuY3MuY29tXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzdHlsZT5cbiAgICAgICAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOnZlcnRpY2FsOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6dmVydGljYWw6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3N0eWxlPlxuXG4gICAgICAgICAgICAke3N0eWxlc31cbiAgICAgICAgICAgICR7c2NyaXB0c31cbiAgICAgICAgICA8L2hlYWQ+XG4gICAgICAgICAgPGJvZHk+XG4gICAgICAgICAgICAke3RoaXMuX3ByaW50RWwubmF0aXZlRWxlbWVudC5vdXRlckhUTUx9XG4gICAgICAgICAgPC9ib2R5PlxuICAgICAgICA8L2h0bWw+XG4gICAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,88 @@
1
+ import { Directive, HostListener, Input, } from '@angular/core';
2
+ import { getElementTag } from './util';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * 常规打印
6
+ */
7
+ export class NzxPrintDirective {
8
+ constructor() {
9
+ this.printTitle = 'pdf';
10
+ }
11
+ ngOnInit() {
12
+ if (!this.printEl) {
13
+ throw new Error('The "printEl" input is required for the nzxPrint directive.');
14
+ }
15
+ }
16
+ ngAfterViewInit() {
17
+ this.getElement();
18
+ }
19
+ print() {
20
+ const newWin = window.open('', '_blank');
21
+ if (newWin) {
22
+ const styles = getElementTag('style');
23
+ const links = getElementTag('link');
24
+ const baseTag = getElementTag('base');
25
+ const scripts = `
26
+ <script>
27
+ window.onload = function () {
28
+ window.print();
29
+ };
30
+ window.onafterprint = function () {
31
+ window.close();
32
+ };
33
+ </script>
34
+ `;
35
+ const html = `
36
+ <!DOCTYPE html>
37
+ <html>
38
+ <head>
39
+ <title>${this.printTitle}</title>
40
+ ${baseTag}
41
+ ${links}
42
+ ${styles}
43
+ ${scripts}
44
+ </head>
45
+ <body>
46
+ ${this._printEl.outerHTML}
47
+ </body>
48
+ </html>
49
+ `;
50
+ newWin.document.open();
51
+ newWin.document.write(html);
52
+ newWin.document.close();
53
+ }
54
+ }
55
+ getElement() {
56
+ if (typeof this.printEl === 'string') {
57
+ const el = document.querySelector(this.printEl);
58
+ if (el) {
59
+ this._printEl = el;
60
+ }
61
+ else {
62
+ throw new Error('printEl is not find');
63
+ }
64
+ }
65
+ else if (this.printEl instanceof HTMLElement) {
66
+ this._printEl = this.printEl;
67
+ }
68
+ else {
69
+ throw new Error('printEl is invalid');
70
+ }
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintDirective, selector: "button[nzxPrint]", inputs: { printEl: "printEl", printTitle: "printTitle" }, host: { listeners: { "click": "print()" } }, ngImport: i0 }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintDirective, decorators: [{
76
+ type: Directive,
77
+ args: [{
78
+ selector: 'button[nzxPrint]',
79
+ }]
80
+ }], propDecorators: { printEl: [{
81
+ type: Input
82
+ }], printTitle: [{
83
+ type: Input
84
+ }], print: [{
85
+ type: HostListener,
86
+ args: ['click']
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFFdkM7O0dBRUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBS1csZUFBVSxHQUF1QixLQUFLLENBQUM7S0FzRWpEO0lBbkVDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBR08sS0FBSztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdEMsTUFBTSxPQUFPLEdBQUc7Ozs7Ozs7OztPQVNmLENBQUM7WUFFRixNQUFNLElBQUksR0FBRzs7OztxQkFJRSxJQUFJLENBQUMsVUFBVTtjQUN0QixPQUFPO2NBQ1AsS0FBSztjQUNMLE1BQU07Y0FDTixPQUFPOzs7Y0FHUCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7OztPQUc5QixDQUFDO1lBQ0YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxHQUF1QixRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRSxJQUFJLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQzthQUNwQjtpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDeEM7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzlCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzhHQXZFVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs4QkFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFnQkUsS0FBSztzQkFEWixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRFbGVtZW50VGFnIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiDluLjop4TmiZPljbBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW256eFByaW50XScsXG59KVxuZXhwb3J0IGNsYXNzIE56eFByaW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgcHJpbnRFbDogSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHByaW50VGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICdwZGYnO1xuICBwcml2YXRlIF9wcmludEVsITogSFRNTEVsZW1lbnQ7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByaW50RWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBcInByaW50RWxcIiBpbnB1dCBpcyByZXF1aXJlZCBmb3IgdGhlIG56eFByaW50IGRpcmVjdGl2ZS4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldEVsZW1lbnQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHJpdmF0ZSBwcmludCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdXaW4gPSB3aW5kb3cub3BlbignJywgJ19ibGFuaycpO1xuXG4gICAgaWYgKG5ld1dpbikge1xuICAgICAgY29uc3Qgc3R5bGVzID0gZ2V0RWxlbWVudFRhZygnc3R5bGUnKTtcbiAgICAgIGNvbnN0IGxpbmtzID0gZ2V0RWxlbWVudFRhZygnbGluaycpO1xuICAgICAgY29uc3QgYmFzZVRhZyA9IGdldEVsZW1lbnRUYWcoJ2Jhc2UnKTtcblxuICAgICAgY29uc3Qgc2NyaXB0cyA9IGBcbiAgICAgIDxzY3JpcHQ+XG4gICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2luZG93LnByaW50KCk7XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5vbmFmdGVycHJpbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2luZG93LmNsb3NlKCk7XG4gICAgICAgIH07XG4gICAgICA8L3NjcmlwdD5cbiAgICAgIGA7XG5cbiAgICAgIGNvbnN0IGh0bWwgPSBgXG4gICAgICA8IURPQ1RZUEUgaHRtbD5cbiAgICAgICAgPGh0bWw+XG4gICAgICAgICAgPGhlYWQ+XG4gICAgICAgICAgICA8dGl0bGU+JHt0aGlzLnByaW50VGl0bGV9PC90aXRsZT5cbiAgICAgICAgICAgICR7YmFzZVRhZ31cbiAgICAgICAgICAgICR7bGlua3N9XG4gICAgICAgICAgICAke3N0eWxlc31cbiAgICAgICAgICAgICR7c2NyaXB0c31cbiAgICAgICAgICA8L2hlYWQ+XG4gICAgICAgICAgPGJvZHk+XG4gICAgICAgICAgICAke3RoaXMuX3ByaW50RWwub3V0ZXJIVE1MfVxuICAgICAgICAgIDwvYm9keT5cbiAgICAgICAgPC9odG1sPlxuICAgICAgYDtcbiAgICAgIG5ld1dpbi5kb2N1bWVudC5vcGVuKCk7XG4gICAgICBuZXdXaW4uZG9jdW1lbnQud3JpdGUoaHRtbCk7XG4gICAgICBuZXdXaW4uZG9jdW1lbnQuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnByaW50RWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBlbDogSFRNTEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnByaW50RWwpO1xuICAgICAgaWYgKGVsKSB7XG4gICAgICAgIHRoaXMuX3ByaW50RWwgPSBlbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncHJpbnRFbCBpcyBub3QgZmluZCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcmludEVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3ByaW50RWwgPSB0aGlzLnByaW50RWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncHJpbnRFbCBpcyBpbnZhbGlkJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NzxPrintComponent, NzxPrintContentDirective, } from './nzx-print.component';
4
+ import { NzxPrintDirective } from './nzx-print.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class NzxPrintModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, declarations: [NzxPrintComponent,
9
+ NzxPrintContentDirective,
10
+ NzxPrintDirective], imports: [CommonModule], exports: [NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, imports: [CommonModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ NzxPrintComponent,
18
+ NzxPrintContentDirective,
19
+ NzxPrintDirective,
20
+ ],
21
+ imports: [CommonModule],
22
+ exports: [NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective],
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXByaW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvbnp4LXByaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHdCQUF3QixHQUN6QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVcxRCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBUHZCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsaUJBQWlCLGFBRVQsWUFBWSxhQUNaLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGlCQUFpQjsrR0FFN0QsY0FBYyxZQUhmLFlBQVk7OzJGQUdYLGNBQWM7a0JBVDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUM7aUJBQzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOenhQcmludENvbXBvbmVudCxcbiAgTnp4UHJpbnRDb250ZW50RGlyZWN0aXZlLFxufSBmcm9tICcuL256eC1wcmludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnp4UHJpbnREaXJlY3RpdmUgfSBmcm9tICcuL256eC1wcmludC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOenhQcmludENvbXBvbmVudCxcbiAgICBOenhQcmludENvbnRlbnREaXJlY3RpdmUsXG4gICAgTnp4UHJpbnREaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTnp4UHJpbnRDb21wb25lbnQsIE56eFByaW50Q29udGVudERpcmVjdGl2ZSwgTnp4UHJpbnREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOenhQcmludE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Use of this source code is governed by an MIT-style license that can be
3
+ * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
4
+ */
5
+ export * from './nzx-print.component';
6
+ export * from './nzx-print.directive';
7
+ export * from './nzx-print.module';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5leHBvcnQgKiBmcm9tICcuL256eC1wcmludC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9uengtcHJpbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbnp4LXByaW50Lm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export function getElementTag(tag) {
2
+ const html = [];
3
+ const elements = document.getElementsByTagName(tag);
4
+ for (let index = 0; index < elements.length; index++) {
5
+ html.push(elements[index].outerHTML);
6
+ }
7
+ return html.join('\r\n');
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvcHJpbnQvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQWdDO0lBQzVELE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUMxQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDdEM7SUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50VGFnKHRhZzoga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwKTogc3RyaW5nIHtcbiAgY29uc3QgaHRtbDogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZWxlbWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgaHRtbC5wdXNoKGVsZW1lbnRzW2luZGV4XS5vdXRlckhUTUwpO1xuICB9XG4gIHJldHVybiBodG1sLmpvaW4oJ1xcclxcbicpO1xufVxuIl19
@@ -0,0 +1,305 @@
1
+ import { DOCUMENT, CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Directive, ElementRef, Component, Inject, Input, ContentChild, HostListener, NgModule } from '@angular/core';
4
+ import * as i1 from '@angular/cdk/platform';
5
+
6
+ function getElementTag(tag) {
7
+ const html = [];
8
+ const elements = document.getElementsByTagName(tag);
9
+ for (let index = 0; index < elements.length; index++) {
10
+ html.push(elements[index].outerHTML);
11
+ }
12
+ return html.join('\r\n');
13
+ }
14
+
15
+ class NzxPrintContentDirective {
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintContentDirective, selector: "[nzxPrintContent]", ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintContentDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[nzxPrintContent]',
23
+ }]
24
+ }] });
25
+ /**
26
+ * 使用Paged.js打印
27
+ */
28
+ class NzxPrintComponent {
29
+ constructor(platform, document) {
30
+ this.platform = platform;
31
+ this.document = document;
32
+ this.printTitle = 'pdf';
33
+ /**
34
+ * a4 794px1123px
35
+ */
36
+ this.width = 814;
37
+ this.height = 1143;
38
+ this.enablePreview = true;
39
+ this._title = this.document.title;
40
+ this.afterPrint = () => {
41
+ this.iframeEl.contentWindow.parent.document.title = this._title;
42
+ };
43
+ this.beforePrint = () => {
44
+ this.iframeEl.contentWindow.parent.document.title = this.printTitle;
45
+ };
46
+ }
47
+ ngAfterViewInit() {
48
+ this.render();
49
+ }
50
+ print() {
51
+ if (this.iframeEl.contentWindow) {
52
+ this.iframeEl.contentWindow.focus();
53
+ this.iframeEl.contentWindow.print();
54
+ }
55
+ }
56
+ refresh() {
57
+ setTimeout(() => {
58
+ this.render();
59
+ }, 100);
60
+ }
61
+ render() {
62
+ const container = this.document.getElementById('nzx-print-iframe-content');
63
+ this.iframeEl = this.document.createElement('iframe');
64
+ this.iframeEl.height = this.height + '';
65
+ this.iframeEl.width = this.width + '';
66
+ if (!this.enablePreview) {
67
+ this.iframeEl.style.visibility = 'hidden';
68
+ if (this.platform.FIREFOX) {
69
+ this.iframeEl.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');
70
+ }
71
+ else {
72
+ this.iframeEl.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');
73
+ }
74
+ }
75
+ if (container) {
76
+ container.innerHTML = '';
77
+ container.appendChild(this.iframeEl);
78
+ }
79
+ if (this.iframeEl.contentWindow) {
80
+ this.iframeEl.contentWindow.document.open();
81
+ this.iframeEl.contentWindow.document.write(this.getTemplateStr());
82
+ this.iframeEl.contentWindow.document.close();
83
+ // chorme bug
84
+ this.iframeEl.contentWindow.onbeforeprint = this.beforePrint;
85
+ this.iframeEl.contentWindow.onafterprint = this.afterPrint;
86
+ }
87
+ }
88
+ getTemplateStr() {
89
+ const styles = getElementTag('style');
90
+ const scripts = `
91
+ <script src="https://winkong-frontend.oss-cn-qingdao.aliyuncs.com/javascript/paged/paged.polyfill.min.js"></script>
92
+ <script>
93
+ class RepeatingTableHeaders extends Paged.Handler {
94
+ constructor(chunker, polisher, caller) {
95
+ super(chunker, polisher, caller);
96
+ }
97
+
98
+ afterPageLayout(pageElement, page, breakToken, chunker) {
99
+ let tables = pageElement.querySelectorAll('table[data-split-from]');
100
+ tables.forEach((table) => {
101
+ let ref = table.dataset.ref;
102
+ let sourceTable = chunker.source.querySelector(
103
+ "[data-ref='" + ref + "']"
104
+ );
105
+ let header = sourceTable.querySelector('thead');
106
+ if (header) {
107
+ let clonedHeader = header.cloneNode(true);
108
+ table.insertBefore(clonedHeader, table.firstChild);
109
+ }
110
+ });
111
+ }
112
+ }
113
+ Paged.registerHandlers(RepeatingTableHeaders);
114
+ </script>
115
+ `;
116
+ const html = `
117
+ <!DOCTYPE html>
118
+ <html>
119
+ <head>
120
+ <meta charset="utf-8" />
121
+ <title>${this.printTitle}</title>
122
+ <base href="/" />
123
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
124
+ <link
125
+ rel="preconnect"
126
+ href="https://winkong-frontend.oss-cn-qingdao.aliyuncs.com"
127
+ />
128
+ <style>
129
+ ::-webkit-scrollbar {
130
+ width: 5px;
131
+ height: 5px;
132
+ }
133
+ ::-webkit-scrollbar-thumb {
134
+ background-color: #999;
135
+ -webkit-border-radius: 5px;
136
+ border-radius: 5px;
137
+ }
138
+ ::-webkit-scrollbar-thumb:vertical:hover {
139
+ background-color: #666;
140
+ }
141
+ ::-webkit-scrollbar-thumb:vertical:active {
142
+ background-color: #666;
143
+ }
144
+ ::-webkit-scrollbar-button {
145
+ display: none;
146
+ }
147
+ ::-webkit-scrollbar-track {
148
+ background-color: #f1f1f1;
149
+ }
150
+ </style>
151
+
152
+ ${styles}
153
+ ${scripts}
154
+ </head>
155
+ <body>
156
+ ${this._printEl.nativeElement.outerHTML}
157
+ </body>
158
+ </html>
159
+ `;
160
+ return html;
161
+ }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintComponent, selector: "nzx-print", inputs: { printTitle: "printTitle", width: "width", height: "height", enablePreview: "enablePreview" }, queries: [{ propertyName: "_printEl", first: true, predicate: NzxPrintContentDirective, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
164
+ <ng-content select="[nzxPrintHeader]"></ng-content>
165
+ <div id="nzx-print-iframe-content"></div>
166
+ `, isInline: true, styles: ["#nzx-print-iframe-content iframe{background:#fff;border:1px solid #ccc}\n"] }); }
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintComponent, decorators: [{
169
+ type: Component,
170
+ args: [{ selector: 'nzx-print', template: `
171
+ <ng-content select="[nzxPrintHeader]"></ng-content>
172
+ <div id="nzx-print-iframe-content"></div>
173
+ `, styles: ["#nzx-print-iframe-content iframe{background:#fff;border:1px solid #ccc}\n"] }]
174
+ }], ctorParameters: () => [{ type: i1.Platform }, { type: Document, decorators: [{
175
+ type: Inject,
176
+ args: [DOCUMENT]
177
+ }] }], propDecorators: { printTitle: [{
178
+ type: Input
179
+ }], width: [{
180
+ type: Input
181
+ }], height: [{
182
+ type: Input
183
+ }], enablePreview: [{
184
+ type: Input
185
+ }], _printEl: [{
186
+ type: ContentChild,
187
+ args: [NzxPrintContentDirective, { read: ElementRef, static: true }]
188
+ }] } });
189
+
190
+ /**
191
+ * 常规打印
192
+ */
193
+ class NzxPrintDirective {
194
+ constructor() {
195
+ this.printTitle = 'pdf';
196
+ }
197
+ ngOnInit() {
198
+ if (!this.printEl) {
199
+ throw new Error('The "printEl" input is required for the nzxPrint directive.');
200
+ }
201
+ }
202
+ ngAfterViewInit() {
203
+ this.getElement();
204
+ }
205
+ print() {
206
+ const newWin = window.open('', '_blank');
207
+ if (newWin) {
208
+ const styles = getElementTag('style');
209
+ const links = getElementTag('link');
210
+ const baseTag = getElementTag('base');
211
+ const scripts = `
212
+ <script>
213
+ window.onload = function () {
214
+ window.print();
215
+ };
216
+ window.onafterprint = function () {
217
+ window.close();
218
+ };
219
+ </script>
220
+ `;
221
+ const html = `
222
+ <!DOCTYPE html>
223
+ <html>
224
+ <head>
225
+ <title>${this.printTitle}</title>
226
+ ${baseTag}
227
+ ${links}
228
+ ${styles}
229
+ ${scripts}
230
+ </head>
231
+ <body>
232
+ ${this._printEl.outerHTML}
233
+ </body>
234
+ </html>
235
+ `;
236
+ newWin.document.open();
237
+ newWin.document.write(html);
238
+ newWin.document.close();
239
+ }
240
+ }
241
+ getElement() {
242
+ if (typeof this.printEl === 'string') {
243
+ const el = document.querySelector(this.printEl);
244
+ if (el) {
245
+ this._printEl = el;
246
+ }
247
+ else {
248
+ throw new Error('printEl is not find');
249
+ }
250
+ }
251
+ else if (this.printEl instanceof HTMLElement) {
252
+ this._printEl = this.printEl;
253
+ }
254
+ else {
255
+ throw new Error('printEl is invalid');
256
+ }
257
+ }
258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
259
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: NzxPrintDirective, selector: "button[nzxPrint]", inputs: { printEl: "printEl", printTitle: "printTitle" }, host: { listeners: { "click": "print()" } }, ngImport: i0 }); }
260
+ }
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintDirective, decorators: [{
262
+ type: Directive,
263
+ args: [{
264
+ selector: 'button[nzxPrint]',
265
+ }]
266
+ }], propDecorators: { printEl: [{
267
+ type: Input
268
+ }], printTitle: [{
269
+ type: Input
270
+ }], print: [{
271
+ type: HostListener,
272
+ args: ['click']
273
+ }] } });
274
+
275
+ class NzxPrintModule {
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
277
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, declarations: [NzxPrintComponent,
278
+ NzxPrintContentDirective,
279
+ NzxPrintDirective], imports: [CommonModule], exports: [NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective] }); }
280
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, imports: [CommonModule] }); }
281
+ }
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NzxPrintModule, decorators: [{
283
+ type: NgModule,
284
+ args: [{
285
+ declarations: [
286
+ NzxPrintComponent,
287
+ NzxPrintContentDirective,
288
+ NzxPrintDirective,
289
+ ],
290
+ imports: [CommonModule],
291
+ exports: [NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective],
292
+ }]
293
+ }] });
294
+
295
+ /**
296
+ * Use of this source code is governed by an MIT-style license that can be
297
+ * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
298
+ */
299
+
300
+ /**
301
+ * Generated bundle index. Do not edit.
302
+ */
303
+
304
+ export { NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective, NzxPrintModule };
305
+ //# sourceMappingURL=ng-zorro-antd-extension-print.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-zorro-antd-extension-print.mjs","sources":["../../../components/print/util.ts","../../../components/print/nzx-print.component.ts","../../../components/print/nzx-print.directive.ts","../../../components/print/nzx-print.module.ts","../../../components/print/public-api.ts","../../../components/print/ng-zorro-antd-extension-print.ts"],"sourcesContent":["export function getElementTag(tag: keyof HTMLElementTagNameMap): string {\n const html: string[] = [];\n const elements = document.getElementsByTagName(tag);\n for (let index = 0; index < elements.length; index++) {\n html.push(elements[index].outerHTML);\n }\n return html.join('\\r\\n');\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Inject,\n Input,\n} from '@angular/core';\nimport { getElementTag } from './util';\n\n@Directive({\n selector: '[nzxPrintContent]',\n})\nexport class NzxPrintContentDirective {}\n\n/**\n * 使用Paged.js打印\n */\n@Component({\n selector: 'nzx-print',\n template: `\n <ng-content select=\"[nzxPrintHeader]\"></ng-content>\n <div id=\"nzx-print-iframe-content\"></div>\n `,\n styles: [\n `\n #nzx-print-iframe-content {\n iframe {\n background: #fff;\n border: 1px solid #ccc;\n }\n }\n `,\n ],\n})\nexport class NzxPrintComponent implements AfterViewInit {\n @Input() printTitle = 'pdf';\n /**\n * a4 794px1123px\n */\n @Input() width = 814;\n @Input() height = 1143;\n @Input() enablePreview = true;\n\n @ContentChild(NzxPrintContentDirective, { read: ElementRef, static: true })\n private _printEl!: ElementRef;\n private iframeEl!: HTMLIFrameElement;\n private _title = this.document.title;\n\n private afterPrint = () => {\n this.iframeEl.contentWindow!.parent.document.title = this._title;\n };\n private beforePrint = () => {\n this.iframeEl.contentWindow!.parent.document.title = this.printTitle;\n };\n\n constructor(\n private platform: Platform,\n @Inject(DOCUMENT) private document: Document\n ) {}\n\n ngAfterViewInit(): void {\n this.render();\n }\n\n print() {\n if (this.iframeEl.contentWindow) {\n this.iframeEl.contentWindow.focus();\n this.iframeEl.contentWindow.print();\n }\n }\n\n refresh() {\n setTimeout(() => {\n this.render();\n }, 100);\n }\n\n private render() {\n const container = this.document.getElementById('nzx-print-iframe-content');\n this.iframeEl = this.document.createElement('iframe');\n this.iframeEl.height = this.height + '';\n this.iframeEl.width = this.width + '';\n if (!this.enablePreview) {\n this.iframeEl.style.visibility = 'hidden';\n if (this.platform.FIREFOX) {\n this.iframeEl.setAttribute(\n 'style',\n 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0'\n );\n } else {\n this.iframeEl.setAttribute(\n 'style',\n 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0'\n );\n }\n }\n if (container) {\n container.innerHTML = '';\n container.appendChild(this.iframeEl);\n }\n\n if (this.iframeEl.contentWindow) {\n this.iframeEl.contentWindow.document.open();\n this.iframeEl.contentWindow.document.write(this.getTemplateStr());\n this.iframeEl.contentWindow.document.close();\n // chorme bug\n this.iframeEl.contentWindow.onbeforeprint = this.beforePrint;\n this.iframeEl.contentWindow.onafterprint = this.afterPrint;\n }\n }\n\n private getTemplateStr() {\n const styles = getElementTag('style');\n\n const scripts = `\n <script src=\"https://winkong-frontend.oss-cn-qingdao.aliyuncs.com/javascript/paged/paged.polyfill.min.js\"></script>\n <script>\n class RepeatingTableHeaders extends Paged.Handler {\n constructor(chunker, polisher, caller) {\n super(chunker, polisher, caller);\n }\n\n afterPageLayout(pageElement, page, breakToken, chunker) {\n let tables = pageElement.querySelectorAll('table[data-split-from]');\n tables.forEach((table) => {\n let ref = table.dataset.ref;\n let sourceTable = chunker.source.querySelector(\n \"[data-ref='\" + ref + \"']\"\n );\n let header = sourceTable.querySelector('thead');\n if (header) {\n let clonedHeader = header.cloneNode(true);\n table.insertBefore(clonedHeader, table.firstChild);\n }\n });\n }\n }\n Paged.registerHandlers(RepeatingTableHeaders);\n </script>\n `;\n\n const html = `\n <!DOCTYPE html>\n <html>\n <head>\n <meta charset=\"utf-8\" />\n <title>${this.printTitle}</title>\n <base href=\"/\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <link\n rel=\"preconnect\"\n href=\"https://winkong-frontend.oss-cn-qingdao.aliyuncs.com\"\n />\n <style>\n ::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: #999;\n -webkit-border-radius: 5px;\n border-radius: 5px;\n }\n ::-webkit-scrollbar-thumb:vertical:hover {\n background-color: #666;\n }\n ::-webkit-scrollbar-thumb:vertical:active {\n background-color: #666;\n }\n ::-webkit-scrollbar-button {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background-color: #f1f1f1;\n }\n </style>\n\n ${styles}\n ${scripts}\n </head>\n <body>\n ${this._printEl.nativeElement.outerHTML}\n </body>\n </html>\n `;\n\n return html;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n HostListener,\n Input,\n OnInit,\n} from '@angular/core';\nimport { getElementTag } from './util';\n\n/**\n * 常规打印\n */\n@Directive({\n selector: 'button[nzxPrint]',\n})\nexport class NzxPrintDirective implements OnInit, AfterViewInit {\n @Input() printEl: HTMLElement | string | undefined;\n @Input() printTitle: string | undefined = 'pdf';\n private _printEl!: HTMLElement;\n\n ngOnInit(): void {\n if (!this.printEl) {\n throw new Error(\n 'The \"printEl\" input is required for the nzxPrint directive.'\n );\n }\n }\n\n ngAfterViewInit(): void {\n this.getElement();\n }\n\n @HostListener('click')\n private print(): void {\n const newWin = window.open('', '_blank');\n\n if (newWin) {\n const styles = getElementTag('style');\n const links = getElementTag('link');\n const baseTag = getElementTag('base');\n\n const scripts = `\n <script>\n window.onload = function () {\n window.print();\n };\n window.onafterprint = function () {\n window.close();\n };\n </script>\n `;\n\n const html = `\n <!DOCTYPE html>\n <html>\n <head>\n <title>${this.printTitle}</title>\n ${baseTag}\n ${links}\n ${styles}\n ${scripts}\n </head>\n <body>\n ${this._printEl.outerHTML}\n </body>\n </html>\n `;\n newWin.document.open();\n newWin.document.write(html);\n newWin.document.close();\n }\n }\n\n private getElement(): void {\n if (typeof this.printEl === 'string') {\n const el: HTMLElement | null = document.querySelector(this.printEl);\n if (el) {\n this._printEl = el;\n } else {\n throw new Error('printEl is not find');\n }\n } else if (this.printEl instanceof HTMLElement) {\n this._printEl = this.printEl;\n } else {\n throw new Error('printEl is invalid');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport {\n NzxPrintComponent,\n NzxPrintContentDirective,\n} from './nzx-print.component';\nimport { NzxPrintDirective } from './nzx-print.directive';\n\n@NgModule({\n declarations: [\n NzxPrintComponent,\n NzxPrintContentDirective,\n NzxPrintDirective,\n ],\n imports: [CommonModule],\n exports: [NzxPrintComponent, NzxPrintContentDirective, NzxPrintDirective],\n})\nexport class NzxPrintModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nexport * from './nzx-print.component';\nexport * from './nzx-print.directive';\nexport * from './nzx-print.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-zorro-antd-extension",
3
- "version": "17.0.2",
3
+ "version": "17.1.0",
4
4
  "license": "MIT",
5
5
  "description": "An extension based on ng-zorro-antd",
6
6
  "keywords": [
@@ -57,18 +57,18 @@
57
57
  "esm": "./esm2022/blank-field/ng-zorro-antd-extension-blank-field.mjs",
58
58
  "default": "./fesm2022/ng-zorro-antd-extension-blank-field.mjs"
59
59
  },
60
- "./checkbox": {
61
- "types": "./checkbox/index.d.ts",
62
- "esm2022": "./esm2022/checkbox/ng-zorro-antd-extension-checkbox.mjs",
63
- "esm": "./esm2022/checkbox/ng-zorro-antd-extension-checkbox.mjs",
64
- "default": "./fesm2022/ng-zorro-antd-extension-checkbox.mjs"
65
- },
66
60
  "./configurable-query": {
67
61
  "types": "./configurable-query/index.d.ts",
68
62
  "esm2022": "./esm2022/configurable-query/ng-zorro-antd-extension-configurable-query.mjs",
69
63
  "esm": "./esm2022/configurable-query/ng-zorro-antd-extension-configurable-query.mjs",
70
64
  "default": "./fesm2022/ng-zorro-antd-extension-configurable-query.mjs"
71
65
  },
66
+ "./checkbox": {
67
+ "types": "./checkbox/index.d.ts",
68
+ "esm2022": "./esm2022/checkbox/ng-zorro-antd-extension-checkbox.mjs",
69
+ "esm": "./esm2022/checkbox/ng-zorro-antd-extension-checkbox.mjs",
70
+ "default": "./fesm2022/ng-zorro-antd-extension-checkbox.mjs"
71
+ },
72
72
  "./editable": {
73
73
  "types": "./editable/index.d.ts",
74
74
  "esm2022": "./esm2022/editable/ng-zorro-antd-extension-editable.mjs",
@@ -93,6 +93,12 @@
93
93
  "esm": "./esm2022/pipes/ng-zorro-antd-extension-pipes.mjs",
94
94
  "default": "./fesm2022/ng-zorro-antd-extension-pipes.mjs"
95
95
  },
96
+ "./print": {
97
+ "types": "./print/index.d.ts",
98
+ "esm2022": "./esm2022/print/ng-zorro-antd-extension-print.mjs",
99
+ "esm": "./esm2022/print/ng-zorro-antd-extension-print.mjs",
100
+ "default": "./fesm2022/ng-zorro-antd-extension-print.mjs"
101
+ },
96
102
  "./simple-table": {
97
103
  "types": "./simple-table/index.d.ts",
98
104
  "esm2022": "./esm2022/simple-table/ng-zorro-antd-extension-simple-table.mjs",
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="ng-zorro-antd-extension/print" />
5
+ export * from './public-api';
@@ -0,0 +1,34 @@
1
+ import { Platform } from '@angular/cdk/platform';
2
+ import { AfterViewInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NzxPrintContentDirective {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NzxPrintContentDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NzxPrintContentDirective, "[nzxPrintContent]", never, {}, {}, never, never, false, never>;
7
+ }
8
+ /**
9
+ * 使用Paged.js打印
10
+ */
11
+ export declare class NzxPrintComponent implements AfterViewInit {
12
+ private platform;
13
+ private document;
14
+ printTitle: string;
15
+ /**
16
+ * a4 794px1123px
17
+ */
18
+ width: number;
19
+ height: number;
20
+ enablePreview: boolean;
21
+ private _printEl;
22
+ private iframeEl;
23
+ private _title;
24
+ private afterPrint;
25
+ private beforePrint;
26
+ constructor(platform: Platform, document: Document);
27
+ ngAfterViewInit(): void;
28
+ print(): void;
29
+ refresh(): void;
30
+ private render;
31
+ private getTemplateStr;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<NzxPrintComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<NzxPrintComponent, "nzx-print", never, { "printTitle": { "alias": "printTitle"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "enablePreview": { "alias": "enablePreview"; "required": false; }; }, {}, ["_printEl"], ["[nzxPrintHeader]"], false, never>;
34
+ }
@@ -0,0 +1,16 @@
1
+ import { AfterViewInit, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * 常规打印
5
+ */
6
+ export declare class NzxPrintDirective implements OnInit, AfterViewInit {
7
+ printEl: HTMLElement | string | undefined;
8
+ printTitle: string | undefined;
9
+ private _printEl;
10
+ ngOnInit(): void;
11
+ ngAfterViewInit(): void;
12
+ private print;
13
+ private getElement;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<NzxPrintDirective, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NzxPrintDirective, "button[nzxPrint]", never, { "printEl": { "alias": "printEl"; "required": false; }; "printTitle": { "alias": "printTitle"; "required": false; }; }, {}, never, never, false, never>;
16
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./nzx-print.component";
3
+ import * as i2 from "./nzx-print.directive";
4
+ import * as i3 from "@angular/common";
5
+ export declare class NzxPrintModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NzxPrintModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NzxPrintModule, [typeof i1.NzxPrintComponent, typeof i1.NzxPrintContentDirective, typeof i2.NzxPrintDirective], [typeof i3.CommonModule], [typeof i1.NzxPrintComponent, typeof i1.NzxPrintContentDirective, typeof i2.NzxPrintDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<NzxPrintModule>;
9
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Use of this source code is governed by an MIT-style license that can be
3
+ * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
4
+ */
5
+ export * from './nzx-print.component';
6
+ export * from './nzx-print.directive';
7
+ export * from './nzx-print.module';
@@ -0,0 +1 @@
1
+ export declare function getElementTag(tag: keyof HTMLElementTagNameMap): string;