zek 16.1.27 → 16.1.29
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/esm2022/lib/components/base.component.mjs +3 -17
- package/esm2022/lib/services/web.api.mjs +7 -4
- package/esm2022/lib/utils/file.helper.mjs +18 -1
- package/fesm2022/zek.mjs +24 -18
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/services/web.api.d.ts +3 -2
- package/lib/utils/bootstrap.helper.d.ts +1 -1
- package/lib/utils/file.helper.d.ts +1 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { AppBaseModule } from '../zek.module';
|
|
|
3
3
|
import { PrintType } from '../models/print.model';
|
|
4
4
|
import { WebApiClient } from '../services';
|
|
5
5
|
import { CoreComponent } from './core.component';
|
|
6
|
-
import { Convert, UrlHelper } from '../utils';
|
|
6
|
+
import { Convert, FileHelper, UrlHelper } from '../utils';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/router";
|
|
9
9
|
export class BaseComponent extends CoreComponent {
|
|
@@ -46,21 +46,7 @@ export class BaseComponent extends CoreComponent {
|
|
|
46
46
|
this.navigateReturnUrl();
|
|
47
47
|
}
|
|
48
48
|
downloadFile(blob, fileName, type) {
|
|
49
|
-
|
|
50
|
-
return;
|
|
51
|
-
const nav = window.navigator;
|
|
52
|
-
if (nav && nav.msSaveOrOpenBlob) {
|
|
53
|
-
nav.msSaveOrOpenBlob(blob, fileName);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
let a = document.createElement('a');
|
|
57
|
-
a.href = URL.createObjectURL(blob);
|
|
58
|
-
a.download = fileName;
|
|
59
|
-
a.target = '_blank';
|
|
60
|
-
document.body.appendChild(a);
|
|
61
|
-
a.click();
|
|
62
|
-
document.body.removeChild(a);
|
|
63
|
-
}
|
|
49
|
+
FileHelper.download(blob, fileName);
|
|
64
50
|
}
|
|
65
51
|
print(id, printType) {
|
|
66
52
|
const split = this.url.split('/');
|
|
@@ -94,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
94
80
|
}], model: [{
|
|
95
81
|
type: Input
|
|
96
82
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRzFELE1BQU0sT0FBTyxhQUE0QixTQUFRLGFBQWE7SUFDMUQsWUFDdUIsS0FBcUIsRUFDckIsTUFBYztRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQUhXLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFNN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVNsQixTQUFJLEdBQWtCLElBQUksQ0FBQztJQVpuQyxDQUFDO0lBSUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFHRCxJQUFjLEdBQUc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQU1TLFFBQVEsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ1MsYUFBYSxDQUFDLElBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHUyxpQkFBaUI7UUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsaURBQWlEO1lBQ2pELHVHQUF1RztZQUN2RyxrS0FBa0s7WUFDbEssT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBR0QsTUFBTTtRQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBaUIsRUFBRSxRQUFnQixFQUFFLElBQW9CO1FBQ2xFLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxLQUFLLENBQUMsRUFBa0IsRUFBRSxTQUFxQjtRQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLE9BQU87U0FDVjtRQUNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZSxZQUFrQyxDQUFDLENBQUM7UUFFdkYsSUFBSSxVQUFrQixDQUFDO1FBRXZCLFFBQVEsU0FBUyxFQUFFO1lBQ2YsS0FBSyxTQUFTLENBQUMsR0FBRztnQkFDZCxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQzlCLE1BQU07WUFFVjtnQkFDSSxVQUFVLEdBQUcsWUFBWSxDQUFBO2dCQUN6QixNQUFNO1NBQ2I7UUFDRCxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsVUFBVSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekUsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDOUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBbEZRLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzswSEFZRixRQUFRO3NCQURYLEtBQUs7Z0JBZUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBQUklNQVJZX09VVExFVCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFwcEJhc2VNb2R1bGUgfSBmcm9tICcuLi96ZWsubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IFByaW50VHlwZSB9IGZyb20gJy4uL21vZGVscy9wcmludC5tb2RlbCc7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4vY29yZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgQ29udmVydCwgRmlsZUhlbHBlciwgVXJsSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50PFRNb2RlbCA9IGFueT4gZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9yZWFkT25seSA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCByZWFkT25seSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZE9ubHkodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5fdXJsKVxyXG4gICAgICAgICAgICB0aGlzLl91cmwgPSBVcmxIZWxwZXIuZ2V0Tm9QYXJhbSh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw/OiBUTW9kZWwgfCBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChuYW1lKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRRdWVyeVBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGVSZXR1cm5VcmwoKSB7XHJcbiAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5nZXRRdWVyeVBhcmFtKCdyZXR1cm5VcmwnKSB8fCB0aGlzLmdldFBhcmFtKCdyZXR1cm5VcmwnKTtcclxuICAgICAgICBpZiAocmV0dXJuVXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgLy8gbGV0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybChyZXR1cm5VcmwpO1xyXG4gICAgICAgICAgICAvLyBjb25zdCB1cmxXaXRob3V0UGFyYW1zID0gdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50cy5tYXAoaXQgPT4gaXQucGF0aCkuam9pbignLycpXHJcbiAgICAgICAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmxXaXRob3V0UGFyYW1zLCB1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzW3VybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHMubGVuZ3RoIC0gMV0ucGFyYW1ldGVyc10pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXIudXJsLnN1YnN0cmluZygwLCB0aGlzLnJvdXRlci51cmwubGFzdEluZGV4T2YoJy8nKSldKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGVSZXR1cm5VcmwoKTtcclxuICAgIH1cclxuXHJcbiAgICBkb3dubG9hZEZpbGUoYmxvYjogQmxvYiB8IG51bGwsIGZpbGVOYW1lOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgRmlsZUhlbHBlci5kb3dubG9hZChibG9iLCBmaWxlTmFtZSk7XHJcbiAgICB9XHJcbiAgICBwcmludChpZD86IG51bWJlciB8IG51bGwsIHByaW50VHlwZT86IFByaW50VHlwZSkge1xyXG4gICAgICAgIGNvbnN0IHNwbGl0ID0gdGhpcy51cmwuc3BsaXQoJy8nKTtcclxuICAgICAgICBpZiAoc3BsaXQubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gc3BsaXRbMV07XHJcbiAgICAgICAgbGV0IGFwaSA9IEFwcEJhc2VNb2R1bGUuaW5qZWN0b3IuZ2V0PFdlYkFwaUNsaWVudD4oV2ViQXBpQ2xpZW50IGFzIFR5cGU8V2ViQXBpQ2xpZW50Pik7XHJcblxyXG4gICAgICAgIGxldCBhY3Rpb25OYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgICAgIHN3aXRjaCAocHJpbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgUHJpbnRUeXBlLlBkZjpcclxuICAgICAgICAgICAgICAgIGFjdGlvbk5hbWUgPSAnUHJpbnRQZGZJZExpbmsnO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYWN0aW9uTmFtZSA9ICdTaG93SWRMaW5rJ1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFwaS5nZXRTdHJpbmcoYGFwaS9SZXBvcnRzLyR7YWN0aW9uTmFtZX1gLCB7IHRlbXBsYXRlLCBpZCB9KS5zdWJzY3JpYmUodXJsID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -5,9 +5,9 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/common/http";
|
|
6
6
|
import * as i2 from "./auth.service";
|
|
7
7
|
export class WebApiClient {
|
|
8
|
-
constructor(http,
|
|
8
|
+
constructor(http, auth, baseUrl) {
|
|
9
9
|
this.http = http;
|
|
10
|
-
this.
|
|
10
|
+
this.auth = auth;
|
|
11
11
|
this.baseUrl = baseUrl;
|
|
12
12
|
}
|
|
13
13
|
get(url, params) {
|
|
@@ -32,6 +32,9 @@ export class WebApiClient {
|
|
|
32
32
|
getBlob(url, params) {
|
|
33
33
|
return this.http.get(this.baseUrl + url, { headers: this.getHeaders(), responseType: 'blob', params: this.toHttpParams(params) });
|
|
34
34
|
}
|
|
35
|
+
postBlob(url, body) {
|
|
36
|
+
return this.http.post(this.baseUrl + url, body, { headers: this.getHeaders(), responseType: 'blob' });
|
|
37
|
+
}
|
|
35
38
|
toHttpParams(obj) {
|
|
36
39
|
if (!obj)
|
|
37
40
|
return undefined;
|
|
@@ -97,7 +100,7 @@ export class WebApiClient {
|
|
|
97
100
|
getHeaders() {
|
|
98
101
|
let httpHeaders = new HttpHeaders();
|
|
99
102
|
httpHeaders = httpHeaders.set('Content-Type', 'application/json');
|
|
100
|
-
const tmp = this.
|
|
103
|
+
const tmp = this.auth.user;
|
|
101
104
|
const token = tmp ? tmp.token : undefined;
|
|
102
105
|
if (token)
|
|
103
106
|
httpHeaders = httpHeaders.set('Authorization', token);
|
|
@@ -126,4 +129,4 @@ export class CustomHttpParamEncoder {
|
|
|
126
129
|
return decodeURIComponent(value);
|
|
127
130
|
}
|
|
128
131
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL3dlYi5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLENBQUEsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBT3pDLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFlBQ3VCLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ0osT0FBZTtRQUZuQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ0osWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUMxRCxDQUFDO0lBRUQsR0FBRyxDQUFVLEdBQVcsRUFBRSxNQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRzs7Ozs7Ozs7O01BU0Y7SUFDRixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFlO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RJLENB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Q0QsU0FBUyxDQUFDLEdBQVc7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQWE7UUFDckIsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMvKiwgSHR0cEVycm9yUmVzcG9uc2UqLyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG4vL2ltcG9ydCB7IG9mIH0gZnJvbSAncnhqcy9vYnNlcnZhYmxlL29mJztcclxuLy9pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbi8vaW1wb3J0IHsgZGVsZXRlTnVsbFByb3BlcnRpZXMgfSBmcm9tICcuLi91dGlscyc7XHJcbi8vaW1wb3J0IHsgSHR0cEVycm9ySGFuZGxlciwgSGFuZGxlRXJyb3IgfSBmcm9tICcuL2h0dHAtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtZXRlckNvZGVjIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUElfQkFTRV9VUkwgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJBcGlDb25maWcge1xyXG4gICAgYmFzZVVybDogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBXZWJBcGlDbGllbnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KEFQSV9CQVNFX1VSTCkgcHJpdmF0ZSByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXQ8VCA9IGFueT4odXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcGFyYW1zOiB0aGlzLnRvSHR0cFBhcmFtcyhwYXJhbXMpIH0pO1xyXG4gICAgICAgIC8qLmNhdGNoKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKSlcclxuICAgICAgICAuZG8oKHJlczogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIHN1Y2Nlc3MsIG1heWJlIGRpc3BsYXkgbm90aWZpY2F0aW9uXHJcbiAgICAgICAgfSwgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8gSGFuZGxlIGVycm9yc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBSZXF1ZXN0IGNvbXBsZXRlZFxyXG4gICAgICAgIH0pO1xyXG4gICAgKi9cclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHJpbmcodXJsOiBzdHJpbmcsIHBhcmFtcz86IG9iamVjdCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAndGV4dCcsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuICAgIGdldEJ5dGVzKHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEFycmF5QnVmZmVyPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLCByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuICAgIGdldEJsb2IodXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYmxvYicsIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHByb3RlY3RlZCB0b0h0dHBQYXJhbXMob2JqOiBhbnkpIHtcclxuICAgICAgICBpZiAoIW9iailcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBQYXJhbUVuY29kZXIoKSB9KTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gb2JqW2tleV07XHJcblxyXG4gICAgICAgICAgICBpZiAoZmllbGQgPT09IHVuZGVmaW5lZCB8fCBmaWVsZCA9PT0gbnVsbCB8fCAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJyAmJiBmaWVsZC5sZW5ndGggPT09IDApKVxyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBmaWVsZDtcclxuICAgICAgICAgICAgLy8gaWYgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdmFsdWUgPSBmaWVsZC5yZXBsYWNlKC9cXCsvZ2ksICclMkInKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgLy8gaWYgKGZpZWxkIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoYCR7a2V5fVtdYCwgaXRlbSk7XHJcbiAgICAgICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCBmaWVsZCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcclxuXHJcblxyXG4gICAgICAgIC8vZGVsZXRlTnVsbFByb3BlcnRpZXMob2JqKTtcclxuICAgICAgICAvL2NvbW1lbnQgYmVjYXVzZSBpbnRbXSBub3Qgc2VuZGluZyBpbiBjIyBpdCBzZW5kIFwiMSwyLDMsNFwiXHJcbiAgICAgICAgLy8gcmV0dXJuIG9ialxyXG4gICAgICAgIC8vICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgb2JqW2tleV0pLCBuZXcgSHR0cFBhcmFtcygpKVxyXG4gICAgICAgIC8vICAgICA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvS2V5UGFpcnMob2JqOiBhbnkpOiBLZXlQYWlyW10gfCB1bmRlZmluZWQge1xyXG4gICAgLy8gICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxLZXlQYWlyPigpO1xyXG4gICAgLy8gICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpbcHJvcGVydHldO1xyXG4gICAgLy8gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogcHJvcGVydHksIHZhbHVlOiB2YWx1ZSB9KTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvL31cclxuXHJcbiAgICBwb3N0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIHB1dDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdCgnZGVsZXRlJywgdGhpcy5iYXNlVXJsICsgdXJsLCB7IGJvZHksIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoZW52aXJvbm1lbnQudXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vLnBpcGUoXHJcbiAgICAgICAgLy9jYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodXJsKSlcclxuICAgICAgICAvLyk7XHJcbiAgICB9XHJcbiAgICBwYXRjaDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFQ+KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG4gICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuYXV0aFNlcnZpY2UudXNlcjtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IHRtcCA/IHRtcC50b2tlbiA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodG9rZW4pXHJcbiAgICAgICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgdG9rZW4pO1xyXG4gICAgICAgIHJldHVybiBodHRwSGVhZGVycztcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC8vcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zPzogS2V5UGFpcltdIHwgbnVsbCkge1xyXG4gICAgLy8gICAgaWYgKCFwYXJhbXMgfHwgcGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICBsZXQgaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAvLyAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XHJcbiAgICAvLyAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChwYXJhbS5rZXksIHBhcmFtLnZhbHVlKTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICByZXR1cm4gaHR0cFBhcmFtcztcclxuICAgIC8vfVxyXG59XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21IdHRwUGFyYW1FbmNvZGVyIGltcGxlbWVudHMgSHR0cFBhcmFtZXRlckNvZGVjIHtcclxuICAgIGVuY29kZUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChrZXkpO1xyXG4gICAgfVxyXG4gICAgZW5jb2RlVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBkZWNvZGVLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoa2V5KTtcclxuICAgIH1cclxuICAgIGRlY29kZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpO1xyXG4gICAgfVxyXG59Il19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL3dlYi5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLENBQUEsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBT3pDLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFlBQ3VCLElBQWdCLEVBQ2hCLElBQWlCLEVBQ0csT0FBZTtRQUZuQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDRyxZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQzFELENBQUM7SUFFRCxHQUFHLENBQVUsR0FBVyxFQUFFLE1BQVk7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HOzs7Ozs7Ozs7TUFTRjtJQUNGLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVyxFQUFFLE1BQWU7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEksQ0FB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VTs7MEJBS0YsTUFBTTsyQkFBQyxZQUFZOztBQW1JNUIsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcy8qLCBIdHRwRXJyb3JSZXNwb25zZSovIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbi8vaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzL29ic2VydmFibGUvb2YnO1xyXG4vL2ltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuLy9pbXBvcnQgeyBkZWxldGVOdWxsUHJvcGVydGllcyB9IGZyb20gJy4uL3V0aWxzJztcclxuLy9pbXBvcnQgeyBIdHRwRXJyb3JIYW5kbGVyLCBIYW5kbGVFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQSV9CQVNFX1VSTCB9IGZyb20gJy4uL3Rva2Vucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYkFwaUNvbmZpZyB7XHJcbiAgICBiYXNlVXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFdlYkFwaUNsaWVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChBUElfQkFTRV9VUkwpIHByaXZhdGUgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksIHBhcmFtczogdGhpcy50b0h0dHBQYXJhbXMocGFyYW1zKSB9KTtcclxuICAgICAgICAvKi5jYXRjaChjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodXJsKSkpXHJcbiAgICAgICAgLmRvKChyZXM6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIEhhbmRsZSBzdWNjZXNzLCBtYXliZSBkaXNwbGF5IG5vdGlmaWNhdGlvblxyXG4gICAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIC8vIEhhbmRsZSBlcnJvcnNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gUmVxdWVzdCBjb21wbGV0ZWRcclxuICAgICAgICB9KTtcclxuICAgICovXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3RyaW5nKHVybDogc3RyaW5nLCBwYXJhbXM/OiBvYmplY3QpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyB1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksIHJlc3BvbnNlVHlwZTogJ3RleHQnLCBwYXJhbXM6IHRoaXMudG9IdHRwUGFyYW1zKHBhcmFtcykgfSk7XHJcbiAgICB9XHJcbiAgICBnZXRCeXRlcyh1cmw6IHN0cmluZywgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxBcnJheUJ1ZmZlcj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArIHVybCwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLCBwYXJhbXM6IHRoaXMudG9IdHRwUGFyYW1zKHBhcmFtcykgfSk7XHJcbiAgICB9XHJcbiAgICBnZXRCbG9iKHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPEJsb2I+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyB1cmwsIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksIHJlc3BvbnNlVHlwZTogJ2Jsb2InLCBwYXJhbXM6IHRoaXMudG9IdHRwUGFyYW1zKHBhcmFtcykgfSk7XHJcbiAgICB9XHJcbiAgICBwb3N0QmxvYih1cmw6IHN0cmluZywgYm9keTogYW55KTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSwgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCB0b0h0dHBQYXJhbXMob2JqOiBhbnkpIHtcclxuICAgICAgICBpZiAoIW9iailcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBQYXJhbUVuY29kZXIoKSB9KTtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvYmopKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gb2JqW2tleV07XHJcblxyXG4gICAgICAgICAgICBpZiAoZmllbGQgPT09IHVuZGVmaW5lZCB8fCBmaWVsZCA9PT0gbnVsbCB8fCAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJyAmJiBmaWVsZC5sZW5ndGggPT09IDApKVxyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBmaWVsZDtcclxuICAgICAgICAgICAgLy8gaWYgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycgJiYgZmllbGQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdmFsdWUgPSBmaWVsZC5yZXBsYWNlKC9cXCsvZ2ksICclMkInKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgLy8gaWYgKGZpZWxkIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZpZWxkLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoYCR7a2V5fVtdYCwgaXRlbSk7XHJcbiAgICAgICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCBmaWVsZCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcclxuXHJcblxyXG4gICAgICAgIC8vZGVsZXRlTnVsbFByb3BlcnRpZXMob2JqKTtcclxuICAgICAgICAvL2NvbW1lbnQgYmVjYXVzZSBpbnRbXSBub3Qgc2VuZGluZyBpbiBjIyBpdCBzZW5kIFwiMSwyLDMsNFwiXHJcbiAgICAgICAgLy8gcmV0dXJuIG9ialxyXG4gICAgICAgIC8vICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikucmVkdWNlKChwLCBrZXkpID0+IHAuc2V0KGtleSwgb2JqW2tleV0pLCBuZXcgSHR0cFBhcmFtcygpKVxyXG4gICAgICAgIC8vICAgICA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvS2V5UGFpcnMob2JqOiBhbnkpOiBLZXlQYWlyW10gfCB1bmRlZmluZWQge1xyXG4gICAgLy8gICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xyXG4gICAgLy8gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxLZXlQYWlyPigpO1xyXG4gICAgLy8gICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpbcHJvcGVydHldO1xyXG4gICAgLy8gICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogcHJvcGVydHksIHZhbHVlOiB2YWx1ZSB9KTtcclxuICAgIC8vICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAvL31cclxuXHJcbiAgICBwb3N0PFQgPSBhbnk+KHVybDogc3RyaW5nLCBib2R5PzogYW55IHwgbnVsbCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIHB1dDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPih0aGlzLmJhc2VVcmwgKyB1cmwsIGJvZHksIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSk7XHJcbiAgICAgICAgLy8ucGlwZShcclxuICAgICAgICAvL2NhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcih1cmwpKVxyXG4gICAgICAgIC8vKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdCgnZGVsZXRlJywgdGhpcy5iYXNlVXJsICsgdXJsLCB7IGJvZHksIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoZW52aXJvbm1lbnQudXJsICsgdXJsLCB7IGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpIH0pO1xyXG4gICAgICAgIC8vLnBpcGUoXHJcbiAgICAgICAgLy9jYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IodXJsKSlcclxuICAgICAgICAvLyk7XHJcbiAgICB9XHJcbiAgICBwYXRjaDxUID0gYW55Pih1cmw6IHN0cmluZywgYm9keT86IGFueSB8IG51bGwpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFQ+KHRoaXMuYmFzZVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEhlYWRlcnMoKTogSHR0cEhlYWRlcnMge1xyXG4gICAgICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG4gICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuYXV0aC51c2VyO1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gdG1wID8gdG1wLnRva2VuIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0b2tlbilcclxuICAgICAgICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCB0b2tlbik7XHJcbiAgICAgICAgcmV0dXJuIGh0dHBIZWFkZXJzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLy9wcml2YXRlIGdldFBhcmFtcyhwYXJhbXM/OiBLZXlQYWlyW10gfCBudWxsKSB7XHJcbiAgICAvLyAgICBpZiAoIXBhcmFtcyB8fCBwYXJhbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIC8vICAgIGlmIChwYXJhbXMpIHtcclxuICAgIC8vICAgICAgICBmb3IgKGxldCBwYXJhbSBvZiBwYXJhbXMpIHtcclxuICAgIC8vICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KHBhcmFtLmtleSwgcGFyYW0udmFsdWUpO1xyXG4gICAgLy8gICAgICAgIH1cclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIHJldHVybiBodHRwUGFyYW1zO1xyXG4gICAgLy99XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUh0dHBQYXJhbUVuY29kZXIgaW1wbGVtZW50cyBIdHRwUGFyYW1ldGVyQ29kZWMge1xyXG4gICAgZW5jb2RlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGtleSk7XHJcbiAgICB9XHJcbiAgICBlbmNvZGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcclxuICAgIH1cclxuICAgIGRlY29kZUtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChrZXkpO1xyXG4gICAgfVxyXG4gICAgZGVjb2RlVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -22,5 +22,22 @@ export class FileHelper {
|
|
|
22
22
|
}
|
|
23
23
|
return '';
|
|
24
24
|
}
|
|
25
|
+
static download(blob, fileName) {
|
|
26
|
+
if (!blob)
|
|
27
|
+
return;
|
|
28
|
+
const nav = window.navigator;
|
|
29
|
+
if (nav && nav.msSaveOrOpenBlob) {
|
|
30
|
+
nav.msSaveOrOpenBlob(blob, fileName);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
let a = document.createElement('a');
|
|
34
|
+
a.href = URL.createObjectURL(blob);
|
|
35
|
+
a.download = fileName;
|
|
36
|
+
a.target = '_blank';
|
|
37
|
+
document.body.appendChild(a);
|
|
38
|
+
a.click();
|
|
39
|
+
document.body.removeChild(a);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
25
42
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9maWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQ3BDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSTtZQUNsQyxPQUFPLElBQUksQ0FBQztRQUVoQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFFRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNwQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUVoQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUM1QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxLQUFLLE1BQU0sR0FBRyxDQUFDO29CQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDOztvQkFFakMsT0FBTyxFQUFFLENBQUM7YUFDakI7WUFDRCxJQUFJLEVBQUUsSUFBSSxzQkFBc0IsSUFBSSxFQUFFLElBQUkseUJBQXlCLElBQUksRUFBRSxJQUFJLG1CQUFtQjtnQkFDNUYsTUFBTTtTQUNiO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQixFQUFFLFFBQWdCO1FBQy9DLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixNQUFNLEdBQUcsR0FBSSxNQUFNLENBQUMsU0FBaUIsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUU7WUFDN0IsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRmlsZUhlbHBlciB7XHJcbiAgICBzdGF0aWMgZ2V0RXh0ZW5zaW9uKHBhdGg/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHBhdGggPT09IHVuZGVmaW5lZCB8fCBwYXRoID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInBhdGggcGFyYW1ldGVyIGlzIG5vdCBzdHJpbmdcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaXJlY3RvcnlTZXBhcmF0b3JDaGFyID0gJ1xcXFwnO1xyXG4gICAgICAgIGNvbnN0IGFsdERpcmVjdG9yeVNlcGFyYXRvckNoYXIgPSAnLyc7XHJcbiAgICAgICAgY29uc3Qgdm9sdW1lU2VwYXJhdG9yQ2hhciA9ICc6JztcclxuXHJcbiAgICAgICAgbGV0IGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBsZW5ndGg7IC0taSA+PSAwOykge1xyXG4gICAgICAgICAgICBsZXQgY2ggPSBwYXRoW2ldO1xyXG4gICAgICAgICAgICBpZiAoY2ggPT09ICcuJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGkgIT09IGxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGguc3Vic3RyaW5nKGksIGxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjaCA9PSBkaXJlY3RvcnlTZXBhcmF0b3JDaGFyIHx8IGNoID09IGFsdERpcmVjdG9yeVNlcGFyYXRvckNoYXIgfHwgY2ggPT0gdm9sdW1lU2VwYXJhdG9yQ2hhcilcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgZG93bmxvYWQoYmxvYjogQmxvYiB8IG51bGwsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2ID0gKHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55KTtcclxuICAgICAgICBpZiAobmF2ICYmIG5hdi5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgICAgICAgIG5hdi5tc1NhdmVPck9wZW5CbG9iKGJsb2IsIGZpbGVOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgYS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgICAgICBhLnRhcmdldCA9ICdfYmxhbmsnO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
package/fesm2022/zek.mjs
CHANGED
|
@@ -789,6 +789,23 @@ class FileHelper {
|
|
|
789
789
|
}
|
|
790
790
|
return '';
|
|
791
791
|
}
|
|
792
|
+
static download(blob, fileName) {
|
|
793
|
+
if (!blob)
|
|
794
|
+
return;
|
|
795
|
+
const nav = window.navigator;
|
|
796
|
+
if (nav && nav.msSaveOrOpenBlob) {
|
|
797
|
+
nav.msSaveOrOpenBlob(blob, fileName);
|
|
798
|
+
}
|
|
799
|
+
else {
|
|
800
|
+
let a = document.createElement('a');
|
|
801
|
+
a.href = URL.createObjectURL(blob);
|
|
802
|
+
a.download = fileName;
|
|
803
|
+
a.target = '_blank';
|
|
804
|
+
document.body.appendChild(a);
|
|
805
|
+
a.click();
|
|
806
|
+
document.body.removeChild(a);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
792
809
|
}
|
|
793
810
|
|
|
794
811
|
class ObjectHelper {
|
|
@@ -1722,9 +1739,9 @@ const RECAPTCHA_SITE_KEY = new InjectionToken('RECAPTCHA_SITE_KEY');
|
|
|
1722
1739
|
const GOOGLE_CLIENT_ID = new InjectionToken('GOOGLE_CLIENT_ID');
|
|
1723
1740
|
|
|
1724
1741
|
class WebApiClient {
|
|
1725
|
-
constructor(http,
|
|
1742
|
+
constructor(http, auth, baseUrl) {
|
|
1726
1743
|
this.http = http;
|
|
1727
|
-
this.
|
|
1744
|
+
this.auth = auth;
|
|
1728
1745
|
this.baseUrl = baseUrl;
|
|
1729
1746
|
}
|
|
1730
1747
|
get(url, params) {
|
|
@@ -1749,6 +1766,9 @@ class WebApiClient {
|
|
|
1749
1766
|
getBlob(url, params) {
|
|
1750
1767
|
return this.http.get(this.baseUrl + url, { headers: this.getHeaders(), responseType: 'blob', params: this.toHttpParams(params) });
|
|
1751
1768
|
}
|
|
1769
|
+
postBlob(url, body) {
|
|
1770
|
+
return this.http.post(this.baseUrl + url, body, { headers: this.getHeaders(), responseType: 'blob' });
|
|
1771
|
+
}
|
|
1752
1772
|
toHttpParams(obj) {
|
|
1753
1773
|
if (!obj)
|
|
1754
1774
|
return undefined;
|
|
@@ -1814,7 +1834,7 @@ class WebApiClient {
|
|
|
1814
1834
|
getHeaders() {
|
|
1815
1835
|
let httpHeaders = new HttpHeaders();
|
|
1816
1836
|
httpHeaders = httpHeaders.set('Content-Type', 'application/json');
|
|
1817
|
-
const tmp = this.
|
|
1837
|
+
const tmp = this.auth.user;
|
|
1818
1838
|
const token = tmp ? tmp.token : undefined;
|
|
1819
1839
|
if (token)
|
|
1820
1840
|
httpHeaders = httpHeaders.set('Authorization', token);
|
|
@@ -1958,21 +1978,7 @@ class BaseComponent extends CoreComponent {
|
|
|
1958
1978
|
this.navigateReturnUrl();
|
|
1959
1979
|
}
|
|
1960
1980
|
downloadFile(blob, fileName, type) {
|
|
1961
|
-
|
|
1962
|
-
return;
|
|
1963
|
-
const nav = window.navigator;
|
|
1964
|
-
if (nav && nav.msSaveOrOpenBlob) {
|
|
1965
|
-
nav.msSaveOrOpenBlob(blob, fileName);
|
|
1966
|
-
}
|
|
1967
|
-
else {
|
|
1968
|
-
let a = document.createElement('a');
|
|
1969
|
-
a.href = URL.createObjectURL(blob);
|
|
1970
|
-
a.download = fileName;
|
|
1971
|
-
a.target = '_blank';
|
|
1972
|
-
document.body.appendChild(a);
|
|
1973
|
-
a.click();
|
|
1974
|
-
document.body.removeChild(a);
|
|
1975
|
-
}
|
|
1981
|
+
FileHelper.download(blob, fileName);
|
|
1976
1982
|
}
|
|
1977
1983
|
print(id, printType) {
|
|
1978
1984
|
const split = this.url.split('/');
|