@osovitny/anatoly 2.0.22 → 2.0.25
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/bundles/osovitny-anatoly.umd.js +1077 -347
- package/bundles/osovitny-anatoly.umd.js.map +1 -1
- package/bundles/osovitny-anatoly.umd.min.js +2 -3
- package/bundles/osovitny-anatoly.umd.min.js.map +1 -1
- package/esm2015/lib/core/alerts.js +52 -52
- package/esm2015/lib/core/consts/index.js +2 -1
- package/esm2015/lib/core/consts/urls.js +22 -0
- package/esm2015/lib/core/convert.js +31 -0
- package/esm2015/lib/core/core.module.js +7 -3
- package/esm2015/lib/core/index.js +5 -5
- package/esm2015/lib/core/localization/index.js +26 -0
- package/esm2015/lib/core/localization/localization.module.js +41 -0
- package/esm2015/lib/core/localization/localization.service.js +115 -0
- package/esm2015/lib/core/localization/localizationSettings.module.js +70 -0
- package/esm2015/lib/core/localization/localize.pipe.js +65 -0
- package/esm2015/lib/core/notifications/alerts.js +107 -0
- package/esm2015/lib/core/notifications/interfaces/notification.js +19 -0
- package/esm2015/lib/core/notifications/services/notification-service.js +230 -0
- package/esm2015/lib/core/subs.js +1 -1
- package/esm2015/lib/core/utils.js +47 -14
- package/esm2015/lib/data/base/base-api.service.js +26 -30
- package/esm2015/lib/data/consts.js +24 -0
- package/esm2015/lib/data/data.module.js +16 -5
- package/esm2015/lib/data/index.js +6 -6
- package/esm2015/lib/data/services/billing-api.service.js +4 -5
- package/esm2015/lib/ui/index.js +4 -4
- package/esm2015/lib/ui/ui.module.js +25 -25
- package/esm2015/lib/ui/validation/form-validation-summary.component.js +64 -0
- package/esm2015/lib/ui/validation/item-validation-summary.component.js +38 -0
- package/esm2015/lib/ui/validation/validation-summary.component.js +117 -0
- package/esm2015/public-api.js +6 -1
- package/fesm2015/osovitny-anatoly.js +1027 -305
- package/fesm2015/osovitny-anatoly.js.map +1 -1
- package/lib/core/consts/index.d.ts +1 -0
- package/lib/core/consts/urls.d.ts +3 -0
- package/lib/core/convert.d.ts +7 -0
- package/lib/core/index.d.ts +4 -4
- package/lib/core/localization/index.d.ts +4 -0
- package/lib/core/localization/localization.module.d.ts +2 -0
- package/lib/core/localization/localization.service.d.ts +18 -0
- package/lib/core/localization/localizationSettings.module.d.ts +10 -0
- package/lib/core/localization/localize.pipe.d.ts +7 -0
- package/lib/core/notifications/alerts.d.ts +9 -0
- package/lib/core/notifications/interfaces/notification.d.ts +10 -0
- package/lib/core/notifications/services/notification-service.d.ts +22 -0
- package/lib/core/subs.d.ts +1 -1
- package/lib/core/utils.d.ts +4 -0
- package/lib/data/base/base-api.service.d.ts +2 -3
- package/lib/data/consts.d.ts +4 -0
- package/lib/data/data.module.d.ts +1 -0
- package/lib/data/index.d.ts +5 -5
- package/lib/ui/index.d.ts +3 -3
- package/lib/ui/ui.module.d.ts +2 -2
- package/lib/ui/{components/validation → validation}/validation-summary.component.d.ts +1 -1
- package/osovitny-anatoly.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
- package/esm2015/lib/ui/components/validation/form-validation-summary.component.js +0 -64
- package/esm2015/lib/ui/components/validation/item-validation-summary.component.js +0 -38
- package/esm2015/lib/ui/components/validation/validation-summary.component.js +0 -117
- /package/lib/ui/{components/validation → validation}/form-validation-summary.component.d.ts +0 -0
- /package/lib/ui/{components/validation → validation}/item-validation-summary.component.d.ts +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
10 May 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Pipe } from '@angular/core';
|
|
21
|
+
// App
|
|
22
|
+
import { LocalizationService } from './localization.service';
|
|
23
|
+
export class LocalizePipe {
|
|
24
|
+
constructor(localizeService) {
|
|
25
|
+
this.localizeService = localizeService;
|
|
26
|
+
}
|
|
27
|
+
transform(inputData, type, param2) {
|
|
28
|
+
if (!inputData) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!type) {
|
|
32
|
+
type = 't';
|
|
33
|
+
}
|
|
34
|
+
// Translate
|
|
35
|
+
if (type === 't') {
|
|
36
|
+
return this.localizeService.getLocalizedValue(inputData);
|
|
37
|
+
}
|
|
38
|
+
// Date
|
|
39
|
+
if (type === 'd') {
|
|
40
|
+
return this.localizeService.getLocalizedDate(inputData);
|
|
41
|
+
}
|
|
42
|
+
// DateTime
|
|
43
|
+
if (type === 'dt') {
|
|
44
|
+
return this.localizeService.getLocalizedDateTime(inputData);
|
|
45
|
+
}
|
|
46
|
+
// DistanceToNowInWords
|
|
47
|
+
if (type === 'dis2now') {
|
|
48
|
+
return this.localizeService.getLocalizedDistanceToNowInWords(inputData);
|
|
49
|
+
}
|
|
50
|
+
// DistanceInWords
|
|
51
|
+
if (type === 'dis') {
|
|
52
|
+
return this.localizeService.getLocalizedDistanceInWords(inputData, param2);
|
|
53
|
+
}
|
|
54
|
+
return inputData;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
LocalizePipe.decorators = [
|
|
58
|
+
{ type: Pipe, args: [{
|
|
59
|
+
name: 'localize'
|
|
60
|
+
},] }
|
|
61
|
+
];
|
|
62
|
+
LocalizePipe.ctorParameters = () => [
|
|
63
|
+
{ type: LocalizationService }
|
|
64
|
+
];
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2xvY2FsaXphdGlvbi9sb2NhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNO0FBQ04sT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsZUFBb0M7UUFBcEMsb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQUUsTUFBYztRQUN2RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksR0FBRyxHQUFHLENBQUM7U0FDWjtRQUVELFlBQVk7UUFDWixJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTztRQUNQLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekQ7UUFFRCxXQUFXO1FBQ1gsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5RDtRQUVELHVCQUF1QjtRQUN2QixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsa0JBQWtCO1FBQ2xCLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7O1lBMUNGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsVUFBVTthQUNqQjs7O1lBSlEsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgIDEwIE1heSAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2xvY2FsaXplJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGl6ZVNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybShpbnB1dERhdGE6IHN0cmluZywgdHlwZTogc3RyaW5nLCBwYXJhbTI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlucHV0RGF0YSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgIHR5cGUgPSAndCc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHJhbnNsYXRlXHJcbiAgICBpZiAodHlwZSA9PT0gJ3QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRMb2NhbGl6ZWRWYWx1ZShpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERhdGVcclxuICAgIGlmICh0eXBlID09PSAnZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERhdGUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEYXRlVGltZVxyXG4gICAgaWYgKHR5cGUgPT09ICdkdCcpIHtcclxuICAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRMb2NhbGl6ZWREYXRlVGltZShpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERpc3RhbmNlVG9Ob3dJbldvcmRzXHJcbiAgICBpZiAodHlwZSA9PT0gJ2RpczJub3cnKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERpc3RhbmNlVG9Ob3dJbldvcmRzKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGlzdGFuY2VJbldvcmRzXHJcbiAgICBpZiAodHlwZSA9PT0gJ2RpcycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERpc3RhbmNlSW5Xb3JkcyhpbnB1dERhdGEsIHBhcmFtMik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlucHV0RGF0YTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
3 March 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
import Swal from 'sweetalert2';
|
|
20
|
+
import { Utils } from '../utils';
|
|
21
|
+
export class Alerts {
|
|
22
|
+
static success(text, params, title, successAction) {
|
|
23
|
+
text = Utils.getLocalizedValue(text, params, 'OperationSuccessFull');
|
|
24
|
+
title = Utils.getLocalizedValue(title, null, 'Success');
|
|
25
|
+
Swal.fire({
|
|
26
|
+
text,
|
|
27
|
+
title,
|
|
28
|
+
icon: 'success',
|
|
29
|
+
confirmButtonText: Utils.getLocalizedValue('Ok')
|
|
30
|
+
})
|
|
31
|
+
.then(() => {
|
|
32
|
+
if (successAction) {
|
|
33
|
+
successAction();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static info(text, params, title) {
|
|
38
|
+
text = Utils.getLocalizedValue(text, params);
|
|
39
|
+
title = Utils.getLocalizedValue(title, null, 'Info');
|
|
40
|
+
Swal.fire({
|
|
41
|
+
text,
|
|
42
|
+
title,
|
|
43
|
+
icon: 'info',
|
|
44
|
+
confirmButtonText: Utils.getLocalizedValue('Ok')
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
static warning(text, params, title) {
|
|
48
|
+
text = Utils.getLocalizedValue(text, params);
|
|
49
|
+
title = Utils.getLocalizedValue(title, null, 'Warning');
|
|
50
|
+
Swal.fire({
|
|
51
|
+
text,
|
|
52
|
+
title,
|
|
53
|
+
icon: 'warning',
|
|
54
|
+
confirmButtonText: Utils.getLocalizedValue('Ok')
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
static error(text, params, title) {
|
|
58
|
+
text = Utils.getLocalizedValue(text, params, 'ErrorOccured');
|
|
59
|
+
title = Utils.getLocalizedValue(title, null, 'Error');
|
|
60
|
+
Swal.fire({
|
|
61
|
+
text,
|
|
62
|
+
title,
|
|
63
|
+
icon: 'error',
|
|
64
|
+
confirmButtonText: Utils.getLocalizedValue('Ok')
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
static cancel(text, params, title) {
|
|
68
|
+
text = Utils.getLocalizedValue(text, params, 'OperationCancelled');
|
|
69
|
+
title = Utils.getLocalizedValue(title, null, 'Cancelled');
|
|
70
|
+
Swal.fire({
|
|
71
|
+
text,
|
|
72
|
+
title,
|
|
73
|
+
icon: 'info'
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
static notImplemented() {
|
|
77
|
+
this.warning('Not Implemented Yet');
|
|
78
|
+
}
|
|
79
|
+
;
|
|
80
|
+
static areYouSure(text, title, confirmButtonText, cancelButtonText, successAction, cancelAction) {
|
|
81
|
+
text = Utils.getLocalizedValue(text);
|
|
82
|
+
title = Utils.getLocalizedValue(title, null, 'AreYouSure');
|
|
83
|
+
Swal.fire({
|
|
84
|
+
text,
|
|
85
|
+
title,
|
|
86
|
+
icon: 'warning',
|
|
87
|
+
confirmButtonText: Utils.getLocalizedValue(confirmButtonText),
|
|
88
|
+
cancelButtonText: Utils.getLocalizedValue(cancelButtonText),
|
|
89
|
+
showCancelButton: true
|
|
90
|
+
})
|
|
91
|
+
.then((result) => {
|
|
92
|
+
if (result.value) {
|
|
93
|
+
if (successAction) {
|
|
94
|
+
successAction();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// result.dismiss can be 'cancel', 'overlay', 'close', and 'timer'
|
|
98
|
+
else if (result.dismiss == Swal.DismissReason.cancel || result.dismiss == Swal.DismissReason.close) {
|
|
99
|
+
if (cancelAction) {
|
|
100
|
+
cancelAction();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbm90aWZpY2F0aW9ucy9hbGVydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakMsTUFBTSxPQUFPLE1BQU07SUFDVixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUssRUFBRSxNQUFjLEVBQUUsS0FBTSxFQUFFLGFBQWM7UUFDakUsSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDckUsS0FBSyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixJQUFJO1lBQ0osS0FBSztZQUNMLElBQUksRUFBRSxTQUFTO1lBQ2YsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztTQUNqRCxDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksYUFBYSxFQUFFO2dCQUNqQixhQUFhLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQWMsRUFBRSxLQUFNO1FBQzdDLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztR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SUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDbEcsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLFlBQVksRUFBRSxDQUFDO2lCQUNoQjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUEsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMyBNYXJjaCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0cyB7XHJcbiAgcHVibGljIHN0YXRpYyBzdWNjZXNzKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/LCBzdWNjZXNzQWN0aW9uPykge1xyXG4gICAgdGV4dCA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvblN1Y2Nlc3NGdWxsJyk7XHJcbiAgICB0aXRsZSA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlLCBudWxsLCAnU3VjY2VzcycpO1xyXG5cclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHRleHQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBpY29uOiAnc3VjY2VzcycsXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSgnT2snKVxyXG4gICAgfSlcclxuICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgaWYgKHN1Y2Nlc3NBY3Rpb24pIHtcclxuICAgICAgICBzdWNjZXNzQWN0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpbmZvKHRleHQsIHBhcmFtcz86IGFueVtdLCB0aXRsZT8pIHtcclxuICAgIHRleHQgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMpO1xyXG4gICAgdGl0bGUgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSwgbnVsbCwgJ0luZm8nKTtcclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgaWNvbjogJ2luZm8nLFxyXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUoJ09rJylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB3YXJuaW5nKHRleHQsIHBhcmFtcz86IGFueVtdLCB0aXRsZT8pIHtcclxuICAgIHRleHQgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMpO1xyXG4gICAgdGl0bGUgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSwgbnVsbCwgJ1dhcm5pbmcnKTtcclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxyXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUoJ09rJylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBlcnJvcih0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ0Vycm9yT2NjdXJlZCcpO1xyXG4gICAgdGl0bGUgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSwgbnVsbCwgJ0Vycm9yJyk7XHJcblxyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSgnT2snKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNhbmNlbCh0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvbkNhbmNlbGxlZCcpO1xyXG4gICAgdGl0bGUgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSwgbnVsbCwgJ0NhbmNlbGxlZCcpO1xyXG5cclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHRleHQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBpY29uOiAnaW5mbydcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG5vdEltcGxlbWVudGVkKCkge1xyXG4gICAgdGhpcy53YXJuaW5nKCdOb3QgSW1wbGVtZW50ZWQgWWV0Jyk7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBhcmVZb3VTdXJlKHRleHQsIHRpdGxlPywgY29uZmlybUJ1dHRvblRleHQ/LCBjYW5jZWxCdXR0b25UZXh0Pywgc3VjY2Vzc0FjdGlvbj8sIGNhbmNlbEFjdGlvbj8pIHtcclxuICAgIHRleHQgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0KTtcclxuICAgIHRpdGxlID0gVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUsIG51bGwsICdBcmVZb3VTdXJlJyk7XHJcblxyXG4gICAgU3dhbC5maXJlKHtcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKGNvbmZpcm1CdXR0b25UZXh0KSxcclxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUoY2FuY2VsQnV0dG9uVGV4dCksXHJcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWVcclxuICAgIH0pXHJcbiAgICAudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICBpZiAoc3VjY2Vzc0FjdGlvbikge1xyXG4gICAgICAgICAgc3VjY2Vzc0FjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyByZXN1bHQuZGlzbWlzcyBjYW4gYmUgJ2NhbmNlbCcsICdvdmVybGF5JywgJ2Nsb3NlJywgYW5kICd0aW1lcidcclxuICAgICAgZWxzZSBpZiAocmVzdWx0LmRpc21pc3MgPT0gU3dhbC5EaXNtaXNzUmVhc29uLmNhbmNlbCB8fCByZXN1bHQuZGlzbWlzcyA9PSBTd2FsLkRpc21pc3NSZWFzb24uY2xvc2UpIHtcclxuICAgICAgICBpZiAoY2FuY2VsQWN0aW9uKSB7XHJcbiAgICAgICAgICBjYW5jZWxBY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
2 Jun 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbm90aWZpY2F0aW9ucy9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyIEp1biAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElOb3RpZmljYXRpb24ge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGlzTmV3OiBib29sZWFuO1xyXG4gIGlzU2Vzc2lvbjogYm9vbGVhbjtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgY29tcG9uZW50Pzogc3RyaW5nO1xyXG4gIG9wZXJhdGlvbj86IHN0cmluZztcclxuICBjcmVhdGVkRGF0ZT86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
2 Jun 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable } from '@angular/core';
|
|
21
|
+
import { ToastrService } from 'ngx-toastr';
|
|
22
|
+
// RxJs
|
|
23
|
+
import { BehaviorSubject } from 'rxjs';
|
|
24
|
+
// App
|
|
25
|
+
import { Utils } from '../../utils';
|
|
26
|
+
import { Guid } from '../../guid';
|
|
27
|
+
import * as i0 from "@angular/core";
|
|
28
|
+
import * as i1 from "ngx-toastr";
|
|
29
|
+
// SignalR
|
|
30
|
+
// import * as signalR from '@microsoft/signalr';
|
|
31
|
+
// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';
|
|
32
|
+
export class NotificationService {
|
|
33
|
+
constructor(toastrService) {
|
|
34
|
+
this.toastrService = toastrService;
|
|
35
|
+
// SignalR
|
|
36
|
+
// private hubConnection: signalR.HubConnection;
|
|
37
|
+
// private socketUrl: string;
|
|
38
|
+
// Notifications
|
|
39
|
+
this._sessionNotifications = new BehaviorSubject([]);
|
|
40
|
+
this._serverNotifications = new BehaviorSubject([]);
|
|
41
|
+
// Public
|
|
42
|
+
this.sessionNotifications$ = this._sessionNotifications.asObservable();
|
|
43
|
+
this.serverNotifications$ = this._serverNotifications.asObservable();
|
|
44
|
+
// this.onInit();
|
|
45
|
+
}
|
|
46
|
+
/*
|
|
47
|
+
onInit() {
|
|
48
|
+
if (AppCoreSettings.AzureAD) {
|
|
49
|
+
this.authService.getAuthToken().subscribe((token: string) => {
|
|
50
|
+
this.startSignalRConnection(token);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
this.startSignalRConnection();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
this.stopSignalRConnection();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// SignalR
|
|
64
|
+
private startSignalRConnection(accessToken?) {
|
|
65
|
+
const cskii = AppCoreSettings.selectedClientID;
|
|
66
|
+
// tslint:disable-next-line:variable-name
|
|
67
|
+
const cskii_upn = AppCoreSettings.CSKII_UPN;
|
|
68
|
+
// tslint:disable-next-line:variable-name
|
|
69
|
+
const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;
|
|
70
|
+
|
|
71
|
+
const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;
|
|
72
|
+
|
|
73
|
+
if (accessToken) {
|
|
74
|
+
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
75
|
+
.withUrl(url, {
|
|
76
|
+
skipNegotiation: false,
|
|
77
|
+
transport: signalR.HttpTransportType.WebSockets,
|
|
78
|
+
accessTokenFactory: () => accessToken
|
|
79
|
+
})
|
|
80
|
+
.withAutomaticReconnect()
|
|
81
|
+
.configureLogging(signalR.LogLevel.Debug)
|
|
82
|
+
.build();
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
86
|
+
.withUrl(this.socketUrl, {
|
|
87
|
+
skipNegotiation: true,
|
|
88
|
+
transport: signalR.HttpTransportType.WebSockets
|
|
89
|
+
})
|
|
90
|
+
.withAutomaticReconnect()
|
|
91
|
+
.configureLogging(signalR.LogLevel.Debug)
|
|
92
|
+
.build();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
this.hubConnection
|
|
96
|
+
.start()
|
|
97
|
+
.then(() => this.signalRConnection_onSuccess())
|
|
98
|
+
.catch(err => {
|
|
99
|
+
console.error('Connection failed to SignalR Notification Hub')
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private signalRConnection_onSuccess() {
|
|
104
|
+
this.addReceiveMessageDataListener();
|
|
105
|
+
|
|
106
|
+
this.notificationsApiService.retrieveNotifications().subscribe(data => {
|
|
107
|
+
this.serverNotifications = data;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
stopSignalRConnection() {
|
|
112
|
+
if (this.hubConnection) {
|
|
113
|
+
this.hubConnection.stop();
|
|
114
|
+
this.hubConnection = null;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private addReceiveMessageDataListener = () => {
|
|
119
|
+
this.hubConnection.on('ReceiveMessage', (message) => {
|
|
120
|
+
if (message) {
|
|
121
|
+
if (message.type === 'error') {
|
|
122
|
+
this.error(message.text, null, null, false);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.success(message.text, null, null, false);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const notification = {
|
|
129
|
+
id: message.id,
|
|
130
|
+
isNew: message.isNew,
|
|
131
|
+
isSession: true,
|
|
132
|
+
text: message.text,
|
|
133
|
+
type: message.type,
|
|
134
|
+
createdDate: message.createdDate
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
this.addSessionNotificationToList(notification);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
*/
|
|
142
|
+
addSessionNotification(text, type) {
|
|
143
|
+
const id = Guid.newGuid();
|
|
144
|
+
const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };
|
|
145
|
+
this.addSessionNotificationToList(notification);
|
|
146
|
+
}
|
|
147
|
+
addSessionNotificationToList(notification) {
|
|
148
|
+
this.sessionNotifications = [
|
|
149
|
+
notification,
|
|
150
|
+
...this.sessionNotifications,
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
// Public API
|
|
154
|
+
removeNotification(id, isSession) {
|
|
155
|
+
if (isSession) {
|
|
156
|
+
this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
success(text, params, title, createSessionNotification = true) {
|
|
163
|
+
text = Utils.getLocalizedValue(text, params, 'OperationSuccessFull');
|
|
164
|
+
title = Utils.getLocalizedValue(title);
|
|
165
|
+
this.toastrService.success(text, title, {
|
|
166
|
+
timeOut: 3000,
|
|
167
|
+
progressBar: true
|
|
168
|
+
});
|
|
169
|
+
if (createSessionNotification) {
|
|
170
|
+
this.addSessionNotification(text, 'success');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
info(text, params, title) {
|
|
174
|
+
text = Utils.getLocalizedValue(text, params);
|
|
175
|
+
title = Utils.getLocalizedValue(title);
|
|
176
|
+
this.toastrService.info(text, title, {
|
|
177
|
+
timeOut: 3000,
|
|
178
|
+
progressBar: true
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
warning(text, params, title) {
|
|
182
|
+
text = Utils.getLocalizedValue(text, params);
|
|
183
|
+
title = Utils.getLocalizedValue(title);
|
|
184
|
+
this.toastrService.warning(text, title, {
|
|
185
|
+
timeOut: 3000,
|
|
186
|
+
progressBar: true
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
error(text, params, title, createSessionNotification = true) {
|
|
190
|
+
text = Utils.getLocalizedValue(text, params, 'ErrorOccured');
|
|
191
|
+
title = Utils.getLocalizedValue(title);
|
|
192
|
+
this.toastrService.error(text, title, {
|
|
193
|
+
timeOut: 3000,
|
|
194
|
+
progressBar: true
|
|
195
|
+
});
|
|
196
|
+
if (createSessionNotification) {
|
|
197
|
+
this.addSessionNotification(text, 'error');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
cancel(text, params, title) {
|
|
201
|
+
text = Utils.getLocalizedValue(text, params, 'OperationCancelled');
|
|
202
|
+
title = Utils.getLocalizedValue(title);
|
|
203
|
+
this.toastrService.info(text, title, {
|
|
204
|
+
timeOut: 3000,
|
|
205
|
+
progressBar: true
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
// SessionNotifications
|
|
209
|
+
get sessionNotifications() {
|
|
210
|
+
return this._sessionNotifications.getValue();
|
|
211
|
+
}
|
|
212
|
+
set sessionNotifications(val) {
|
|
213
|
+
this._sessionNotifications.next(val);
|
|
214
|
+
}
|
|
215
|
+
// ServerNotifications
|
|
216
|
+
get serverNotifications() {
|
|
217
|
+
return this._serverNotifications.getValue();
|
|
218
|
+
}
|
|
219
|
+
set serverNotifications(val) {
|
|
220
|
+
this._serverNotifications.next(val);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
NotificationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationService_Factory() { return new NotificationService(i0.ɵɵinject(i1.ToastrService)); }, token: NotificationService, providedIn: "root" });
|
|
224
|
+
NotificationService.decorators = [
|
|
225
|
+
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
226
|
+
];
|
|
227
|
+
NotificationService.ctorParameters = () => [
|
|
228
|
+
{ type: ToastrService }
|
|
229
|
+
];
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTztBQUNQLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsTUFBTTtBQUNOLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFlBQVksQ0FBQzs7O0FBR2hDLFVBQVU7QUFDVixpREFBaUQ7QUFDakQsNEdBQTRHO0FBRzVHLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaaEQsVUFBVTtRQUNWLGdEQUFnRDtRQUNoRCw2QkFBNkI7UUFFN0IsZ0JBQWdCO1FBQ1IsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUV4RSxTQUFTO1FBQ0EsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xFLHlCQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUd2RSxpQkFBaUI7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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bUIsQ0FBQyxHQUFvQjtRQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Ozs7WUFuTkYsVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7O1lBWnhCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyIEp1biAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbi8vIFJ4SnNcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xyXG4vLyBBcHBcclxuaW1wb3J0IHtVdGlsc30gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQge0d1aWR9IGZyb20gJy4uLy4uL2d1aWQnO1xyXG5pbXBvcnQge0lOb3RpZmljYXRpb259IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuXHJcbi8vIFNpZ25hbFJcclxuLy8gaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG4vLyBpbXBvcnQgeyBOb3RpZmljYXRpb25zQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWFwaS1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XHJcbiAgLy8gU2lnbmFsUlxyXG4gIC8vIHByaXZhdGUgaHViQ29ubmVjdGlvbjogc2lnbmFsUi5IdWJDb25uZWN0aW9uO1xyXG4gIC8vIHByaXZhdGUgc29ja2V0VXJsOiBzdHJpbmc7XHJcblxyXG4gIC8vIE5vdGlmaWNhdGlvbnNcclxuICBwcml2YXRlIF9zZXNzaW9uTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcbiAgcHJpdmF0ZSBfc2VydmVyTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcblxyXG4gIC8vIFB1YmxpY1xyXG4gIHJlYWRvbmx5IHNlc3Npb25Ob3RpZmljYXRpb25zJCA9IHRoaXMuX3Nlc3Npb25Ob3RpZmljYXRpb25zLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHJlYWRvbmx5IHNlcnZlck5vdGlmaWNhdGlvbnMkID0gdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlKSB7XHJcbiAgICAvLyB0aGlzLm9uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBvbkluaXQoKSB7XHJcbiAgICBpZiAoQXBwQ29yZVNldHRpbmdzLkF6dXJlQUQpIHtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoVG9rZW4oKS5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24odG9rZW4pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdG9wU2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIFNpZ25hbFJcclxuICBwcml2YXRlIHN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oYWNjZXNzVG9rZW4/KSB7XHJcbiAgICBjb25zdCBjc2tpaSA9IEFwcENvcmVTZXR0aW5ncy5zZWxlY3RlZENsaWVudElEO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgIGNvbnN0IGNza2lpX3VwbiA9IEFwcENvcmVTZXR0aW5ncy5DU0tJSV9VUE47XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gICAgY29uc3QgY2xpX3Nlc3Npb25ndWlkID0gQXBwQ29yZVNldHRpbmdzLkNMSV9TZXNzaW9uR1VJRDtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLnNvY2tldFVybCArICc/Y3NraWk9JyArIGNza2lpICsgJyZjc2tpaV91cG49JyArIGNza2lpX3VwbiArICcmY2xpX3Nlc3Npb25ndWlkPScgKyBjbGlfc2Vzc2lvbmd1aWQ7XHJcblxyXG4gICAgaWYgKGFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh1cmwsIHtcclxuICAgICAgICAgIHNraXBOZWdvdGlhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICB0cmFuc3BvcnQ6IHNpZ25hbFIuSHR0cFRyYW5zcG9ydFR5cGUuV2ViU29ja2V0cyxcclxuICAgICAgICAgIGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4gYWNjZXNzVG9rZW5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh0aGlzLnNvY2tldFVybCwge1xyXG4gICAgICAgICAgc2tpcE5lZ290aWF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaHViQ29ubmVjdGlvblxyXG4gICAgICAuc3RhcnQoKVxyXG4gICAgICAudGhlbigoKSA9PiB0aGlzLnNpZ25hbFJDb25uZWN0aW9uX29uU3VjY2VzcygpKVxyXG4gICAgICAuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdDb25uZWN0aW9uIGZhaWxlZCB0byBTaWduYWxSIE5vdGlmaWNhdGlvbiBIdWInKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaWduYWxSQ29ubmVjdGlvbl9vblN1Y2Nlc3MoKSB7XHJcbiAgICB0aGlzLmFkZFJlY2VpdmVNZXNzYWdlRGF0YUxpc3RlbmVyKCk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zQXBpU2VydmljZS5yZXRyaWV2ZU5vdGlmaWNhdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2VydmVyTm90aWZpY2F0aW9ucyA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BTaWduYWxSQ29ubmVjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmh1YkNvbm5lY3Rpb24pIHtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uLnN0b3AoKTtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkUmVjZWl2ZU1lc3NhZ2VEYXRhTGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub24oJ1JlY2VpdmVNZXNzYWdlJywgKG1lc3NhZ2UpID0+IHtcclxuICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSAnZXJyb3InKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yKG1lc3NhZ2UudGV4dCwgbnVsbCwgbnVsbCwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyhtZXNzYWdlLnRleHQsIG51bGwsIG51bGwsIGZhbHNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcclxuICAgICAgICAgIGlkOiBtZXNzYWdlLmlkLFxyXG4gICAgICAgICAgaXNOZXc6IG1lc3NhZ2UuaXNOZXcsXHJcbiAgICAgICAgICBpc1Nlc3Npb246IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICB0eXBlOiBtZXNzYWdlLnR5cGUsXHJcbiAgICAgICAgICBjcmVhdGVkRGF0ZTogbWVzc2FnZS5jcmVhdGVkRGF0ZVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTsgIFxyXG4gIH1cclxuICAqL1xyXG5cclxuICBwcml2YXRlIGFkZFNlc3Npb25Ob3RpZmljYXRpb24odGV4dDogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGlkID0gR3VpZC5uZXdHdWlkKCk7XHJcbiAgICBjb25zdCBub3RpZmljYXRpb24gPSB7IGlkLCBpc05ldzogdHJ1ZSwgaXNTZXNzaW9uOiB0cnVlLCB0ZXh0LCB0eXBlLCBjcmVhdGVkRGF0ZTogbmV3IERhdGUoRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKSB9O1xyXG5cclxuICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRTZXNzaW9uTm90aWZpY2F0aW9uVG9MaXN0KG5vdGlmaWNhdGlvbjogSU5vdGlmaWNhdGlvbikge1xyXG4gICAgdGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucyA9IFtcclxuICAgICAgbm90aWZpY2F0aW9uLFxyXG4gICAgICAuLi50aGlzLnNlc3Npb25Ob3RpZmljYXRpb25zLFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8vIFB1YmxpYyBBUElcclxuICByZW1vdmVOb3RpZmljYXRpb24oaWQ6IHN0cmluZywgaXNTZXNzaW9uOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNTZXNzaW9uKSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbk5vdGlmaWNhdGlvbnMgPSB0aGlzLnNlc3Npb25Ob3RpZmljYXRpb25zLmZpbHRlcihub3RpZmljYXRpb25zID0+IG5vdGlmaWNhdGlvbnMuaWQgIT09IGlkKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNlcnZlck5vdGlmaWNhdGlvbnMgPSB0aGlzLnNlcnZlck5vdGlmaWNhdGlvbnMuZmlsdGVyKG5vdGlmaWNhdGlvbnMgPT4gbm90aWZpY2F0aW9ucy5pZCAhPT0gaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VjY2Vzcyh0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPywgY3JlYXRlU2Vzc2lvbk5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRleHQgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdPcGVyYXRpb25TdWNjZXNzRnVsbCcpO1xyXG4gICAgdGl0bGUgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvbih0ZXh0LCAnc3VjY2VzcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5mbyh0ZXh0LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zKTtcclxuICAgIHRpdGxlID0gVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5pbmZvKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dCwgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcyk7XHJcbiAgICB0aXRsZSA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2Uud2FybmluZyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlcnJvcih0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPywgY3JlYXRlU2Vzc2lvbk5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRleHQgPSBVdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdFcnJvck9jY3VyZWQnKTtcclxuICAgIHRpdGxlID0gVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcih0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb24pIHtcclxuICAgICAgdGhpcy5hZGRTZXNzaW9uTm90aWZpY2F0aW9uKHRleHQsICdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuY2VsKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zLCAnT3BlcmF0aW9uQ2FuY2VsbGVkJyk7XHJcbiAgICB0aXRsZSA9IFV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2UuaW5mbyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBTZXNzaW9uTm90aWZpY2F0aW9uc1xyXG4gIGdldCBzZXNzaW9uTm90aWZpY2F0aW9ucygpOiBJTm90aWZpY2F0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb25Ob3RpZmljYXRpb25zLmdldFZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCBzZXNzaW9uTm90aWZpY2F0aW9ucyh2YWw6IElOb3RpZmljYXRpb25bXSkge1xyXG4gICAgdGhpcy5fc2Vzc2lvbk5vdGlmaWNhdGlvbnMubmV4dCh2YWwpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VydmVyTm90aWZpY2F0aW9uc1xyXG4gIGdldCBzZXJ2ZXJOb3RpZmljYXRpb25zKCk6IElOb3RpZmljYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuICBzZXQgc2VydmVyTm90aWZpY2F0aW9ucyh2YWw6IElOb3RpZmljYXRpb25bXSkge1xyXG4gICAgdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5uZXh0KHZhbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/lib/core/subs.js
CHANGED
|
@@ -31,4 +31,4 @@ export class Subs {
|
|
|
31
31
|
this.subs = [];
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3N1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBSUYsTUFBTSxPQUFPLElBQUk7SUFHZjtRQUZRLFNBQUksR0FBbUIsRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFaEIsR0FBRyxDQUFDLEdBQUcsYUFBNkI7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsWUFBMEI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU3VicyB7XHJcbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGFkZCguLi5zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSkge1xyXG4gICAgdGhpcy5zdWJzID0gdGhpcy5zdWJzLmNvbmNhdChzdWJzY3JpcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldCBzaW5rKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB0aGlzLnN1YnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIgJiYgc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zdWJzID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
Anatoly Osovitny
|
|
9
9
|
|
|
10
10
|
Created:
|
|
11
|
-
|
|
11
|
+
19 March 2020
|
|
12
12
|
|
|
13
13
|
Version:
|
|
14
14
|
1.0
|
|
@@ -16,36 +16,69 @@
|
|
|
16
16
|
Copyright (c) 2016-2020 Osovitny Inc. All rights reserved.
|
|
17
17
|
</file>
|
|
18
18
|
*/
|
|
19
|
+
// App
|
|
20
|
+
import { InjectorInstance } from './core.module';
|
|
21
|
+
import { LocalizationService } from './localization/localization.service';
|
|
19
22
|
export class Utils {
|
|
20
23
|
static getValueByNameInQS(name) {
|
|
21
24
|
return Utils.getValueByName(location.search, name);
|
|
22
25
|
}
|
|
23
26
|
static getValueByName(url, name) {
|
|
24
|
-
name = name.replace(/[\[]/,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
: decodeURIComponent(results[1].replace(/\+/g, " "));
|
|
27
|
+
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
28
|
+
// tslint:disable-next-line:one-variable-per-declaration
|
|
29
|
+
const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(url);
|
|
30
|
+
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
29
31
|
}
|
|
30
32
|
static copyToClipBoard(event, val) {
|
|
31
33
|
event.preventDefault();
|
|
32
|
-
|
|
33
|
-
selBox.style.position =
|
|
34
|
-
selBox.style.left =
|
|
35
|
-
selBox.style.top =
|
|
36
|
-
selBox.style.opacity =
|
|
34
|
+
const selBox = document.createElement('textarea');
|
|
35
|
+
selBox.style.position = 'fixed';
|
|
36
|
+
selBox.style.left = '0';
|
|
37
|
+
selBox.style.top = '0';
|
|
38
|
+
selBox.style.opacity = '0';
|
|
37
39
|
selBox.value = val;
|
|
38
40
|
document.body.appendChild(selBox);
|
|
39
41
|
selBox.focus();
|
|
40
42
|
selBox.select();
|
|
41
|
-
document.execCommand(
|
|
43
|
+
document.execCommand('copy');
|
|
42
44
|
document.body.removeChild(selBox);
|
|
43
45
|
}
|
|
44
46
|
static downloadFile(name, url) {
|
|
45
|
-
|
|
47
|
+
const link = document.createElement('a');
|
|
46
48
|
link.download = name;
|
|
47
49
|
link.href = url;
|
|
48
50
|
link.click();
|
|
49
51
|
}
|
|
52
|
+
// Localization
|
|
53
|
+
// @dynamic
|
|
54
|
+
static get localizationService() {
|
|
55
|
+
const ns = InjectorInstance.get(LocalizationService);
|
|
56
|
+
return ns;
|
|
57
|
+
}
|
|
58
|
+
static getLocalizedValue(key, params, defaultKey) {
|
|
59
|
+
// VadimOS: DON'T CHANGE THIS CODE. NEED TO BE REVIEWED AND APPROVED BY VADIMOS
|
|
60
|
+
// defaultKey definition:
|
|
61
|
+
// if key is empty and defaultKey is defined => get localization for defaultKey
|
|
62
|
+
// Example: cancel()
|
|
63
|
+
if (!key && defaultKey) {
|
|
64
|
+
return this.localizationService.getLocalizedValue(defaultKey);
|
|
65
|
+
}
|
|
66
|
+
// VadimOS:
|
|
67
|
+
// if key is not empty value MUST be in localization table, othewise we will return key
|
|
68
|
+
if (key) {
|
|
69
|
+
const value = this.localizationService.getLocalizedValue(key, params);
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
return key;
|
|
73
|
+
}
|
|
74
|
+
static downloadBlobFile(value, fileName) {
|
|
75
|
+
if (window.navigator.msSaveOrOpenBlob) {
|
|
76
|
+
window.navigator.msSaveOrOpenBlob(value, fileName);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const downloadURL = window.URL.createObjectURL(value);
|
|
80
|
+
Utils.downloadFile(fileName, downloadURL);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
50
83
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE1BQU0sT0FBTyxLQUFLO0lBQ1QsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUk7UUFDbkMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUk7UUFDcEMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsd0RBQXdEO1FBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLEVBRXZELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQVUsRUFBRSxHQUFXO1FBQ25ELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFZLEVBQUUsR0FBVztRQUNsRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxlQUFlO0lBQ2YsV0FBVztJQUNYLE1BQU0sS0FBSyxtQkFBbUI7UUFDNUIsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFzQixtQkFBbUIsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFXLEVBQUUsTUFBYyxFQUFFLFVBQW1CO1FBQzlFLCtFQUErRTtRQUMvRSx5QkFBeUI7UUFDekIsK0VBQStFO1FBQy9FLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsR0FBRyxJQUFJLFVBQVUsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMvRDtRQUVELFdBQVc7UUFDWCx1RkFBdUY7UUFDdkYsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBVyxFQUFFLFFBQWdCO1FBQzFELElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxOSBNYXJjaCAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBBcHBcclxuaW1wb3J0IHsgSW5qZWN0b3JJbnN0YW5jZSB9IGZyb20gJy4vY29yZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICBwdWJsaWMgc3RhdGljIGdldFZhbHVlQnlOYW1lSW5RUyhuYW1lKSB7XHJcbiAgICByZXR1cm4gVXRpbHMuZ2V0VmFsdWVCeU5hbWUobG9jYXRpb24uc2VhcmNoLCBuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VmFsdWVCeU5hbWUodXJsLCBuYW1lKSB7XHJcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXS8sICdcXFxcWycpLnJlcGxhY2UoL1tcXF1dLywgJ1xcXFxdJyk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25lLXZhcmlhYmxlLXBlci1kZWNsYXJhdGlvblxyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCdbXFxcXD8mXScgKyBuYW1lICsgJz0oW14mI10qKScpLFxyXG5cclxuICAgIHJlc3VsdHMgPSByZWdleC5leGVjKHVybCk7XHJcbiAgICByZXR1cm4gcmVzdWx0cyA9PT0gbnVsbCA/ICcnIDogZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdHNbMV0ucmVwbGFjZSgvXFwrL2csICcgJykpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjb3B5VG9DbGlwQm9hcmQoZXZlbnQ6IGFueSwgdmFsOiBzdHJpbmcpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgY29uc3Qgc2VsQm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcclxuICAgIHNlbEJveC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICBzZWxCb3guc3R5bGUubGVmdCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS50b3AgPSAnMCc7XHJcbiAgICBzZWxCb3guc3R5bGUub3BhY2l0eSA9ICcwJztcclxuICAgIHNlbEJveC52YWx1ZSA9IHZhbDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2VsQm94KTtcclxuICAgIHNlbEJveC5mb2N1cygpO1xyXG4gICAgc2VsQm94LnNlbGVjdCgpO1xyXG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2VsQm94KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZG93bmxvYWRGaWxlKG5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gbmFtZTtcclxuICAgIGxpbmsuaHJlZiA9IHVybDtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIC8vIExvY2FsaXphdGlvblxyXG4gIC8vIEBkeW5hbWljXHJcbiAgc3RhdGljIGdldCBsb2NhbGl6YXRpb25TZXJ2aWNlKCk6IExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG4gICAgY29uc3QgbnMgPSBJbmplY3Rvckluc3RhbmNlLmdldDxMb2NhbGl6YXRpb25TZXJ2aWNlPihMb2NhbGl6YXRpb25TZXJ2aWNlKTtcclxuICAgIHJldHVybiBucztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TG9jYWxpemVkVmFsdWUoa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueVtdLCBkZWZhdWx0S2V5Pzogc3RyaW5nKSB7XHJcbiAgICAvLyBWYWRpbU9TOiBET04nVCBDSEFOR0UgVEhJUyBDT0RFLiBORUVEIFRPIEJFIFJFVklFV0VEIEFORCBBUFBST1ZFRCBCWSBWQURJTU9TXHJcbiAgICAvLyBkZWZhdWx0S2V5IGRlZmluaXRpb246XHJcbiAgICAvLyBpZiBrZXkgaXMgZW1wdHkgYW5kIGRlZmF1bHRLZXkgaXMgZGVmaW5lZCA9PiBnZXQgbG9jYWxpemF0aW9uIGZvciBkZWZhdWx0S2V5XHJcbiAgICAvLyBFeGFtcGxlOiBjYW5jZWwoKVxyXG4gICAgaWYgKCFrZXkgJiYgZGVmYXVsdEtleSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmdldExvY2FsaXplZFZhbHVlKGRlZmF1bHRLZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhZGltT1M6XHJcbiAgICAvLyBpZiBrZXkgaXMgbm90IGVtcHR5IHZhbHVlIE1VU1QgYmUgaW4gbG9jYWxpemF0aW9uIHRhYmxlLCBvdGhld2lzZSB3ZSB3aWxsIHJldHVybiBrZXlcclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuZ2V0TG9jYWxpemVkVmFsdWUoa2V5LCBwYXJhbXMpO1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGtleTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZG93bmxvYWRCbG9iRmlsZSh2YWx1ZTogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYikge1xyXG4gICAgICB3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZU9yT3BlbkJsb2IodmFsdWUsIGZpbGVOYW1lKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodmFsdWUpO1xyXG4gICAgICBVdGlscy5kb3dubG9hZEZpbGUoZmlsZU5hbWUsIGRvd25sb2FkVVJMKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|