ngx-print 1.2.1 → 1.3.1
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 +23 -0
- package/esm2020/lib/ngx-print.directive.mjs +187 -0
- package/esm2020/lib/ngx-print.module.mjs +17 -0
- package/esm2020/ngx-print.mjs +5 -0
- package/esm2020/public_api.mjs +6 -0
- package/fesm2015/{ngx-print.js → ngx-print.mjs} +66 -87
- package/fesm2015/ngx-print.mjs.map +1 -0
- package/fesm2020/ngx-print.mjs +212 -0
- package/fesm2020/ngx-print.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/ngx-print.directive.d.ts +13 -3
- package/lib/ngx-print.directive.d.ts.map +1 -0
- package/lib/ngx-print.module.d.ts +6 -0
- package/lib/ngx-print.module.d.ts.map +1 -0
- package/ngx-print.d.ts.map +1 -0
- package/package.json +21 -44
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -0
- package/bundles/ngx-print.umd.js +0 -349
- package/bundles/ngx-print.umd.js.map +0 -1
- package/bundles/ngx-print.umd.min.js +0 -2
- package/bundles/ngx-print.umd.min.js.map +0 -1
- package/esm2015/lib/ngx-print.directive.js +0 -247
- package/esm2015/lib/ngx-print.module.js +0 -16
- package/esm2015/ngx-print.js +0 -9
- package/esm2015/public_api.js +0 -10
- package/esm5/lib/ngx-print.directive.js +0 -321
- package/esm5/lib/ngx-print.module.js +0 -20
- package/esm5/ngx-print.js +0 -9
- package/esm5/public_api.js +0 -10
- package/fesm2015/ngx-print.js.map +0 -1
- package/fesm5/ngx-print.js +0 -309
- package/fesm5/ngx-print.js.map +0 -1
- package/ngx-print.d.ts +0 -4
- package/ngx-print.metadata.json +0 -1
package/README.md
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
# ngx-print : *plug n' play Angular (2++) directive to print your stuff*
|
|
4
4
|
This directive makes printing your HTML sections smooth and easy in your Angular application. It is inspired from the old [AngularJS ngPrint](https://github.com/gilf/ngPrint) directive, thus it is intendend to be used with the new Angular -2/4/5/6/7-... ***Enjoy ! contributions are so welcomed :)***
|
|
5
5
|
|
|
6
|
+
## Dependencies
|
|
7
|
+
| ngx-print | Angular |
|
|
8
|
+
| ------------ | ------------ |
|
|
9
|
+
| 1.2.1 | 7.0.0 - 14.1.0 |
|
|
10
|
+
| 1.3.x | 15.0.0 |
|
|
6
11
|
## Setup
|
|
7
12
|
|
|
8
13
|
**1-** In your root application folder run:
|
|
@@ -127,6 +132,24 @@ Here some simple styles were added to every `h1` & `h2` tags within the `div` wh
|
|
|
127
132
|
printSectionId="print-section"
|
|
128
133
|
ngxPrint>print</button>
|
|
129
134
|
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
- If you would like to show a preview without a print dialog use
|
|
138
|
+
`previewOnly`:
|
|
139
|
+
|
|
140
|
+
```html
|
|
141
|
+
|
|
142
|
+
<div id="print-section">
|
|
143
|
+
|
|
144
|
+
<!-- ... -->
|
|
145
|
+
|
|
146
|
+
</div>
|
|
147
|
+
|
|
148
|
+
<button
|
|
149
|
+
[previewOnly]="true"
|
|
150
|
+
printSectionId="print-section"
|
|
151
|
+
ngxPrint>print</button>
|
|
152
|
+
|
|
130
153
|
```
|
|
131
154
|
## Contributors :1st_place_medal:
|
|
132
155
|
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NgxPrintDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._printStyle = [];
|
|
6
|
+
/**
|
|
7
|
+
* Prevents the print dialog from opening on the window
|
|
8
|
+
*
|
|
9
|
+
* @memberof NgxPrintDirective
|
|
10
|
+
*/
|
|
11
|
+
this.previewOnly = false;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
* @memberof NgxPrintDirective
|
|
16
|
+
*/
|
|
17
|
+
this.useExistingCss = false;
|
|
18
|
+
/**
|
|
19
|
+
* A delay in milliseconds to force the print dialog to wait before opened. Default: 0
|
|
20
|
+
*
|
|
21
|
+
* @memberof NgxPrintDirective
|
|
22
|
+
*/
|
|
23
|
+
this.printDelay = 0;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* @returns html for the given tag
|
|
28
|
+
*
|
|
29
|
+
* @memberof NgxPrintDirective
|
|
30
|
+
*/
|
|
31
|
+
this._styleSheetFile = '';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
*
|
|
36
|
+
* @memberof NgxPrintDirective
|
|
37
|
+
*/
|
|
38
|
+
set printStyle(values) {
|
|
39
|
+
for (let key in values) {
|
|
40
|
+
if (values.hasOwnProperty(key)) {
|
|
41
|
+
this._printStyle.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
this.returnStyleValues();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
*
|
|
49
|
+
* @returns the string that create the stylesheet which will be injected
|
|
50
|
+
* later within <style></style> tag.
|
|
51
|
+
*
|
|
52
|
+
* -join/replace to transform an array objects to css-styled string
|
|
53
|
+
*
|
|
54
|
+
* @memberof NgxPrintDirective
|
|
55
|
+
*/
|
|
56
|
+
returnStyleValues() {
|
|
57
|
+
return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @memberof NgxPrintDirective
|
|
61
|
+
* @param cssList
|
|
62
|
+
*/
|
|
63
|
+
set styleSheetFile(cssList) {
|
|
64
|
+
let linkTagFn = function (cssFileName) {
|
|
65
|
+
return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
|
|
66
|
+
};
|
|
67
|
+
if (cssList.indexOf(',') !== -1) {
|
|
68
|
+
const valueArr = cssList.split(',');
|
|
69
|
+
for (let val of valueArr) {
|
|
70
|
+
this._styleSheetFile = this._styleSheetFile + linkTagFn(val);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this._styleSheetFile = linkTagFn(cssList);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @returns string which contains the link tags containing the css which will
|
|
79
|
+
* be injected later within <head></head> tag.
|
|
80
|
+
*
|
|
81
|
+
*/
|
|
82
|
+
returnStyleSheetLinkTags() {
|
|
83
|
+
return this._styleSheetFile;
|
|
84
|
+
}
|
|
85
|
+
getElementTag(tag) {
|
|
86
|
+
const html = [];
|
|
87
|
+
const elements = document.getElementsByTagName(tag);
|
|
88
|
+
for (let index = 0; index < elements.length; index++) {
|
|
89
|
+
html.push(elements[index].outerHTML);
|
|
90
|
+
}
|
|
91
|
+
return html.join('\r\n');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* @param data the html element collection to save defaults to
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
getFormData(data) {
|
|
99
|
+
for (var i = 0; i < data.length; i++) {
|
|
100
|
+
data[i].defaultValue = data[i].value;
|
|
101
|
+
if (data[i].checked) {
|
|
102
|
+
data[i].defaultChecked = true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @returns html section to be printed along with some associated inputs
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
getHtmlContents() {
|
|
111
|
+
let printContents = document.getElementById(this.printSectionId);
|
|
112
|
+
let innards = printContents.getElementsByTagName('input');
|
|
113
|
+
this.getFormData(innards);
|
|
114
|
+
let txt = printContents.getElementsByTagName('textarea');
|
|
115
|
+
this.getFormData(txt);
|
|
116
|
+
return printContents.innerHTML;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
*
|
|
121
|
+
* @memberof NgxPrintDirective
|
|
122
|
+
*/
|
|
123
|
+
print() {
|
|
124
|
+
let printContents, popupWin, styles = '', links = '';
|
|
125
|
+
const baseTag = this.getElementTag('base');
|
|
126
|
+
if (this.useExistingCss) {
|
|
127
|
+
styles = this.getElementTag('style');
|
|
128
|
+
links = this.getElementTag('link');
|
|
129
|
+
}
|
|
130
|
+
printContents = this.getHtmlContents();
|
|
131
|
+
popupWin = window.open("", "_blank", "top=0,left=0,height=auto,width=auto");
|
|
132
|
+
popupWin.document.open();
|
|
133
|
+
popupWin.document.write(`
|
|
134
|
+
<html>
|
|
135
|
+
<head>
|
|
136
|
+
<title>${this.printTitle ? this.printTitle : ""}</title>
|
|
137
|
+
${baseTag}
|
|
138
|
+
${this.returnStyleValues()}
|
|
139
|
+
${this.returnStyleSheetLinkTags()}
|
|
140
|
+
${styles}
|
|
141
|
+
${links}
|
|
142
|
+
</head>
|
|
143
|
+
<body>
|
|
144
|
+
${printContents}
|
|
145
|
+
<script defer>
|
|
146
|
+
function triggerPrint(event) {
|
|
147
|
+
window.removeEventListener('load', triggerPrint, false);
|
|
148
|
+
${this.previewOnly ? '' : `setTimeout(function() {
|
|
149
|
+
closeWindow(window.print());
|
|
150
|
+
}, ${this.printDelay});`}
|
|
151
|
+
}
|
|
152
|
+
function closeWindow(){
|
|
153
|
+
window.close();
|
|
154
|
+
}
|
|
155
|
+
window.addEventListener('load', triggerPrint, false);
|
|
156
|
+
</script>
|
|
157
|
+
</body>
|
|
158
|
+
</html>`);
|
|
159
|
+
popupWin.document.close();
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
NgxPrintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
163
|
+
NgxPrintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgxPrintDirective, selector: "button[ngxPrint]", inputs: { previewOnly: "previewOnly", printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, ngImport: i0 });
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintDirective, decorators: [{
|
|
165
|
+
type: Directive,
|
|
166
|
+
args: [{
|
|
167
|
+
selector: "button[ngxPrint]"
|
|
168
|
+
}]
|
|
169
|
+
}], propDecorators: { previewOnly: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], printSectionId: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], printTitle: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], useExistingCss: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], printDelay: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], printStyle: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], styleSheetFile: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], print: [{
|
|
184
|
+
type: HostListener,
|
|
185
|
+
args: ['click']
|
|
186
|
+
}] } });
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSS9ELE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFLUyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUV4Qjs7OztXQUlHO1FBQ00sZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFnQnRDOzs7O1dBSUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUVoQzs7OztXQUlHO1FBQ00sZUFBVSxHQUFXLENBQUMsQ0FBQztRQStCaEM7Ozs7OztXQU1HO1FBQ0ssb0JBQWUsR0FBRyxFQUFFLENBQUM7S0FpSDlCO0lBckpDOzs7O09BSUc7SUFDSCxJQUNJLFVBQVUsQ0FBQyxNQUFvRDtRQUNqRSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN0QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEY7U0FDRjtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSDs7Ozs7Ozs7O09BU0c7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUMxRSxDQUFDO0lBV0Q7OztPQUdHO0lBQ0gsSUFDSSxjQUFjLENBQUMsT0FBZTtRQUNoQyxJQUFJLFNBQVMsR0FBRyxVQUFTLFdBQVc7WUFDbEMsT0FBTyxnREFBZ0QsV0FBVyxJQUFJLENBQUM7UUFDekUsQ0FBQyxDQUFBO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsS0FBSyxJQUFJLEdBQUcsSUFBSSxRQUFRLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUQ7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNPLGFBQWEsQ0FBQyxHQUFnQztRQUNwRCxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7UUFDMUIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssV0FBVyxDQUFDLElBQVM7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3JDLElBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7YUFDL0I7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlO1FBQ3JCLElBQUksYUFBYSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksR0FBRyxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUVJLEtBQUs7UUFDVixJQUFJLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0MsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLHFDQUFxQyxDQUFDLENBQUM7UUFDNUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzs7O21CQUdULElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsT0FBTztZQUNQLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDL0IsTUFBTTtZQUNOLEtBQUs7OztZQUdMLGFBQWE7Ozs7Z0JBSVQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzs7bUJBRXJCLElBQUksQ0FBQyxVQUFVLElBQUk7Ozs7Ozs7O2NBUXhCLENBQUMsQ0FBQztRQUNaLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OEdBM0xVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OEJBVVUsV0FBVztzQkFBbkIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFzQ0YsY0FBYztzQkFEakIsS0FBSztnQkFtRUMsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiYnV0dG9uW25neFByaW50XVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hQcmludERpcmVjdGl2ZSB7XHJcblxyXG4gIHB1YmxpYyBfcHJpbnRTdHlsZSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBQcmV2ZW50cyB0aGUgcHJpbnQgZGlhbG9nIGZyb20gb3BlbmluZyBvbiB0aGUgd2luZG93XHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBwcmV2aWV3T25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJpbnRTZWN0aW9uSWQ6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByaW50VGl0bGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVzZUV4aXN0aW5nQ3NzID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgZGVsYXkgaW4gbWlsbGlzZWNvbmRzIHRvIGZvcmNlIHRoZSBwcmludCBkaWFsb2cgdG8gd2FpdCBiZWZvcmUgb3BlbmVkLiBEZWZhdWx0OiAwXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgTmd4UHJpbnREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBwcmludERlbGF5OiBudW1iZXIgPSAwO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcHJpbnRTdHlsZSh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB9KSB7XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdmFsdWVzKSB7XHJcbiAgICAgIGlmICh2YWx1ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICB0aGlzLl9wcmludFN0eWxlLnB1c2goKGtleSArIEpTT04uc3RyaW5naWZ5KHZhbHVlc1trZXldKSkucmVwbGFjZSgvWydcIl0rL2csICcnKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucmV0dXJuU3R5bGVWYWx1ZXMoKTtcclxuICB9XHJcblxyXG4vKipcclxuICpcclxuICpcclxuICogQHJldHVybnMgdGhlIHN0cmluZyB0aGF0IGNyZWF0ZSB0aGUgc3R5bGVzaGVldCB3aGljaCB3aWxsIGJlIGluamVjdGVkXHJcbiAqIGxhdGVyIHdpdGhpbiA8c3R5bGU+PC9zdHlsZT4gdGFnLlxyXG4gKlxyXG4gKiAtam9pbi9yZXBsYWNlIHRvIHRyYW5zZm9ybSBhbiBhcnJheSBvYmplY3RzIHRvIGNzcy1zdHlsZWQgc3RyaW5nXHJcbiAqXHJcbiAqIEBtZW1iZXJvZiBOZ3hQcmludERpcmVjdGl2ZVxyXG4gKi9cclxucHVibGljIHJldHVyblN0eWxlVmFsdWVzKCkge1xyXG4gIHJldHVybiBgPHN0eWxlPiAke3RoaXMuX3ByaW50U3R5bGUuam9pbignICcpLnJlcGxhY2UoLywvZywnOycpfSA8L3N0eWxlPmA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQHJldHVybnMgaHRtbCBmb3IgdGhlIGdpdmVuIHRhZ1xyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc3R5bGVTaGVldEZpbGUgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICogQHBhcmFtIGNzc0xpc3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzdHlsZVNoZWV0RmlsZShjc3NMaXN0OiBzdHJpbmcpIHtcclxuICAgIGxldCBsaW5rVGFnRm4gPSBmdW5jdGlvbihjc3NGaWxlTmFtZSkge1xyXG4gICAgICByZXR1cm4gYDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiJHtjc3NGaWxlTmFtZX1cIj5gO1xyXG4gICAgfVxyXG4gICAgaWYgKGNzc0xpc3QuaW5kZXhPZignLCcpICE9PSAtMSkge1xyXG4gICAgICBjb25zdCB2YWx1ZUFyciA9IGNzc0xpc3Quc3BsaXQoJywnKTtcclxuICAgICAgZm9yIChsZXQgdmFsIG9mIHZhbHVlQXJyKSB7XHJcbiAgICAgICAgdGhpcy5fc3R5bGVTaGVldEZpbGUgPSB0aGlzLl9zdHlsZVNoZWV0RmlsZSArIGxpbmtUYWdGbih2YWwpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdHlsZVNoZWV0RmlsZSA9IGxpbmtUYWdGbihjc3NMaXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEByZXR1cm5zIHN0cmluZyB3aGljaCBjb250YWlucyB0aGUgbGluayB0YWdzIGNvbnRhaW5pbmcgdGhlIGNzcyB3aGljaCB3aWxsXHJcbiAgICogYmUgaW5qZWN0ZWQgbGF0ZXIgd2l0aGluIDxoZWFkPjwvaGVhZD4gdGFnLlxyXG4gICAqXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXR1cm5TdHlsZVNoZWV0TGlua1RhZ3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3R5bGVTaGVldEZpbGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0RWxlbWVudFRhZyh0YWc6IGtleW9mIEhUTUxFbGVtZW50VGFnTmFtZU1hcCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBodG1sOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGVsZW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBodG1sLnB1c2goZWxlbWVudHNbaW5kZXhdLm91dGVySFRNTCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaHRtbC5qb2luKCdcXHJcXG4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBodG1sIGVsZW1lbnQgY29sbGVjdGlvbiB0byBzYXZlIGRlZmF1bHRzIHRvXHJcbiAgICogXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRGb3JtRGF0YShkYXRhOiBhbnkpIHtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBkYXRhW2ldLmRlZmF1bHRWYWx1ZSA9IGRhdGFbaV0udmFsdWU7XHJcbiAgICAgIGlmKGRhdGFbaV0uY2hlY2tlZCkge1xyXG4gICAgICAgIGRhdGFbaV0uZGVmYXVsdENoZWNrZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcmV0dXJucyBodG1sIHNlY3Rpb24gdG8gYmUgcHJpbnRlZCBhbG9uZyB3aXRoIHNvbWUgYXNzb2NpYXRlZCBpbnB1dHNcclxuICAgKiBcclxuICAgKi9cclxuICBwcml2YXRlIGdldEh0bWxDb250ZW50cygpIHtcclxuICAgIGxldCBwcmludENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5wcmludFNlY3Rpb25JZCk7XHJcbiAgICBsZXQgaW5uYXJkcyA9IHByaW50Q29udGVudHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0Jyk7XHJcbiAgICB0aGlzLmdldEZvcm1EYXRhKGlubmFyZHMpO1xyXG5cclxuICAgIGxldCB0eHQgPSBwcmludENvbnRlbnRzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0ZXh0YXJlYScpO1xyXG4gICAgdGhpcy5nZXRGb3JtRGF0YSh0eHQpO1xyXG4gICAgXHJcbiAgICByZXR1cm4gcHJpbnRDb250ZW50cy5pbm5lckhUTUw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIE5neFByaW50RGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIHB1YmxpYyBwcmludCgpOiB2b2lkIHtcclxuICAgIGxldCBwcmludENvbnRlbnRzLCBwb3B1cFdpbiwgc3R5bGVzID0gJycsIGxpbmtzID0gJyc7XHJcbiAgICBjb25zdCBiYXNlVGFnID0gdGhpcy5nZXRFbGVtZW50VGFnKCdiYXNlJyk7XHJcblxyXG4gICAgaWYodGhpcy51c2VFeGlzdGluZ0Nzcykge1xyXG4gICAgICBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRUYWcoJ3N0eWxlJyk7XHJcbiAgICAgIGxpbmtzID0gdGhpcy5nZXRFbGVtZW50VGFnKCdsaW5rJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpbnRDb250ZW50cyA9IHRoaXMuZ2V0SHRtbENvbnRlbnRzKCk7XHJcbiAgICBwb3B1cFdpbiA9IHdpbmRvdy5vcGVuKFwiXCIsIFwiX2JsYW5rXCIsIFwidG9wPTAsbGVmdD0wLGhlaWdodD1hdXRvLHdpZHRoPWF1dG9cIik7XHJcbiAgICBwb3B1cFdpbi5kb2N1bWVudC5vcGVuKCk7XHJcbiAgICBwb3B1cFdpbi5kb2N1bWVudC53cml0ZShgXHJcbiAgICAgIDxodG1sPlxyXG4gICAgICAgIDxoZWFkPlxyXG4gICAgICAgICAgPHRpdGxlPiR7dGhpcy5wcmludFRpdGxlID8gdGhpcy5wcmludFRpdGxlIDogXCJcIn08L3RpdGxlPlxyXG4gICAgICAgICAgJHtiYXNlVGFnfVxyXG4gICAgICAgICAgJHt0aGlzLnJldHVyblN0eWxlVmFsdWVzKCl9XHJcbiAgICAgICAgICAke3RoaXMucmV0dXJuU3R5bGVTaGVldExpbmtUYWdzKCl9XHJcbiAgICAgICAgICAke3N0eWxlc31cclxuICAgICAgICAgICR7bGlua3N9XHJcbiAgICAgICAgPC9oZWFkPlxyXG4gICAgICAgIDxib2R5PlxyXG4gICAgICAgICAgJHtwcmludENvbnRlbnRzfVxyXG4gICAgICAgICAgPHNjcmlwdCBkZWZlcj5cclxuICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclByaW50KGV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAke3RoaXMucHJldmlld09ubHkgPyAnJyA6IGBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgY2xvc2VXaW5kb3cod2luZG93LnByaW50KCkpO1xyXG4gICAgICAgICAgICAgIH0sICR7dGhpcy5wcmludERlbGF5fSk7YH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBjbG9zZVdpbmRvdygpe1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0cmlnZ2VyUHJpbnQsIGZhbHNlKTtcclxuICAgICAgICAgIDwvc2NyaXB0PlxyXG4gICAgICAgIDwvYm9keT5cclxuICAgICAgPC9odG1sPmApO1xyXG4gICAgcG9wdXBXaW4uZG9jdW1lbnQuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
}
|
|
6
|
+
NgxPrintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
NgxPrintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, declarations: [NgxPrintDirective], exports: [NgxPrintDirective] });
|
|
8
|
+
NgxPrintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [NgxPrintDirective],
|
|
13
|
+
imports: [],
|
|
14
|
+
exports: [NgxPrintDirective]
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXByaW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbmd4LXByaW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVExRCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUxWLGlCQUFpQixhQUd0QixpQkFBaUI7NEdBRWhCLGNBQWM7MkZBQWQsY0FBYztrQkFOMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLEVBQ1I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4UHJpbnREaXJlY3RpdmUgfSBmcm9tICcuL25neC1wcmludC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ3hQcmludERpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW05neFByaW50RGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4UHJpbnRNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -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
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, Input, HostListener, NgModule } from '@angular/core';
|
|
2
3
|
|
|
3
|
-
/**
|
|
4
|
-
* @fileoverview added by tsickle
|
|
5
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
6
|
-
*/
|
|
7
4
|
class NgxPrintDirective {
|
|
8
5
|
constructor() {
|
|
9
6
|
this._printStyle = [];
|
|
10
7
|
/**
|
|
8
|
+
* Prevents the print dialog from opening on the window
|
|
11
9
|
*
|
|
10
|
+
* @memberof NgxPrintDirective
|
|
11
|
+
*/
|
|
12
|
+
this.previewOnly = false;
|
|
13
|
+
/**
|
|
12
14
|
*
|
|
13
|
-
*
|
|
15
|
+
*
|
|
16
|
+
* @memberof NgxPrintDirective
|
|
14
17
|
*/
|
|
15
18
|
this.useExistingCss = false;
|
|
16
19
|
/**
|
|
17
20
|
* A delay in milliseconds to force the print dialog to wait before opened. Default: 0
|
|
18
21
|
*
|
|
19
|
-
*
|
|
22
|
+
* @memberof NgxPrintDirective
|
|
20
23
|
*/
|
|
21
24
|
this.printDelay = 0;
|
|
22
25
|
/**
|
|
23
26
|
*
|
|
24
27
|
*
|
|
25
|
-
* @
|
|
28
|
+
* @returns html for the given tag
|
|
26
29
|
*
|
|
27
|
-
*
|
|
30
|
+
* @memberof NgxPrintDirective
|
|
28
31
|
*/
|
|
29
32
|
this._styleSheetFile = '';
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
35
|
*
|
|
33
36
|
*
|
|
34
|
-
*
|
|
35
|
-
* @param {?} values
|
|
36
|
-
* @return {?}
|
|
37
|
+
* @memberof NgxPrintDirective
|
|
37
38
|
*/
|
|
38
39
|
set printStyle(values) {
|
|
39
40
|
for (let key in values) {
|
|
@@ -46,32 +47,25 @@ class NgxPrintDirective {
|
|
|
46
47
|
/**
|
|
47
48
|
*
|
|
48
49
|
*
|
|
49
|
-
*
|
|
50
|
-
* @return {?} the string that create the stylesheet which will be injected
|
|
50
|
+
* @returns the string that create the stylesheet which will be injected
|
|
51
51
|
* later within <style></style> tag.
|
|
52
52
|
*
|
|
53
53
|
* -join/replace to transform an array objects to css-styled string
|
|
54
54
|
*
|
|
55
|
+
* @memberof NgxPrintDirective
|
|
55
56
|
*/
|
|
56
57
|
returnStyleValues() {
|
|
57
58
|
return `<style> ${this._printStyle.join(' ').replace(/,/g, ';')} </style>`;
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
|
-
*
|
|
61
|
-
* @param
|
|
62
|
-
* @return {?}
|
|
61
|
+
* @memberof NgxPrintDirective
|
|
62
|
+
* @param cssList
|
|
63
63
|
*/
|
|
64
64
|
set styleSheetFile(cssList) {
|
|
65
|
-
|
|
66
|
-
let linkTagFn = (/**
|
|
67
|
-
* @param {?} cssFileName
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
function (cssFileName) {
|
|
65
|
+
let linkTagFn = function (cssFileName) {
|
|
71
66
|
return `<link rel="stylesheet" type="text/css" href="${cssFileName}">`;
|
|
72
|
-
}
|
|
67
|
+
};
|
|
73
68
|
if (cssList.indexOf(',') !== -1) {
|
|
74
|
-
/** @type {?} */
|
|
75
69
|
const valueArr = cssList.split(',');
|
|
76
70
|
for (let val of valueArr) {
|
|
77
71
|
this._styleSheetFile = this._styleSheetFile + linkTagFn(val);
|
|
@@ -82,23 +76,15 @@ class NgxPrintDirective {
|
|
|
82
76
|
}
|
|
83
77
|
}
|
|
84
78
|
/**
|
|
85
|
-
* @
|
|
86
|
-
* @return {?} string which contains the link tags containing the css which will
|
|
79
|
+
* @returns string which contains the link tags containing the css which will
|
|
87
80
|
* be injected later within <head></head> tag.
|
|
88
81
|
*
|
|
89
82
|
*/
|
|
90
83
|
returnStyleSheetLinkTags() {
|
|
91
84
|
return this._styleSheetFile;
|
|
92
85
|
}
|
|
93
|
-
/**
|
|
94
|
-
* @private
|
|
95
|
-
* @param {?} tag
|
|
96
|
-
* @return {?}
|
|
97
|
-
*/
|
|
98
86
|
getElementTag(tag) {
|
|
99
|
-
/** @type {?} */
|
|
100
87
|
const html = [];
|
|
101
|
-
/** @type {?} */
|
|
102
88
|
const elements = document.getElementsByTagName(tag);
|
|
103
89
|
for (let index = 0; index < elements.length; index++) {
|
|
104
90
|
html.push(elements[index].outerHTML);
|
|
@@ -107,10 +93,8 @@ class NgxPrintDirective {
|
|
|
107
93
|
}
|
|
108
94
|
/**
|
|
109
95
|
*
|
|
110
|
-
* @
|
|
111
|
-
* @param {?} data the html element collection to save defaults to
|
|
96
|
+
* @param data the html element collection to save defaults to
|
|
112
97
|
*
|
|
113
|
-
* @return {?}
|
|
114
98
|
*/
|
|
115
99
|
getFormData(data) {
|
|
116
100
|
for (var i = 0; i < data.length; i++) {
|
|
@@ -121,17 +105,13 @@ class NgxPrintDirective {
|
|
|
121
105
|
}
|
|
122
106
|
}
|
|
123
107
|
/**
|
|
124
|
-
* @
|
|
125
|
-
* @return {?} html section to be printed along with some associated inputs
|
|
108
|
+
* @returns html section to be printed along with some associated inputs
|
|
126
109
|
*
|
|
127
110
|
*/
|
|
128
111
|
getHtmlContents() {
|
|
129
|
-
/** @type {?} */
|
|
130
112
|
let printContents = document.getElementById(this.printSectionId);
|
|
131
|
-
/** @type {?} */
|
|
132
113
|
let innards = printContents.getElementsByTagName('input');
|
|
133
114
|
this.getFormData(innards);
|
|
134
|
-
/** @type {?} */
|
|
135
115
|
let txt = printContents.getElementsByTagName('textarea');
|
|
136
116
|
this.getFormData(txt);
|
|
137
117
|
return printContents.innerHTML;
|
|
@@ -139,19 +119,10 @@ class NgxPrintDirective {
|
|
|
139
119
|
/**
|
|
140
120
|
*
|
|
141
121
|
*
|
|
142
|
-
*
|
|
143
|
-
* @return {?}
|
|
122
|
+
* @memberof NgxPrintDirective
|
|
144
123
|
*/
|
|
145
124
|
print() {
|
|
146
|
-
|
|
147
|
-
let printContents;
|
|
148
|
-
/** @type {?} */
|
|
149
|
-
let popupWin;
|
|
150
|
-
/** @type {?} */
|
|
151
|
-
let styles = '';
|
|
152
|
-
/** @type {?} */
|
|
153
|
-
let links = '';
|
|
154
|
-
/** @type {?} */
|
|
125
|
+
let printContents, popupWin, styles = '', links = '';
|
|
155
126
|
const baseTag = this.getElementTag('base');
|
|
156
127
|
if (this.useExistingCss) {
|
|
157
128
|
styles = this.getElementTag('style');
|
|
@@ -175,9 +146,9 @@ class NgxPrintDirective {
|
|
|
175
146
|
<script defer>
|
|
176
147
|
function triggerPrint(event) {
|
|
177
148
|
window.removeEventListener('load', triggerPrint, false);
|
|
178
|
-
setTimeout(function() {
|
|
149
|
+
${this.previewOnly ? '' : `setTimeout(function() {
|
|
179
150
|
closeWindow(window.print());
|
|
180
|
-
}, ${this.printDelay})
|
|
151
|
+
}, ${this.printDelay});`}
|
|
181
152
|
}
|
|
182
153
|
function closeWindow(){
|
|
183
154
|
window.close();
|
|
@@ -189,45 +160,53 @@ class NgxPrintDirective {
|
|
|
189
160
|
popupWin.document.close();
|
|
190
161
|
}
|
|
191
162
|
}
|
|
192
|
-
NgxPrintDirective
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
}
|
|
163
|
+
NgxPrintDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
+
NgxPrintDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgxPrintDirective, selector: "button[ngxPrint]", inputs: { previewOnly: "previewOnly", printSectionId: "printSectionId", printTitle: "printTitle", useExistingCss: "useExistingCss", printDelay: "printDelay", printStyle: "printStyle", styleSheetFile: "styleSheetFile" }, host: { listeners: { "click": "print()" } }, ngImport: i0 });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintDirective, decorators: [{
|
|
166
|
+
type: Directive,
|
|
167
|
+
args: [{
|
|
168
|
+
selector: "button[ngxPrint]"
|
|
169
|
+
}]
|
|
170
|
+
}], propDecorators: { previewOnly: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], printSectionId: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], printTitle: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], useExistingCss: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], printDelay: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], printStyle: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], styleSheetFile: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], print: [{
|
|
185
|
+
type: HostListener,
|
|
186
|
+
args: ['click']
|
|
187
|
+
}] } });
|
|
206
188
|
|
|
207
|
-
/**
|
|
208
|
-
* @fileoverview added by tsickle
|
|
209
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
210
|
-
*/
|
|
211
189
|
class NgxPrintModule {
|
|
212
190
|
}
|
|
213
|
-
NgxPrintModule
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
]
|
|
191
|
+
NgxPrintModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
192
|
+
NgxPrintModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, declarations: [NgxPrintDirective], exports: [NgxPrintDirective] });
|
|
193
|
+
NgxPrintModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule });
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxPrintModule, decorators: [{
|
|
195
|
+
type: NgModule,
|
|
196
|
+
args: [{
|
|
197
|
+
declarations: [NgxPrintDirective],
|
|
198
|
+
imports: [],
|
|
199
|
+
exports: [NgxPrintDirective]
|
|
200
|
+
}]
|
|
201
|
+
}] });
|
|
220
202
|
|
|
221
|
-
|
|
222
|
-
*
|
|
223
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
203
|
+
/*
|
|
204
|
+
* Public API Surface of ngx-print
|
|
224
205
|
*/
|
|
225
206
|
|
|
226
207
|
/**
|
|
227
|
-
*
|
|
228
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
208
|
+
* Generated bundle index. Do not edit.
|
|
229
209
|
*/
|
|
230
210
|
|
|
231
211
|
export { NgxPrintDirective, NgxPrintModule };
|
|
232
|
-
|
|
233
|
-
//# sourceMappingURL=ngx-print.js.map
|
|
212
|
+
//# 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})\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 *\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\npublic 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 * @param data the html element collection to save defaults to\r\n * \r\n */\r\n private getFormData(data: any) {\r\n for (var i = 0; i < data.length; i++) {\r\n data[i].defaultValue = data[i].value;\r\n if(data[i].checked) {\r\n data[i].defaultChecked = true;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @returns html section to be printed along with some associated inputs\r\n * \r\n */\r\n private getHtmlContents() {\r\n let printContents = document.getElementById(this.printSectionId);\r\n let innards = printContents.getElementsByTagName('input');\r\n this.getFormData(innards);\r\n\r\n let txt = printContents.getElementsByTagName('textarea');\r\n this.getFormData(txt);\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>\r\n ${printContents}\r\n <script defer>\r\n function triggerPrint(event) {\r\n window.removeEventListener('load', triggerPrint, false);\r\n ${this.previewOnly ? '' : `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 declarations: [NgxPrintDirective],\r\n imports: [\r\n ],\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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"}
|