UNPKG

6.05 kBJavaScriptView Raw
1import { Injectable } from '@angular/core';
2import * as i0 from "@angular/core";
3export class PdfCspPolicyService {
4 sanitizer = undefined; // TrustedTypePolicy;
5 constructor() { }
6 init() {
7 if (typeof window === 'undefined') {
8 // server-side rendering
9 return;
10 }
11 if (globalThis.pdfViewerSanitizer) {
12 // already initialized
13 return;
14 }
15 const ttWindow = globalThis;
16 if (ttWindow.trustedTypes) {
17 this.sanitizer = ttWindow.trustedTypes.createPolicy('pdf-viewer', {
18 createHTML: (input) => input,
19 createScriptURL: (input) => input,
20 });
21 }
22 globalThis.pdfViewerSanitizer = this.sanitizer;
23 }
24 addTrustedCSS(styles, css) {
25 if (typeof window === 'undefined') {
26 // server-side rendering
27 return;
28 }
29 this.init();
30 if (this.sanitizer) {
31 styles.textContent = this.sanitizer.createHTML(css);
32 }
33 else {
34 styles.textContent = css;
35 }
36 }
37 addTrustedJavaScript(scripts, css) {
38 if (typeof window === 'undefined') {
39 // server-side rendering
40 return;
41 }
42 this.init();
43 if (this.sanitizer) {
44 scripts.src = this.sanitizer.createScriptURL(css);
45 }
46 else {
47 scripts.src = css;
48 }
49 }
50 static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: PdfCspPolicyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51 static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: PdfCspPolicyService, providedIn: 'root' });
52}
53i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: PdfCspPolicyService, decorators: [{
54 type: Injectable,
55 args: [{
56 providedIn: 'root',
57 }]
58 }], ctorParameters: () => [] });
59//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWNzcC1wb2xpY3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvcGRmLWNzcC1wb2xpY3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3RCLFNBQVMsR0FBUSxTQUFTLENBQUMsQ0FBQyxxQkFBcUI7SUFFekQsZ0JBQWUsQ0FBQztJQUVULElBQUk7UUFDVCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUNqQyx3QkFBd0I7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSyxVQUFrQixDQUFDLGtCQUFrQixFQUFFO1lBQzFDLHNCQUFzQjtZQUN0QixPQUFPO1NBQ1I7UUFDRCxNQUFNLFFBQVEsR0FBRyxVQUEyQyxDQUFDO1FBQzdELElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRTtnQkFDaEUsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO2dCQUM1QixlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEMsQ0FBQyxDQUFDO1NBQ0o7UUFDQSxVQUFrQixDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFtQixFQUFFLEdBQVc7UUFDbkQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDakMsd0JBQXdCO1lBQ3hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBbUIsQ0FBQztTQUN2RTthQUFNO1lBQ0wsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsT0FBMEIsRUFBRSxHQUFXO1FBQ2pFLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1lBQ2pDLHdCQUF3QjtZQUN4QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQW1CLENBQUM7U0FDckU7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzt1R0FoRFUsbUJBQW1COzJHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRydXN0ZWRUeXBlc1dpbmRvdyB9IGZyb20gJ3RydXN0ZWQtdHlwZXMvbGliJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBkZkNzcFBvbGljeVNlcnZpY2Uge1xuICBwcml2YXRlIHNhbml0aXplcjogYW55ID0gdW5kZWZpbmVkOyAvLyBUcnVzdGVkVHlwZVBvbGljeTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBzZXJ2ZXItc2lkZSByZW5kZXJpbmdcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKChnbG9iYWxUaGlzIGFzIGFueSkucGRmVmlld2VyU2FuaXRpemVyKSB7XG4gICAgICAvLyBhbHJlYWR5IGluaXRpYWxpemVkXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHR0V2luZG93ID0gZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIFRydXN0ZWRUeXBlc1dpbmRvdztcbiAgICBpZiAodHRXaW5kb3cudHJ1c3RlZFR5cGVzKSB7XG4gICAgICB0aGlzLnNhbml0aXplciA9IHR0V2luZG93LnRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3koJ3BkZi12aWV3ZXInLCB7XG4gICAgICAgIGNyZWF0ZUhUTUw6IChpbnB1dCkgPT4gaW5wdXQsXG4gICAgICAgIGNyZWF0ZVNjcmlwdFVSTDogKGlucHV0KSA9PiBpbnB1dCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAoZ2xvYmFsVGhpcyBhcyBhbnkpLnBkZlZpZXdlclNhbml0aXplciA9IHRoaXMuc2FuaXRpemVyO1xuICB9XG5cbiAgcHVibGljIGFkZFRydXN0ZWRDU1Moc3R5bGVzOiBIVE1MRWxlbWVudCwgY3NzOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIHNlcnZlci1zaWRlIHJlbmRlcmluZ1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmluaXQoKTtcbiAgICBpZiAodGhpcy5zYW5pdGl6ZXIpIHtcbiAgICAgIHN0eWxlcy50ZXh0Q29udGVudCA9IHRoaXMuc2FuaXRpemVyLmNyZWF0ZUhUTUwoY3NzKSBhcyB1bmtub3duIGFzIGFueTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzLnRleHRDb250ZW50ID0gY3NzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRUcnVzdGVkSmF2YVNjcmlwdChzY3JpcHRzOiBIVE1MU2NyaXB0RWxlbWVudCwgY3NzOiBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIHNlcnZlci1zaWRlIHJlbmRlcmluZ1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmluaXQoKTtcbiAgICBpZiAodGhpcy5zYW5pdGl6ZXIpIHtcbiAgICAgIHNjcmlwdHMuc3JjID0gdGhpcy5zYW5pdGl6ZXIuY3JlYXRlU2NyaXB0VVJMKGNzcykgYXMgdW5rbm93biBhcyBhbnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjcmlwdHMuc3JjID0gY3NzO1xuICAgIH1cbiAgfVxufVxuIl19
\No newline at end of file