ngx-print 1.3.0 → 1.4.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.
package/README.md CHANGED
@@ -8,6 +8,7 @@ This directive makes printing your HTML sections smooth and easy in your Angular
8
8
  | ------------ | ------------ |
9
9
  | 1.2.1 | 7.0.0 - 14.1.0 |
10
10
  | 1.3.x | 15.0.0 |
11
+ | 1.4.x | 16.0.0 |
11
12
  ## Setup
12
13
 
13
14
  **1-** In your root application folder run:
@@ -150,6 +151,40 @@ Here some simple styles were added to every `h1` & `h2` tags within the `div` wh
150
151
  printSectionId="print-section"
151
152
  ngxPrint>print</button>
152
153
 
154
+ ```
155
+
156
+ - Some print operations open a second dialog, and automatically closing the popup window happens before the second dialog opens. Set `closeWindow` to false to handle print operations that open a second dialog, like "Microsoft Print to PDF", or "Print using system dialog...":
157
+
158
+ ```html
159
+
160
+ <div id="print-section">
161
+
162
+ <!-- ... -->
163
+
164
+ </div>
165
+
166
+ <button
167
+ [closeWindow]="false"
168
+ printSectionId="print-section"
169
+ ngxPrint>print</button>
170
+
171
+ ```
172
+
173
+ - Set `bodyClass` to whatever class values are needed for some of your css rules that expect an ancestor to have a certain class. For example, a theme selector:
174
+
175
+ ```html
176
+
177
+ <div id="print-section">
178
+
179
+ <!-- ... -->
180
+
181
+ </div>
182
+
183
+ <button
184
+ [bodyClass]="theme-dark"
185
+ printSectionId="print-section"
186
+ ngxPrint>print</button>
187
+
153
188
  ```
154
189
  ## Contributors :1st_place_medal:
155
190
 
@@ -0,0 +1,236 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgxPrintDirective {
4
+ _printStyle = [];
5
+ /**
6
+ * Prevents the print dialog from opening on the window
7
+ *
8
+ * @memberof NgxPrintDirective
9
+ */
10
+ previewOnly = false;
11
+ /**
12
+ *
13
+ *
14
+ * @memberof NgxPrintDirective
15
+ */
16
+ printSectionId;
17
+ /**
18
+ *
19
+ *
20
+ * @memberof NgxPrintDirective
21
+ */
22
+ printTitle;
23
+ /**
24
+ *
25
+ *
26
+ * @memberof NgxPrintDirective
27
+ */
28
+ useExistingCss = false;
29
+ /**
30
+ * A delay in milliseconds to force the print dialog to wait before opened. Default: 0
31
+ *
32
+ * @memberof NgxPrintDirective
33
+ */
34
+ printDelay = 0;
35
+ /**
36
+ * Whether to close the window after print() returns.
37
+ *
38
+ */
39
+ closeWindow = true;
40
+ /**
41
+ * Class attribute to apply to the body element.
42
+ *
43
+ */
44
+ bodyClass = '';
45
+ /**
46
+ *
47
+ *
48
+ * @memberof NgxPrintDirective
49
+ */
50
+ set printStyle(values) {
51
+ for (let key in values) {
52
+ if (values.hasOwnProperty(key)) {
53
+ this._printStyle.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
54
+ }
55
+ }
56
+ this.returnStyleValues();
57
+ }
58
+ /**
59
+ *
60
+ *
61
+ * @returns the string that create the stylesheet which will be injected
62
+ * later within <style></style> tag.
63
+ *
64
+ * -join/replace to transform an array objects to css-styled string
65
+ *
66
+ * @memberof NgxPrintDirective
67
+ */
68
+ returnStyleValues() {
69
+ return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;
70
+ }
71
+ /**
72
+ *
73
+ *
74
+ * @returns html for the given tag
75
+ *
76
+ * @memberof NgxPrintDirective
77
+ */
78
+ _styleSheetFile = '';
79
+ /**
80
+ * @memberof NgxPrintDirective
81
+ * @param cssList
82
+ */
83
+ set styleSheetFile(cssList) {
84
+ let linkTagFn = function (cssFileName) {
85
+ return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
86
+ };
87
+ if (cssList.indexOf(',') !== -1) {
88
+ const valueArr = cssList.split(',');
89
+ for (let val of valueArr) {
90
+ this._styleSheetFile = this._styleSheetFile + linkTagFn(val);
91
+ }
92
+ }
93
+ else {
94
+ this._styleSheetFile = linkTagFn(cssList);
95
+ }
96
+ }
97
+ /**
98
+ * @returns string which contains the link tags containing the css which will
99
+ * be injected later within <head></head> tag.
100
+ *
101
+ */
102
+ returnStyleSheetLinkTags() {
103
+ return this._styleSheetFile;
104
+ }
105
+ getElementTag(tag) {
106
+ const html = [];
107
+ const elements = document.getElementsByTagName(tag);
108
+ for (let index = 0; index < elements.length; index++) {
109
+ html.push(elements[index].outerHTML);
110
+ }
111
+ return html.join('\r\n');
112
+ }
113
+ /**
114
+ *
115
+ * @description When printing, the default option of form elements are printed.
116
+ * Here we update what that default is to print the current values.
117
+ *
118
+ * @param elements the html element collection to save defaults to
119
+ *
120
+ */
121
+ updateInputDefaults(elements) {
122
+ for (let i = 0; i < elements.length; i++) {
123
+ const element = elements[i];
124
+ element['defaultValue'] = element.value;
125
+ if (element['checked'])
126
+ element['defaultChecked'] = true;
127
+ }
128
+ }
129
+ updateSelectDefaults(elements) {
130
+ for (let i = 0; i < elements.length; i++) {
131
+ const element = elements[i];
132
+ const selectedIdx = element.selectedIndex;
133
+ const selectedOption = element.options[selectedIdx];
134
+ selectedOption.defaultSelected = true;
135
+ }
136
+ }
137
+ updateTextAreaDefaults(elements) {
138
+ for (let i = 0; i < elements.length; i++) {
139
+ const element = elements[i];
140
+ element['defaultValue'] = element.value;
141
+ }
142
+ }
143
+ /**
144
+ * @description Retrieves the html contents of the print section id.
145
+ * Updates the html elements to default their form values to the current form values
146
+ *
147
+ * @returns {string | null} html section to be printed
148
+ *
149
+ */
150
+ getHtmlContents() {
151
+ const printContents = document.getElementById(this.printSectionId);
152
+ if (!printContents)
153
+ return null;
154
+ const inputEls = printContents.getElementsByTagName('input');
155
+ const selectEls = printContents.getElementsByTagName('select');
156
+ const textAreaEls = printContents.getElementsByTagName('textarea');
157
+ this.updateInputDefaults(inputEls);
158
+ this.updateSelectDefaults(selectEls);
159
+ this.updateTextAreaDefaults(textAreaEls);
160
+ return printContents.innerHTML;
161
+ }
162
+ /**
163
+ *
164
+ *
165
+ * @memberof NgxPrintDirective
166
+ */
167
+ print() {
168
+ let printContents, popupWin, styles = '', links = '';
169
+ const baseTag = this.getElementTag('base');
170
+ if (this.useExistingCss) {
171
+ styles = this.getElementTag('style');
172
+ links = this.getElementTag('link');
173
+ }
174
+ printContents = this.getHtmlContents();
175
+ popupWin = window.open("", "_blank", "top=0,left=0,height=auto,width=auto");
176
+ popupWin.document.open();
177
+ popupWin.document.write(`
178
+ <html>
179
+ <head>
180
+ <title>${this.printTitle ? this.printTitle : ""}</title>
181
+ ${baseTag}
182
+ ${this.returnStyleValues()}
183
+ ${this.returnStyleSheetLinkTags()}
184
+ ${styles}
185
+ ${links}
186
+ </head>
187
+ <body ${this.bodyClass ? `class="${this.bodyClass}"` : ''}>
188
+ ${printContents}
189
+ <script defer>
190
+ function triggerPrint(event) {
191
+ window.removeEventListener('load', triggerPrint, false);
192
+ ${this.previewOnly || !this.closeWindow ? '' : `setTimeout(function() {
193
+ closeWindow(window.print());
194
+ }, ${this.printDelay});`}
195
+ }
196
+ function closeWindow(){
197
+ window.close();
198
+ }
199
+ window.addEventListener('load', triggerPrint, false);
200
+ </script>
201
+ </body>
202
+ </html>`);
203
+ popupWin.document.close();
204
+ }
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
206
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgxPrintDirective, isStandalone: true, selector: "button[ngxPrint]", inputs: { previewOnly: "previewOnly", printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", closeWindow: "closeWindow", bodyClass: "bodyClass", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, ngImport: i0 });
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintDirective, decorators: [{
209
+ type: Directive,
210
+ args: [{
211
+ selector: "button[ngxPrint]",
212
+ standalone: true
213
+ }]
214
+ }], propDecorators: { previewOnly: [{
215
+ type: Input
216
+ }], printSectionId: [{
217
+ type: Input
218
+ }], printTitle: [{
219
+ type: Input
220
+ }], useExistingCss: [{
221
+ type: Input
222
+ }], printDelay: [{
223
+ type: Input
224
+ }], closeWindow: [{
225
+ type: Input
226
+ }], bodyClass: [{
227
+ type: Input
228
+ }], printStyle: [{
229
+ type: Input
230
+ }], styleSheetFile: [{
231
+ type: Input
232
+ }], print: [{
233
+ type: HostListener,
234
+ args: ['click']
235
+ }] } });
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxpQkFBaUI7SUFFckIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUV4Qjs7OztPQUlHO0lBQ00sV0FBVyxHQUFZLEtBQUssQ0FBQztJQUV0Qzs7OztPQUlHO0lBQ00sY0FBYyxDQUFTO0lBRWhDOzs7O09BSUc7SUFDTSxVQUFVLENBQVM7SUFFNUI7Ozs7T0FJRztJQUNNLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFaEM7Ozs7T0FJRztJQUNNLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFFaEM7OztPQUdHO0lBQ00sV0FBVyxHQUFZLElBQUksQ0FBQztJQUVyQzs7O09BR0c7SUFDTSxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBRWhDOzs7O09BSUc7SUFDSCxJQUNJLFVBQVUsQ0FBQyxNQUFvRDtRQUNqRSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN0QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbEY7U0FDRjtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUU3Qjs7O09BR0c7SUFDSCxJQUNJLGNBQWMsQ0FBQyxPQUFlO1FBQ2hDLElBQUksU0FBUyxHQUFHLFVBQVUsV0FBVztZQUNuQyxPQUFPLGdEQUFnRCxXQUFXLElBQUksQ0FBQztRQUN6RSxDQUFDLENBQUE7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxLQUFLLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5RDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssd0JBQXdCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ08sYUFBYSxDQUFDLEdBQWdDO1FBQ3BELE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7O0tBT0M7SUFDTyxtQkFBbUIsQ0FBQyxRQUE0QztRQUN0RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMxRDtJQUNILENBQUM7SUFDTyxvQkFBb0IsQ0FBQyxRQUE2QztRQUN4RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUMxQyxNQUFNLGNBQWMsR0FBc0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV2RSxjQUFjLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUN2QztJQUNILENBQUM7SUFDTyxzQkFBc0IsQ0FBQyxRQUErQztRQUM1RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZUFBZTtRQUNyQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWhDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpDLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUVJLEtBQUs7UUFDVixJQUFJLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLHFDQUFxQyxDQUFDLENBQUM7UUFDNUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzs7O21CQUdULElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsT0FBTztZQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDL0IsTUFBTTtZQUNOLEtBQUs7O2dCQUVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JELGFBQWE7Ozs7Z0JBSVQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7O21CQUUxQyxJQUFJLENBQUMsVUFBVSxJQUFJOzs7Ozs7OztjQVF4QixDQUFDLENBQUM7UUFDWixRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBL05VLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFVVSxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBT0csVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFzQ0YsY0FBYztzQkFEakIsS0FBSztnQkEyRkMsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiYnV0dG9uW25neFByaW50XVwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFByaW50RGlyZWN0aXZlIHtcclxuXHJcbiAgcHVibGljIF9wcmludFN0eWxlID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXZlbnRzIHRoZSBwcmludCBkaWFsb2cgZnJvbSBvcGVuaW5nIG9uIHRoZSB3aW5kb3dcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByZXZpZXdPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBwcmludFNlY3Rpb25JZDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJpbnRUaXRsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdXNlRXhpc3RpbmdDc3MgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQSBkZWxheSBpbiBtaWxsaXNlY29uZHMgdG8gZm9yY2UgdGhlIHByaW50IGRpYWxvZyB0byB3YWl0IGJlZm9yZSBvcGVuZWQuIERlZmF1bHQ6IDBcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByaW50RGVsYXk6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHdpbmRvdyBhZnRlciBwcmludCgpIHJldHVybnMuXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBjbG9zZVdpbmRvdzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIGF0dHJpYnV0ZSB0byBhcHBseSB0byB0aGUgYm9keSBlbGVtZW50LlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgYm9keUNsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHByaW50U3R5bGUodmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfSkge1xyXG4gICAgZm9yIChsZXQga2V5IGluIHZhbHVlcykge1xyXG4gICAgICBpZiAodmFsdWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICB0aGlzLl9wcmludFN0eWxlLnB1c2goKGtleSArIEpTT04uc3RyaW5naWZ5KHZhbHVlc1trZXldKSkucmVwbGFjZSgvWydcIl0rL2csICcnKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucmV0dXJuU3R5bGVWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHRoYXQgY3JlYXRlIHRoZSBzdHlsZXNoZWV0IHdoaWNoIHdpbGwgYmUgaW5qZWN0ZWRcclxuICAgKiBsYXRlciB3aXRoaW4gPHN0eWxlPjwvc3R5bGU+IHRhZy5cclxuICAgKlxyXG4gICAqIC1qb2luL3JlcGxhY2UgdG8gdHJhbnNmb3JtIGFuIGFycmF5IG9iamVjdHMgdG8gY3NzLXN0eWxlZCBzdHJpbmdcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyByZXR1cm5TdHlsZVZhbHVlcygpIHtcclxuICAgIHJldHVybiBgPHN0eWxlPiAke3RoaXMuX3ByaW50U3R5bGUuam9pbignICcpLnJlcGxhY2UoLywvZywgJzsnKX0gPC9zdHlsZT5gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEByZXR1cm5zIGh0bWwgZm9yIHRoZSBnaXZlbiB0YWdcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3N0eWxlU2hlZXRGaWxlID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqIEBwYXJhbSBjc3NMaXN0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc3R5bGVTaGVldEZpbGUoY3NzTGlzdDogc3RyaW5nKSB7XHJcbiAgICBsZXQgbGlua1RhZ0ZuID0gZnVuY3Rpb24gKGNzc0ZpbGVOYW1lKSB7XHJcbiAgICAgIHJldHVybiBgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCIke2Nzc0ZpbGVOYW1lfVwiPmA7XHJcbiAgICB9XHJcbiAgICBpZiAoY3NzTGlzdC5pbmRleE9mKCcsJykgIT09IC0xKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlQXJyID0gY3NzTGlzdC5zcGxpdCgnLCcpO1xyXG4gICAgICBmb3IgKGxldCB2YWwgb2YgdmFsdWVBcnIpIHtcclxuICAgICAgICB0aGlzLl9zdHlsZVNoZWV0RmlsZSA9IHRoaXMuX3N0eWxlU2hlZXRGaWxlICsgbGlua1RhZ0ZuKHZhbCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0eWxlU2hlZXRGaWxlID0gbGlua1RhZ0ZuKGNzc0xpc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHJldHVybnMgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRoZSBsaW5rIHRhZ3MgY29udGFpbmluZyB0aGUgY3NzIHdoaWNoIHdpbGxcclxuICAgKiBiZSBpbmplY3RlZCBsYXRlciB3aXRoaW4gPGhlYWQ+PC9oZWFkPiB0YWcuXHJcbiAgICpcclxuICAgKi9cclxuICBwcml2YXRlIHJldHVyblN0eWxlU2hlZXRMaW5rVGFncygpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdHlsZVNoZWV0RmlsZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50VGFnKHRhZzoga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGh0bWw6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZyk7XHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZWxlbWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGh0bWwucHVzaChlbGVtZW50c1tpbmRleF0ub3V0ZXJIVE1MKTtcclxuICAgIH1cclxuICAgIHJldHVybiBodG1sLmpvaW4oJ1xcclxcbicpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvbiBXaGVuIHByaW50aW5nLCB0aGUgZGVmYXVsdCBvcHRpb24gb2YgZm9ybSBlbGVtZW50cyBhcmUgcHJpbnRlZC5cclxuICogSGVyZSB3ZSB1cGRhdGUgd2hhdCB0aGF0IGRlZmF1bHQgaXMgdG8gcHJpbnQgdGhlIGN1cnJlbnQgdmFsdWVzLlxyXG4gKlxyXG4gKiBAcGFyYW0gZWxlbWVudHMgdGhlIGh0bWwgZWxlbWVudCBjb2xsZWN0aW9uIHRvIHNhdmUgZGVmYXVsdHMgdG9cclxuICpcclxuICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVJbnB1dERlZmF1bHRzKGVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbk9mPEhUTUxJbnB1dEVsZW1lbnQ+KTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50c1tpXTtcclxuICAgICAgZWxlbWVudFsnZGVmYXVsdFZhbHVlJ10gPSBlbGVtZW50LnZhbHVlO1xyXG4gICAgICBpZiAoZWxlbWVudFsnY2hlY2tlZCddKSBlbGVtZW50WydkZWZhdWx0Q2hlY2tlZCddID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3REZWZhdWx0cyhlbGVtZW50czogSFRNTENvbGxlY3Rpb25PZjxIVE1MU2VsZWN0RWxlbWVudD4pOiB2b2lkIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2ldO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZElkeCA9IGVsZW1lbnQuc2VsZWN0ZWRJbmRleDtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb246IEhUTUxPcHRpb25FbGVtZW50ID0gZWxlbWVudC5vcHRpb25zW3NlbGVjdGVkSWR4XTtcclxuXHJcbiAgICAgIHNlbGVjdGVkT3B0aW9uLmRlZmF1bHRTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgdXBkYXRlVGV4dEFyZWFEZWZhdWx0cyhlbGVtZW50czogSFRNTENvbGxlY3Rpb25PZjxIVE1MVGV4dEFyZWFFbGVtZW50Pik6IHZvaWQge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbaV07XHJcbiAgICAgIGVsZW1lbnRbJ2RlZmF1bHRWYWx1ZSddID0gZWxlbWVudC52YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgdGhlIGh0bWwgY29udGVudHMgb2YgdGhlIHByaW50IHNlY3Rpb24gaWQuXHJcbiAgICogVXBkYXRlcyB0aGUgaHRtbCBlbGVtZW50cyB0byBkZWZhdWx0IHRoZWlyIGZvcm0gdmFsdWVzIHRvIHRoZSBjdXJyZW50IGZvcm0gdmFsdWVzXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVsbH0gaHRtbCBzZWN0aW9uIHRvIGJlIHByaW50ZWRcclxuICAgKlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0SHRtbENvbnRlbnRzKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgcHJpbnRDb250ZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucHJpbnRTZWN0aW9uSWQpO1xyXG4gICAgaWYgKCFwcmludENvbnRlbnRzKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBjb25zdCBpbnB1dEVscyA9IHByaW50Q29udGVudHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7XHJcbiAgICBjb25zdCBzZWxlY3RFbHMgPSBwcmludENvbnRlbnRzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTtcclxuICAgIGNvbnN0IHRleHRBcmVhRWxzID0gcHJpbnRDb250ZW50cy5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZUlucHV0RGVmYXVsdHMoaW5wdXRFbHMpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3REZWZhdWx0cyhzZWxlY3RFbHMpO1xyXG4gICAgdGhpcy51cGRhdGVUZXh0QXJlYURlZmF1bHRzKHRleHRBcmVhRWxzKTtcclxuXHJcbiAgICByZXR1cm4gcHJpbnRDb250ZW50cy5pbm5lckhUTUw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHB1YmxpYyBwcmludCgpOiB2b2lkIHtcclxuICAgIGxldCBwcmludENvbnRlbnRzLCBwb3B1cFdpbiwgc3R5bGVzID0gJycsIGxpbmtzID0gJyc7XHJcbiAgICBjb25zdCBiYXNlVGFnID0gdGhpcy5nZXRFbGVtZW50VGFnKCdiYXNlJyk7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlRXhpc3RpbmdDc3MpIHtcclxuICAgICAgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50VGFnKCdzdHlsZScpO1xyXG4gICAgICBsaW5rcyA9IHRoaXMuZ2V0RWxlbWVudFRhZygnbGluaycpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaW50Q29udGVudHMgPSB0aGlzLmdldEh0bWxDb250ZW50cygpO1xyXG4gICAgcG9wdXBXaW4gPSB3aW5kb3cub3BlbihcIlwiLCBcIl9ibGFua1wiLCBcInRvcD0wLGxlZnQ9MCxoZWlnaHQ9YXV0byx3aWR0aD1hdXRvXCIpO1xyXG4gICAgcG9wdXBXaW4uZG9jdW1lbnQub3BlbigpO1xyXG4gICAgcG9wdXBXaW4uZG9jdW1lbnQud3JpdGUoYFxyXG4gICAgICA8aHRtbD5cclxuICAgICAgICA8aGVhZD5cclxuICAgICAgICAgIDx0aXRsZT4ke3RoaXMucHJpbnRUaXRsZSA/IHRoaXMucHJpbnRUaXRsZSA6IFwiXCJ9PC90aXRsZT5cclxuICAgICAgICAgICR7YmFzZVRhZ31cclxuICAgICAgICAgICR7dGhpcy5yZXR1cm5TdHlsZVZhbHVlcygpfVxyXG4gICAgICAgICAgJHt0aGlzLnJldHVyblN0eWxlU2hlZXRMaW5rVGFncygpfVxyXG4gICAgICAgICAgJHtzdHlsZXN9XHJcbiAgICAgICAgICAke2xpbmtzfVxyXG4gICAgICAgIDwvaGVhZD5cclxuICAgICAgICA8Ym9keSAke3RoaXMuYm9keUNsYXNzID8gYGNsYXNzPVwiJHt0aGlzLmJvZHlDbGFzc31cImAgOiAnJ30+XHJcbiAgICAgICAgICAke3ByaW50Q29udGVudHN9XHJcbiAgICAgICAgICA8c2NyaXB0IGRlZmVyPlxyXG4gICAgICAgICAgICBmdW5jdGlvbiB0cmlnZ2VyUHJpbnQoZXZlbnQpIHtcclxuICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRyaWdnZXJQcmludCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICR7dGhpcy5wcmV2aWV3T25seSB8fCAhdGhpcy5jbG9zZVdpbmRvdyA/ICcnIDogYHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICBjbG9zZVdpbmRvdyh3aW5kb3cucHJpbnQoKSk7XHJcbiAgICAgICAgICAgICAgfSwgJHt0aGlzLnByaW50RGVsYXl9KTtgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGNsb3NlV2luZG93KCl7XHJcbiAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcclxuICAgICAgICAgIDwvc2NyaXB0PlxyXG4gICAgICAgIDwvYm9keT5cclxuICAgICAgPC9odG1sPmApO1xyXG4gICAgcG9wdXBXaW4uZG9jdW1lbnQuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NgxPrintDirective } from './ngx-print.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class NgxPrintModule {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, imports: [NgxPrintDirective], exports: [NgxPrintDirective] });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [NgxPrintDirective],
13
+ exports: [NgxPrintDirective]
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU0xRCxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsWUFIZixpQkFBaUIsYUFDakIsaUJBQWlCO3lHQUVoQixjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hQcmludERpcmVjdGl2ZSB9IGZyb20gJy4vbmd4LXByaW50LmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtOZ3hQcmludERpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW05neFByaW50RGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25neC1wcmludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Public API Surface of ngx-print
3
+ */
4
+ export * from './lib/ngx-print.directive';
5
+ export * from './lib/ngx-print.module';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1wcmludFxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1wcmludC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtcHJpbnQubW9kdWxlJztcclxuIl19
@@ -0,0 +1,260 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, HostListener, NgModule } from '@angular/core';
3
+
4
+ class NgxPrintDirective {
5
+ _printStyle = [];
6
+ /**
7
+ * Prevents the print dialog from opening on the window
8
+ *
9
+ * @memberof NgxPrintDirective
10
+ */
11
+ previewOnly = false;
12
+ /**
13
+ *
14
+ *
15
+ * @memberof NgxPrintDirective
16
+ */
17
+ printSectionId;
18
+ /**
19
+ *
20
+ *
21
+ * @memberof NgxPrintDirective
22
+ */
23
+ printTitle;
24
+ /**
25
+ *
26
+ *
27
+ * @memberof NgxPrintDirective
28
+ */
29
+ useExistingCss = false;
30
+ /**
31
+ * A delay in milliseconds to force the print dialog to wait before opened. Default: 0
32
+ *
33
+ * @memberof NgxPrintDirective
34
+ */
35
+ printDelay = 0;
36
+ /**
37
+ * Whether to close the window after print() returns.
38
+ *
39
+ */
40
+ closeWindow = true;
41
+ /**
42
+ * Class attribute to apply to the body element.
43
+ *
44
+ */
45
+ bodyClass = '';
46
+ /**
47
+ *
48
+ *
49
+ * @memberof NgxPrintDirective
50
+ */
51
+ set printStyle(values) {
52
+ for (let key in values) {
53
+ if (values.hasOwnProperty(key)) {
54
+ this._printStyle.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
55
+ }
56
+ }
57
+ this.returnStyleValues();
58
+ }
59
+ /**
60
+ *
61
+ *
62
+ * @returns the string that create the stylesheet which will be injected
63
+ * later within <style></style> tag.
64
+ *
65
+ * -join/replace to transform an array objects to css-styled string
66
+ *
67
+ * @memberof NgxPrintDirective
68
+ */
69
+ returnStyleValues() {
70
+ return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;
71
+ }
72
+ /**
73
+ *
74
+ *
75
+ * @returns html for the given tag
76
+ *
77
+ * @memberof NgxPrintDirective
78
+ */
79
+ _styleSheetFile = '';
80
+ /**
81
+ * @memberof NgxPrintDirective
82
+ * @param cssList
83
+ */
84
+ set styleSheetFile(cssList) {
85
+ let linkTagFn = function (cssFileName) {
86
+ return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
87
+ };
88
+ if (cssList.indexOf(',') !== -1) {
89
+ const valueArr = cssList.split(',');
90
+ for (let val of valueArr) {
91
+ this._styleSheetFile = this._styleSheetFile + linkTagFn(val);
92
+ }
93
+ }
94
+ else {
95
+ this._styleSheetFile = linkTagFn(cssList);
96
+ }
97
+ }
98
+ /**
99
+ * @returns string which contains the link tags containing the css which will
100
+ * be injected later within <head></head> tag.
101
+ *
102
+ */
103
+ returnStyleSheetLinkTags() {
104
+ return this._styleSheetFile;
105
+ }
106
+ getElementTag(tag) {
107
+ const html = [];
108
+ const elements = document.getElementsByTagName(tag);
109
+ for (let index = 0; index < elements.length; index++) {
110
+ html.push(elements[index].outerHTML);
111
+ }
112
+ return html.join('\r\n');
113
+ }
114
+ /**
115
+ *
116
+ * @description When printing, the default option of form elements are printed.
117
+ * Here we update what that default is to print the current values.
118
+ *
119
+ * @param elements the html element collection to save defaults to
120
+ *
121
+ */
122
+ updateInputDefaults(elements) {
123
+ for (let i = 0; i < elements.length; i++) {
124
+ const element = elements[i];
125
+ element['defaultValue'] = element.value;
126
+ if (element['checked'])
127
+ element['defaultChecked'] = true;
128
+ }
129
+ }
130
+ updateSelectDefaults(elements) {
131
+ for (let i = 0; i < elements.length; i++) {
132
+ const element = elements[i];
133
+ const selectedIdx = element.selectedIndex;
134
+ const selectedOption = element.options[selectedIdx];
135
+ selectedOption.defaultSelected = true;
136
+ }
137
+ }
138
+ updateTextAreaDefaults(elements) {
139
+ for (let i = 0; i < elements.length; i++) {
140
+ const element = elements[i];
141
+ element['defaultValue'] = element.value;
142
+ }
143
+ }
144
+ /**
145
+ * @description Retrieves the html contents of the print section id.
146
+ * Updates the html elements to default their form values to the current form values
147
+ *
148
+ * @returns {string | null} html section to be printed
149
+ *
150
+ */
151
+ getHtmlContents() {
152
+ const printContents = document.getElementById(this.printSectionId);
153
+ if (!printContents)
154
+ return null;
155
+ const inputEls = printContents.getElementsByTagName('input');
156
+ const selectEls = printContents.getElementsByTagName('select');
157
+ const textAreaEls = printContents.getElementsByTagName('textarea');
158
+ this.updateInputDefaults(inputEls);
159
+ this.updateSelectDefaults(selectEls);
160
+ this.updateTextAreaDefaults(textAreaEls);
161
+ return printContents.innerHTML;
162
+ }
163
+ /**
164
+ *
165
+ *
166
+ * @memberof NgxPrintDirective
167
+ */
168
+ print() {
169
+ let printContents, popupWin, styles = '', links = '';
170
+ const baseTag = this.getElementTag('base');
171
+ if (this.useExistingCss) {
172
+ styles = this.getElementTag('style');
173
+ links = this.getElementTag('link');
174
+ }
175
+ printContents = this.getHtmlContents();
176
+ popupWin = window.open("", "_blank", "top=0,left=0,height=auto,width=auto");
177
+ popupWin.document.open();
178
+ popupWin.document.write(`
179
+ <html>
180
+ <head>
181
+ <title>${this.printTitle ? this.printTitle : ""}</title>
182
+ ${baseTag}
183
+ ${this.returnStyleValues()}
184
+ ${this.returnStyleSheetLinkTags()}
185
+ ${styles}
186
+ ${links}
187
+ </head>
188
+ <body ${this.bodyClass ? `class="${this.bodyClass}"` : ''}>
189
+ ${printContents}
190
+ <script defer>
191
+ function triggerPrint(event) {
192
+ window.removeEventListener('load', triggerPrint, false);
193
+ ${this.previewOnly || !this.closeWindow ? '' : `setTimeout(function() {
194
+ closeWindow(window.print());
195
+ }, ${this.printDelay});`}
196
+ }
197
+ function closeWindow(){
198
+ window.close();
199
+ }
200
+ window.addEventListener('load', triggerPrint, false);
201
+ </script>
202
+ </body>
203
+ </html>`);
204
+ popupWin.document.close();
205
+ }
206
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
207
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgxPrintDirective, isStandalone: true, selector: "button[ngxPrint]", inputs: { previewOnly: "previewOnly", printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", closeWindow: "closeWindow", bodyClass: "bodyClass", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, ngImport: i0 });
208
+ }
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintDirective, decorators: [{
210
+ type: Directive,
211
+ args: [{
212
+ selector: "button[ngxPrint]",
213
+ standalone: true
214
+ }]
215
+ }], propDecorators: { previewOnly: [{
216
+ type: Input
217
+ }], printSectionId: [{
218
+ type: Input
219
+ }], printTitle: [{
220
+ type: Input
221
+ }], useExistingCss: [{
222
+ type: Input
223
+ }], printDelay: [{
224
+ type: Input
225
+ }], closeWindow: [{
226
+ type: Input
227
+ }], bodyClass: [{
228
+ type: Input
229
+ }], printStyle: [{
230
+ type: Input
231
+ }], styleSheetFile: [{
232
+ type: Input
233
+ }], print: [{
234
+ type: HostListener,
235
+ args: ['click']
236
+ }] } });
237
+
238
+ class NgxPrintModule {
239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, imports: [NgxPrintDirective], exports: [NgxPrintDirective] });
241
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule });
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxPrintModule, decorators: [{
244
+ type: NgModule,
245
+ args: [{
246
+ imports: [NgxPrintDirective],
247
+ exports: [NgxPrintDirective]
248
+ }]
249
+ }] });
250
+
251
+ /*
252
+ * Public API Surface of ngx-print
253
+ */
254
+
255
+ /**
256
+ * Generated bundle index. Do not edit.
257
+ */
258
+
259
+ export { NgxPrintDirective, NgxPrintModule };
260
+ //# sourceMappingURL=ngx-print.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-print.mjs","sources":["../../../src/lib/ngx-print.directive.ts","../../../src/lib/ngx-print.module.ts","../../../src/public_api.ts","../../../src/ngx-print.ts"],"sourcesContent":["import { Directive, HostListener, Input } from '@angular/core';\r\n@Directive({\r\n selector: \"button[ngxPrint]\",\r\n standalone: true\r\n})\r\nexport class NgxPrintDirective {\r\n\r\n public _printStyle = [];\r\n\r\n /**\r\n * Prevents the print dialog from opening on the window\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input() previewOnly: boolean = false;\r\n\r\n /**\r\n *\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input() printSectionId: string;\r\n\r\n /**\r\n *\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input() printTitle: string;\r\n\r\n /**\r\n *\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input() useExistingCss = false;\r\n\r\n /**\r\n * A delay in milliseconds to force the print dialog to wait before opened. Default: 0\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input() printDelay: number = 0;\r\n\r\n /**\r\n * Whether to close the window after print() returns.\r\n *\r\n */\r\n @Input() closeWindow: boolean = true;\r\n\r\n /**\r\n * Class attribute to apply to the body element.\r\n *\r\n */\r\n @Input() bodyClass: string = '';\r\n\r\n /**\r\n *\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @Input()\r\n set printStyle(values: { [key: string]: { [key: string]: string } }) {\r\n for (let key in values) {\r\n if (values.hasOwnProperty(key)) {\r\n this._printStyle.push((key + JSON.stringify(values[key])).replace(/['\"]+/g, ''));\r\n }\r\n }\r\n this.returnStyleValues();\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @returns the string that create the stylesheet which will be injected\r\n * later within <style></style> tag.\r\n *\r\n * -join/replace to transform an array objects to css-styled string\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n public returnStyleValues() {\r\n return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @returns html for the given tag\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n private _styleSheetFile = '';\r\n\r\n /**\r\n * @memberof NgxPrintDirective\r\n * @param cssList\r\n */\r\n @Input()\r\n set styleSheetFile(cssList: string) {\r\n let linkTagFn = function (cssFileName) {\r\n return `<link rel=\"stylesheet\" type=\"text/css\" href=\"${cssFileName}\">`;\r\n }\r\n if (cssList.indexOf(',') !== -1) {\r\n const valueArr = cssList.split(',');\r\n for (let val of valueArr) {\r\n this._styleSheetFile = this._styleSheetFile + linkTagFn(val);\r\n }\r\n } else {\r\n this._styleSheetFile = linkTagFn(cssList);\r\n }\r\n }\r\n\r\n /**\r\n * @returns string which contains the link tags containing the css which will\r\n * be injected later within <head></head> tag.\r\n *\r\n */\r\n private returnStyleSheetLinkTags() {\r\n return this._styleSheetFile;\r\n }\r\n private getElementTag(tag: keyof HTMLElementTagNameMap): string {\r\n const html: string[] = [];\r\n const elements = document.getElementsByTagName(tag);\r\n for (let index = 0; index < elements.length; index++) {\r\n html.push(elements[index].outerHTML);\r\n }\r\n return html.join('\\r\\n');\r\n }\r\n\r\n /**\r\n *\r\n * @description When printing, the default option of form elements are printed.\r\n * Here we update what that default is to print the current values.\r\n *\r\n * @param elements the html element collection to save defaults to\r\n *\r\n */\r\n private updateInputDefaults(elements: HTMLCollectionOf<HTMLInputElement>): void {\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n element['defaultValue'] = element.value;\r\n if (element['checked']) element['defaultChecked'] = true;\r\n }\r\n }\r\n private updateSelectDefaults(elements: HTMLCollectionOf<HTMLSelectElement>): void {\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n const selectedIdx = element.selectedIndex;\r\n const selectedOption: HTMLOptionElement = element.options[selectedIdx];\r\n\r\n selectedOption.defaultSelected = true;\r\n }\r\n }\r\n private updateTextAreaDefaults(elements: HTMLCollectionOf<HTMLTextAreaElement>): void {\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n element['defaultValue'] = element.value;\r\n }\r\n }\r\n\r\n /**\r\n * @description Retrieves the html contents of the print section id.\r\n * Updates the html elements to default their form values to the current form values\r\n *\r\n * @returns {string | null} html section to be printed\r\n *\r\n */\r\n private getHtmlContents(): string | null {\r\n const printContents = document.getElementById(this.printSectionId);\r\n if (!printContents) return null;\r\n\r\n const inputEls = printContents.getElementsByTagName('input');\r\n const selectEls = printContents.getElementsByTagName('select');\r\n const textAreaEls = printContents.getElementsByTagName('textarea');\r\n\r\n this.updateInputDefaults(inputEls);\r\n this.updateSelectDefaults(selectEls);\r\n this.updateTextAreaDefaults(textAreaEls);\r\n\r\n return printContents.innerHTML;\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @memberof NgxPrintDirective\r\n */\r\n @HostListener('click')\r\n public print(): void {\r\n let printContents, popupWin, styles = '', links = '';\r\n const baseTag = this.getElementTag('base');\r\n\r\n if (this.useExistingCss) {\r\n styles = this.getElementTag('style');\r\n links = this.getElementTag('link');\r\n }\r\n\r\n printContents = this.getHtmlContents();\r\n popupWin = window.open(\"\", \"_blank\", \"top=0,left=0,height=auto,width=auto\");\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n <html>\r\n <head>\r\n <title>${this.printTitle ? this.printTitle : \"\"}</title>\r\n ${baseTag}\r\n ${this.returnStyleValues()}\r\n ${this.returnStyleSheetLinkTags()}\r\n ${styles}\r\n ${links}\r\n </head>\r\n <body ${this.bodyClass ? `class=\"${this.bodyClass}\"` : ''}>\r\n ${printContents}\r\n <script defer>\r\n function triggerPrint(event) {\r\n window.removeEventListener('load', triggerPrint, false);\r\n ${this.previewOnly || !this.closeWindow ? '' : `setTimeout(function() {\r\n closeWindow(window.print());\r\n }, ${this.printDelay});`}\r\n }\r\n function closeWindow(){\r\n window.close();\r\n }\r\n window.addEventListener('load', triggerPrint, false);\r\n </script>\r\n </body>\r\n </html>`);\r\n popupWin.document.close();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxPrintDirective } from './ngx-print.directive';\r\n\r\n@NgModule({\r\n imports: [NgxPrintDirective],\r\n exports: [NgxPrintDirective]\r\n})\r\nexport class NgxPrintModule { }\r\n","/*\r\n * Public API Surface of ngx-print\r\n */\r\n\r\nexport * from './lib/ngx-print.directive';\r\nexport * from './lib/ngx-print.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="ngx-print" />
5
+ export * from './public_api';
6
+ //# sourceMappingURL=ngx-print.d.ts.map