@libs-ui/services-notification 0.2.28 → 0.2.30-6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/components/base.component.mjs +3 -3
- package/esm2022/components/text/text.component.mjs +3 -3
- package/esm2022/notification.service.mjs +10 -6
- package/fesm2022/libs-ui-services-notification.mjs +14 -10
- package/fesm2022/libs-ui-services-notification.mjs.map +1 -1
- package/notification.service.d.ts +2 -1
- package/package.json +6 -3
|
@@ -2,9 +2,9 @@ import { Directive, input } from '@angular/core';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class LibUiServiceNotificationBaseComponent {
|
|
5
|
-
|
|
5
|
+
// #region PROPERTY
|
|
6
6
|
onDestroy = new Subject();
|
|
7
|
-
|
|
7
|
+
// #region INPUT
|
|
8
8
|
message = input('');
|
|
9
9
|
interpolateParams = input();
|
|
10
10
|
title = input('');
|
|
@@ -20,4 +20,4 @@ export class LibUiServiceNotificationBaseComponent {
|
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServiceNotificationBaseComponent, decorators: [{
|
|
21
21
|
type: Directive
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8scUNBQXFDO0lBQ2hELG1CQUFtQjtJQUNULFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTFDLGdCQUFnQjtJQUNQLE9BQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUIsaUJBQWlCLEdBQUcsS0FBSyxFQUEyQixDQUFDO0lBQ3JELEtBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDMUIsTUFBTSxHQUFHLEtBQUssQ0FBMEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLGVBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QyxDQUFDO0lBRW5GLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0FkVSxxQ0FBcUM7NEZBQXJDLHFDQUFxQzs7NEZBQXJDLHFDQUFxQztrQkFEakQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblRleHRDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbic7XG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMaWJVaVNlcnZpY2VOb3RpZmljYXRpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcm90ZWN0ZWQgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQ8SU5vdGlmaWNhdGlvblRleHRDb25maWc+KHsgdHlwZTogJ3N1Y2Nlc3MnLCB0aW1lUmVtb3ZlOiAyMDAwIH0pO1xuICByZWFkb25seSByZW1vdmVDb21wb25lbnQgPSBpbnB1dC5yZXF1aXJlZDwoY29tcG9uZW50OiB1bmtub3duKSA9PiBQcm9taXNlPHZvaWQ+PigpO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -6,10 +6,10 @@ import { LibUiServiceNotificationBaseComponent } from '../base.component';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ngx-translate/core";
|
|
8
8
|
export class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent {
|
|
9
|
-
|
|
9
|
+
// #region PROPERTY
|
|
10
10
|
containerClass = signal('');
|
|
11
11
|
icon = signal('');
|
|
12
|
-
|
|
12
|
+
// #region INJECT
|
|
13
13
|
elementRef = inject(ElementRef);
|
|
14
14
|
constructor() {
|
|
15
15
|
super();
|
|
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{ selector: 'libs_ui-services-notification-components-text', standalone: true, imports: [TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"libs-ui-toast\"\n [class]=\"containerClass()\"\n [style.zIndex]=\"config().zIndex || 2000\">\n <div class=\"flex items-center\">\n <i class=\"{{ icon() }}\"></i>\n </div>\n <div class=\"flex flex-col w-full\">\n @if (title()) {\n <div class=\"libs-ui-font-h5m text-break\"\n [innerHtml]=\"title() | translate \">\n </div>\n }\n @if (message()) {\n <div class=\"text-break\"\n [class.libs-ui-font-h5r]=\"!title()\"\n [class.libs-ui-font-h7r]=\"title()\"\n [class.mt-[4ppx]]=\"title()\"\n [innerHtml]=\"message() | translate: (interpolateParams() || {})\">\n </div>\n }\n </div>\n <div class=\"flex items-center\">\n <i class=\"libs-ui-icon-close mr-0 ml-[8px] cursor-pointer\"\n (click)=\"handlerClickClose($event)\">\n </i>\n </div>\n</div>\n", styles: ["@-webkit-keyframes animation-move{0%{right:-200px;opacity:0}to{right:12px;opacity:1}}@keyframes animation-move{0%{right:-200px;opacity:0}to{right:12px;opacity:1}}.libs-ui-toast{position:fixed;padding:12px 16px;display:flex;width:300px;flex-shrink:0;border-radius:8px;animation:animation-move .3s linear}.libs-ui-toast [class*=libs-ui-icon]{font-size:16px;margin-right:16px}.libs-ui-toast.libs-ui-toast_success{background-color:#e6faf0;color:#00bc62}.libs-ui-toast.libs-ui-toast_success [class*=libs-ui-icon]:before{color:#00bc62}.libs-ui-toast.libs-ui-toast_warning{background-color:#feeee6;color:#f05800}.libs-ui-toast.libs-ui-toast_warning [class*=libs-ui-icon]:before{color:#f05800}.libs-ui-toast.libs-ui-toast_error{background-color:#fdeaec;color:#ee2d41}.libs-ui-toast.libs-ui-toast_error [class*=libs-ui-icon]:before{color:#ee2d41}.libs-ui-toast.libs-ui-toast_info{background-color:#e9f1fe;color:#226ff5}.libs-ui-toast.libs-ui-toast_info [class*=libs-ui-icon]:before{color:#226ff5}\n"] }]
|
|
59
59
|
}], ctorParameters: () => [] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9zZXJ2aWNlcy9ub3RpZmljYXRpb24vc3JjL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVcxRSxNQUFNLE9BQU8sb0NBQXFDLFNBQVEscUNBQXFDO0lBQzdGLG1CQUFtQjtJQUNULGNBQWMsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDcEMsSUFBSSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVwQyxpQkFBaUI7SUFDVCxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRXZDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNO1lBRVIsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQzVDLE1BQU07WUFFUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQztnQkFDakQsTUFBTTtZQUVSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1lBRVI7Z0JBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFOUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQsZUFBZTtJQUVMLGlCQUFpQixDQUFDLENBQVE7UUFDbEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO3dHQXREVSxvQ0FBb0M7NEZBQXBDLG9DQUFvQyxnSUNmakQsODBCQTJCQSxzaENEZlksZUFBZTs7NEZBR2Qsb0NBQW9DO2tCQVRoRCxTQUFTOytCQUVFLCtDQUErQyxjQUc3QyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUMsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpYlVpU2VydmljZU5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktc2VydmljZXMtbm90aWZpY2F0aW9uLWNvbXBvbmVudHMtdGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGliVWlTZXJ2aWNlc0NvbXBvbmVudHNUZXh0Q29tcG9uZW50IGV4dGVuZHMgTGliVWlTZXJ2aWNlTm90aWZpY2F0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcm90ZWN0ZWQgY29udGFpbmVyQ2xhc3MgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIHByb3RlY3RlZCBpY29uID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIC8vICNyZWdpb24gSU5KRUNUXG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnKCkudHlwZSkge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHRoaXMuY29udGFpbmVyQ2xhc3Muc2V0KCdsaWJzLXVpLXRvYXN0X3N1Y2Nlc3MnKTtcbiAgICAgICAgdGhpcy5pY29uLnNldCgnbGlicy11aS1pY29uLWNoZWNrLWNpcmNsZS1zb2xpZCcpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgIHRoaXMuY29udGFpbmVyQ2xhc3Muc2V0KCdsaWJzLXVpLXRvYXN0X2luZm8nKTtcbiAgICAgICAgdGhpcy5pY29uLnNldCgnbGlicy11aS1pY29uLXRvb2x0aXAtc29saWQnKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcy5zZXQoJ2xpYnMtdWktdG9hc3RfZXJyb3InKTtcbiAgICAgICAgdGhpcy5pY29uLnNldCgnbGlicy11aS1pY29uLWNsb3NlLWNpcmNsZS1zb2xpZCcpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgIHRoaXMuY29udGFpbmVyQ2xhc3Muc2V0KCdsaWJzLXVpLXRvYXN0X3dhcm5pbmcnKTtcbiAgICAgICAgdGhpcy5pY29uLnNldCgnbGlicy11aS1pY29uLWFsZXJ0LXRyaWFuZ2xlLXNvbGlkJyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmNvbnRhaW5lckNsYXNzLnNldCgnYmctWyM2ZmQxMDBdIGxpYnMtdWktdG9hc3Rfc3VjY2VzcycpO1xuICAgICAgICB0aGlzLmljb24uc2V0KCdtby1pY24tdG9hc3Rfc3VjY2VzcycpO1xuICAgIH1cbiAgICBjb25zdCB7IGV2ZW50TmFtZSwgY2FsbGJhY2sgfSA9IHRoaXMuY29uZmlnKCk7XG5cbiAgICBpZiAoIWV2ZW50TmFtZSB8fCAhY2FsbGJhY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgdGhpcy5jb250YWluZXJDbGFzcy51cGRhdGUodmFsdWUgPT4gYCR7dmFsdWV9IGN1cnNvci1wb2ludGVyYCk7XG4gICAgfVxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lKS5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSksIHRha2UoMSkpLnN1YnNjcmliZShjYWxsYmFjayk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cblxuICBwcm90ZWN0ZWQgaGFuZGxlckNsaWNrQ2xvc2UoZTogRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlQ29tcG9uZW50KCkoZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsaWJzLXVpLXRvYXN0XCJcbiAgW2NsYXNzXT1cImNvbnRhaW5lckNsYXNzKClcIlxuICBbc3R5bGUuekluZGV4XT1cImNvbmZpZygpLnpJbmRleCB8fCAyMDAwXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxpIGNsYXNzPVwie3sgaWNvbigpIH19XCI+PC9pPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsXCI+XG4gICAgQGlmICh0aXRsZSgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1mb250LWg1bSB0ZXh0LWJyZWFrXCJcbiAgICAgICAgW2lubmVySHRtbF09XCJ0aXRsZSgpIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAobWVzc2FnZSgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1icmVha1wiXG4gICAgICAgIFtjbGFzcy5saWJzLXVpLWZvbnQtaDVyXT1cIiF0aXRsZSgpXCJcbiAgICAgICAgW2NsYXNzLmxpYnMtdWktZm9udC1oN3JdPVwidGl0bGUoKVwiXG4gICAgICAgIFtjbGFzcy5tdC1bNHBweF1dPVwidGl0bGUoKVwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwibWVzc2FnZSgpIHwgdHJhbnNsYXRlOiAoaW50ZXJwb2xhdGVQYXJhbXMoKSB8fCB7fSlcIj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxpIGNsYXNzPVwibGlicy11aS1pY29uLWNsb3NlIG1yLTAgbWwtWzhweF0gY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZXJDbGlja0Nsb3NlKCRldmVudClcIj5cbiAgICA8L2k+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -6,26 +6,30 @@ import { Observable } from 'rxjs';
|
|
|
6
6
|
import { LibUiServicesComponentsTextComponent } from './components';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class LibsUiNotificationService {
|
|
9
|
-
|
|
9
|
+
// #region PROPERTY
|
|
10
10
|
notificationPermission = signal('default');
|
|
11
11
|
queueMessage = signal(new Array());
|
|
12
12
|
timeoutUpdatePosition = signal(0);
|
|
13
13
|
MAX_QUEUE_MESSAGE = 5;
|
|
14
14
|
isInit = signal(false);
|
|
15
|
-
|
|
15
|
+
messageNamePostToParent = signal('MICRO_SITE_PUSH_MESSAGE_FROM_CHILD');
|
|
16
|
+
// #region INJECT
|
|
16
17
|
dynamicService = inject(LibsUiDynamicComponentService);
|
|
17
18
|
translateService = inject(TranslateService);
|
|
18
19
|
constructor() {
|
|
19
20
|
this.notificationPermission.set(this.systemSupportNotification() ? 'default' : 'denied');
|
|
20
21
|
}
|
|
21
22
|
/* FUNCTIONS */
|
|
22
|
-
init(messageNameHandler) {
|
|
23
|
+
init(messageNameHandler, messageNamePostToParent) {
|
|
23
24
|
if (this.isInit()) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
this.isInit.set(true);
|
|
28
|
+
if (messageNamePostToParent) {
|
|
29
|
+
this.messageNamePostToParent.set(messageNamePostToParent);
|
|
30
|
+
}
|
|
27
31
|
UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {
|
|
28
|
-
if (isEmbedFrame()) {
|
|
32
|
+
if (!isEmbedFrame()) {
|
|
29
33
|
const dataMessage = e.data.response;
|
|
30
34
|
this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });
|
|
31
35
|
return;
|
|
@@ -113,7 +117,7 @@ export class LibsUiNotificationService {
|
|
|
113
117
|
}
|
|
114
118
|
if (isEmbedFrame()) {
|
|
115
119
|
const messageTranslate = this.translateService.instant(message, interpolateParams);
|
|
116
|
-
return UtilsCommunicateMicro.PostMessageToParent({ type:
|
|
120
|
+
return UtilsCommunicateMicro.PostMessageToParent({ type: this.messageNamePostToParent(), response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });
|
|
117
121
|
}
|
|
118
122
|
const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);
|
|
119
123
|
component.setInput('title', title);
|
|
@@ -183,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
183
187
|
providedIn: 'root'
|
|
184
188
|
}]
|
|
185
189
|
}], ctorParameters: () => [] });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBT3BFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsY0FBYztJQUNOLHNCQUFzQixHQUFHLE1BQU0sQ0FBeUIsU0FBUyxDQUFDLENBQUM7SUFDbkUsWUFBWSxHQUFHLE1BQU0sQ0FBNEIsSUFBSSxLQUFLLEVBQXNCLENBQUMsQ0FBQztJQUNsRixxQkFBcUIsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFDakMsaUJBQWlCLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFeEMsWUFBWTtJQUNKLGNBQWMsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVwRDtRQUNFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELGVBQWU7SUFDUixJQUFJLENBQUMsa0JBQWlDO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixxQkFBcUIsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakUsSUFBSSxZQUFZLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQXVDLENBQUM7Z0JBRW5FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFFekosT0FBTztZQUNULENBQUM7WUFDRCxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixPQUFPLGNBQWMsSUFBSSxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztZQUN0QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWtDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUcsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsVUFBa0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztZQUN2RyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFZLFVBQVUsQ0FBQyxVQUFrQztRQUN2RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsT0FBNkI7UUFDekUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO2dCQUN0QyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2hELEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRWhELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO29CQUNkLFlBQVksRUFBRSxNQUFNO29CQUNwQixLQUFLLEVBQUUsQ0FBQztpQkFDVCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRWYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO29CQUNkLFlBQVksRUFBRSxNQUFNO29CQUNwQixLQUFLLEVBQUUsQ0FBQztpQkFDVCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDZixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsS0FBSyxFQUFFLENBQUM7aUJBQ1QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7Z0JBQ3BCLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxNQUFzQztRQUNwRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hPLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsTUFBc0M7UUFDbEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLElBQUksSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0TyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsT0FBZSxFQUFFLE1BQXNDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDck8sQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxNQUFzQztRQUNwRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsSUFBSSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JPLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsaUJBQTJDLEVBQUUsS0FBYyxFQUFFLFNBQWtDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFO1FBQzVLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxpQkFBaUIsSUFBSSxPQUFPLGlCQUFpQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9ELE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDN0MsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUNuQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFXLENBQUM7WUFFN0YsT0FBTyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxvQ0FBb0MsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOU8sQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUVwRyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2QyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsRixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULFNBQVM7Z0JBQ1QsTUFBTTtnQkFDTixPQUFPO2FBQ1IsQ0FBQyxDQUFDO1lBRUgsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sZUFBZSxDQUFDLFNBQWdDO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTVGLElBQUksV0FBVyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdEQsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUF3QixDQUFDO1FBRXJFLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUNELFlBQVksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFFcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRTtnQkFDMUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBRTdDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsVUFBVSxJQUFJLENBQUM7Z0JBQ3RDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2dCQUUvQyxJQUFJLFlBQVksRUFBRSxFQUFFLENBQUM7b0JBQ25CLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2IsQ0FBQztnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7d0dBdE1VLHlCQUF5Qjs0R0FBekIseUJBQXlCLGNBSHhCLE1BQU07OzRGQUdQLHlCQUF5QjtrQkFKckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaWJzVWlEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJ0BsaWJzLXVpL3NlcnZpY2VzLWR5bmFtaWMtY29tcG9uZW50JztcbmltcG9ydCB7IFV0aWxzQ29tbXVuaWNhdGVNaWNybywgZW5jcnlwdCwgZXNjYXBlSHRtbCwgZ2V0LCBpc0VtYmVkRnJhbWUgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJVaVNlcnZpY2VzQ29tcG9uZW50c1RleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblB1c2hGcm9tSUZyYW1lLCBJTm90aWZpY2F0aW9uUXVldWUsIElOb3RpZmljYXRpb25UZXh0Q29uZmlnLCBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaU5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICAvKiBQUk9QRVJUWSAqL1xuICBwcml2YXRlIG5vdGlmaWNhdGlvblBlcm1pc3Npb24gPSBzaWduYWw8Tm90aWZpY2F0aW9uUGVybWlzc2lvbj4oJ2RlZmF1bHQnKTtcbiAgcHJpdmF0ZSBxdWV1ZU1lc3NhZ2UgPSBzaWduYWw8QXJyYXk8SU5vdGlmaWNhdGlvblF1ZXVlPj4obmV3IEFycmF5PElOb3RpZmljYXRpb25RdWV1ZT4oKSk7XG4gIHByaXZhdGUgdGltZW91dFVwZGF0ZVBvc2l0aW9uID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1FVRVVFX01FU1NBR0U6IG51bWJlciA9IDU7XG4gIHByaXZhdGUgaXNJbml0ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKiBJTkpFQ1QgKi9cbiAgcHJpdmF0ZSBkeW5hbWljU2VydmljZSA9IGluamVjdChMaWJzVWlEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblBlcm1pc3Npb24uc2V0KHRoaXMuc3lzdGVtU3VwcG9ydE5vdGlmaWNhdGlvbigpID8gJ2RlZmF1bHQnIDogJ2RlbmllZCcpO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHB1YmxpYyBpbml0KG1lc3NhZ2VOYW1lSGFuZGxlcjogQXJyYXk8c3RyaW5nPikge1xuICAgIGlmICh0aGlzLmlzSW5pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNJbml0LnNldCh0cnVlKTtcbiAgICBVdGlsc0NvbW11bmljYXRlTWljcm8uR2V0TWVzc2FnZShtZXNzYWdlTmFtZUhhbmRsZXIpLnN1YnNjcmliZShlID0+IHtcbiAgICAgIGlmIChpc0VtYmVkRnJhbWUoKSkge1xuICAgICAgICBjb25zdCBkYXRhTWVzc2FnZSA9IGUuZGF0YS5yZXNwb25zZSBhcyBJTm90aWZpY2F0aW9uUHVzaEZyb21JRnJhbWU7XG5cbiAgICAgICAgdGhpcy5zaG93Q29tcFR5cGVUZXh0KGRhdGFNZXNzYWdlLm1lc3NhZ2UsIHVuZGVmaW5lZCwgZGF0YU1lc3NhZ2UudGl0bGUsIHsgdHlwZTogZGF0YU1lc3NhZ2UuZnVuY3Rpb25OYW1lLCB0aW1lUmVtb3ZlOiBkYXRhTWVzc2FnZS50aW1lUmVtb3ZlIHx8IDIwMDAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgVXRpbHNDb21tdW5pY2F0ZU1pY3JvLlBvc3RNZXNzYWdlVG9QYXJlbnQoZS5kYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRlU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzeXN0ZW1TdXBwb3J0Tm90aWZpY2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAnTm90aWZpY2F0aW9uJyBpbiB3aW5kb3c7XG4gIH1cblxuICBwdWJsaWMgc3lzdGVtUmVxdWVzdFBlcm1pc3Npb24oKSB7XG4gICAgaWYgKCF0aGlzLnN5c3RlbVN1cHBvcnROb3RpZmljYXRpb24oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigocGVybWlzc2lvbjogTm90aWZpY2F0aW9uUGVybWlzc2lvbikgPT4gdGhpcy5QZXJtaXNzaW9uID0gcGVybWlzc2lvbik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKHBlcm1pc3Npb246IE5vdGlmaWNhdGlvblBlcm1pc3Npb24pID0+IHRoaXMuUGVybWlzc2lvbiA9IHBlcm1pc3Npb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0IFBlcm1pc3Npb24ocGVybWlzc2lvbjogTm90aWZpY2F0aW9uUGVybWlzc2lvbikge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUGVybWlzc2lvbi5zZXQocGVybWlzc2lvbik7XG4gIH1cblxuICBwdWJsaWMgc3lzdGVtU3Bhd25Ob3RpZmljYXRpb24odGl0bGU6IHN0cmluZywgb3B0aW9ucz86IE5vdGlmaWNhdGlvbk9wdGlvbnMpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgaWYgKCF0aGlzLnN5c3RlbVN1cHBvcnROb3RpZmljYXRpb24oKSkge1xuICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblBlcm1pc3Npb24oKSAhPT0gJ2dyYW50ZWQnKSB7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfVxuICAgICAgY29uc3Qgbm90aWZ5ID0gbmV3IE5vdGlmaWNhdGlvbih0aXRsZSwgb3B0aW9ucyk7XG5cbiAgICAgIG5vdGlmeS5vbnNob3cgPSAoZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2JzLm5leHQoe1xuICAgICAgICAgIG5vdGlmaWNhdGlvbjogbm90aWZ5LFxuICAgICAgICAgIGV2ZW50OiBlXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIG5vdGlmeS5vbmNsaWNrID0gKGUpID0+IHtcbiAgICAgICAgbm90aWZ5LmNsb3NlKCk7XG4gICAgICAgIHdpbmRvdy5mb2N1cygpO1xuXG4gICAgICAgIHJldHVybiBvYnMubmV4dCh7XG4gICAgICAgICAgbm90aWZpY2F0aW9uOiBub3RpZnksXG4gICAgICAgICAgZXZlbnQ6IGVcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgbm90aWZ5Lm9uZXJyb3IgPSAoZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2JzLmVycm9yKHtcbiAgICAgICAgICBub3RpZmljYXRpb246IG5vdGlmeSxcbiAgICAgICAgICBldmVudDogZVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBub3RpZnkub25jbG9zZSA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q29tcFR5cGVUZXh0U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IElOb3RpZmljYXRpb25UZXh0UHVibGljQ29uZmlnKSB7XG4gICAgdGhpcy5zaG93Q29tcFR5cGVUZXh0KG1lc3NhZ2UsIGNvbmZpZz8uaW50ZXJwb2xhdGVQYXJhbXMsIGNvbmZpZz8udGl0bGUsIHsgdHlwZTogJ3N1Y2Nlc3MnLCB0aW1lUmVtb3ZlOiBjb25maWc/LnRpbWVSZW1vdmUgfHwgMzAwMCwgcG9zaXRpb25SaWdodDogY29uZmlnPy5wb3NpdGlvblJpZ2h0LCBldmVudE5hbWU6IGNvbmZpZz8uZXZlbnROYW1lLCBjYWxsYmFjazogY29uZmlnPy5jYWxsYmFjayB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q29tcFR5cGVUZXh0RXJyb3IobWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZykge1xuICAgIHRoaXMuc2hvd0NvbXBUeXBlVGV4dChtZXNzYWdlLCBjb25maWc/LmludGVycG9sYXRlUGFyYW1zLCBjb25maWc/LnRpdGxlLCB7IHR5cGU6ICdlcnJvcicsIHRpbWVSZW1vdmU6IGNvbmZpZz8udGltZVJlbW92ZSB8fCAzMDAwLCBwb3NpdGlvblJpZ2h0OiBjb25maWc/LnBvc2l0aW9uUmlnaHQsIGV2ZW50TmFtZTogY29uZmlnPy5ldmVudE5hbWUsIGNhbGxiYWNrOiBjb25maWc/LmNhbGxiYWNrIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRJbmZvKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogSU5vdGlmaWNhdGlvblRleHRQdWJsaWNDb25maWcpIHtcbiAgICB0aGlzLnNob3dDb21wVHlwZVRleHQobWVzc2FnZSwgY29uZmlnPy5pbnRlcnBvbGF0ZVBhcmFtcywgY29uZmlnPy50aXRsZSwgeyB0eXBlOiAnaW5mbycsIHRpbWVSZW1vdmU6IGNvbmZpZz8udGltZVJlbW92ZSB8fCAzMDAwLCBwb3NpdGlvblJpZ2h0OiBjb25maWc/LnBvc2l0aW9uUmlnaHQsIGV2ZW50TmFtZTogY29uZmlnPy5ldmVudE5hbWUsIGNhbGxiYWNrOiBjb25maWc/LmNhbGxiYWNrIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRXYXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogSU5vdGlmaWNhdGlvblRleHRQdWJsaWNDb25maWcpIHtcbiAgICB0aGlzLnNob3dDb21wVHlwZVRleHQobWVzc2FnZSwgY29uZmlnPy5pbnRlcnBvbGF0ZVBhcmFtcywgY29uZmlnPy50aXRsZSwgeyB0eXBlOiAnd2FybicsIHRpbWVSZW1vdmU6IGNvbmZpZz8udGltZVJlbW92ZSB8fCAzMDAwLCBwb3NpdGlvblJpZ2h0OiBjb25maWc/LnBvc2l0aW9uUmlnaHQsIGV2ZW50TmFtZTogY29uZmlnPy5ldmVudE5hbWUsIGNhbGxiYWNrOiBjb25maWc/LmNhbGxiYWNrIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93Q29tcFR5cGVUZXh0KG1lc3NhZ2U6IHN0cmluZywgaW50ZXJwb2xhdGVQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgdGl0bGU/OiBzdHJpbmcsIGNvbmZpZzogSU5vdGlmaWNhdGlvblRleHRDb25maWcgPSB7IHR5cGU6ICdzdWNjZXNzJywgdGltZVJlbW92ZTogMjAwMCB9KTogdm9pZCB7XG4gICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGVja1F1ZXVlTWVzc2FnZSgpO1xuICAgIGlmIChpbnRlcnBvbGF0ZVBhcmFtcyAmJiB0eXBlb2YgaW50ZXJwb2xhdGVQYXJhbXMgPT09ICdvYmplY3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhpbnRlcnBvbGF0ZVBhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGludGVycG9sYXRlUGFyYW1zW2tleV0gPSBlc2NhcGVIdG1sKGdldChpbnRlcnBvbGF0ZVBhcmFtcywga2V5KSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNFbWJlZEZyYW1lKCkpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VUcmFuc2xhdGUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlLCBpbnRlcnBvbGF0ZVBhcmFtcykgYXMgc3RyaW5nO1xuXG4gICAgICByZXR1cm4gVXRpbHNDb21tdW5pY2F0ZU1pY3JvLlBvc3RNZXNzYWdlVG9QYXJlbnQoeyB0eXBlOiAnTUlDUk9fU0lURV9QVVNIX01FU1NBR0VfRlJPTV9DSElMRCcsIHJlc3BvbnNlOiBlbmNyeXB0KEpTT04uc3RyaW5naWZ5KHsgZnVuY3Rpb25OYW1lOiBjb25maWcudHlwZSwgbWVzc2FnZTogbWVzc2FnZVRyYW5zbGF0ZSwgdGl0bGUsIHRpbWVSZW1vdmU6IGNvbmZpZy50aW1lUmVtb3ZlIHx8IDIwMDAgfSkpIH0pO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmR5bmFtaWNTZXJ2aWNlLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KExpYlVpU2VydmljZXNDb21wb25lbnRzVGV4dENvbXBvbmVudCk7XG5cbiAgICBjb21wb25lbnQuc2V0SW5wdXQoJ3RpdGxlJywgdGl0bGUpO1xuICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnbWVzc2FnZScsIG1lc3NhZ2UpO1xuICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnaW50ZXJwb2xhdGVQYXJhbXMnLCBpbnRlcnBvbGF0ZVBhcmFtcyk7XG4gICAgY29tcG9uZW50LnNldElucHV0KCdjb25maWcnLCBjb25maWcpO1xuICAgIGNvbXBvbmVudC5zZXRJbnB1dCgncmVtb3ZlQ29tcG9uZW50JywgdGhpcy5yZW1vdmVDb21wb25lbnQuYmluZCh0aGlzLCBjb21wb25lbnQpKTtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH0sIGNvbmZpZz8udGltZVJlbW92ZSk7XG5cbiAgICB0aGlzLnF1ZXVlTWVzc2FnZS51cGRhdGUocXVldWUgPT4ge1xuICAgICAgcXVldWUucHVzaCh7XG4gICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICB0aW1lb3V0XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIFsuLi5xdWV1ZV07XG4gICAgfSk7XG4gICAgdGhpcy5keW5hbWljU2VydmljZS5hZGRUb0JvZHkoY29tcG9uZW50KTtcbiAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uTWVzc2FnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVDb21wb25lbnQoY29tcG9uZW50OiBDb21wb25lbnRSZWY8dW5rbm93bj4pIHtcbiAgICB0aGlzLmR5bmFtaWNTZXJ2aWNlLnJlbW92ZShjb21wb25lbnQpO1xuICAgIGNvbnN0IGluZGV4UmVtb3ZlID0gdGhpcy5xdWV1ZU1lc3NhZ2UoKS5maW5kSW5kZXgoY29uZmlnID0+IGNvbmZpZy5jb21wb25lbnQgPT09IGNvbXBvbmVudCk7XG5cbiAgICBpZiAoaW5kZXhSZW1vdmUgIT09IC0xKSB7XG4gICAgICB0aGlzLnF1ZXVlTWVzc2FnZS51cGRhdGUocXVldWUgPT4ge1xuICAgICAgICBxdWV1ZS5zcGxpY2UoaW5kZXhSZW1vdmUsIDEpO1xuICAgICAgICByZXR1cm4gWy4uLnF1ZXVlXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tRdWV1ZU1lc3NhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucXVldWVNZXNzYWdlLmxlbmd0aCA8IHRoaXMuTUFYX1FVRVVFX01FU1NBR0UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RRdWV1ZSA9IHRoaXMucXVldWVNZXNzYWdlKCkuc2hpZnQoKSBhcyBJTm90aWZpY2F0aW9uUXVldWU7XG5cbiAgICBjbGVhclRpbWVvdXQoZmlyc3RRdWV1ZS50aW1lb3V0KTtcbiAgICB0aGlzLmR5bmFtaWNTZXJ2aWNlLnJlbW92ZShmaXJzdFF1ZXVlLmNvbXBvbmVudCk7XG4gICAgdGhpcy51cGRhdGVQb3NpdGlvbk1lc3NhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUG9zaXRpb25NZXNzYWdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5xdWV1ZU1lc3NhZ2UoKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFVwZGF0ZVBvc2l0aW9uKCkpO1xuICAgIHRoaXMudGltZW91dFVwZGF0ZVBvc2l0aW9uLnNldChzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCB0b3BNZXNzYWdlID0gMTI7XG5cbiAgICAgIHRoaXMucXVldWVNZXNzYWdlKCkuZm9yRWFjaCgobWVzc2FnZTogSU5vdGlmaWNhdGlvblF1ZXVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpcnN0RWwgPSBtZXNzYWdlLmNvbXBvbmVudC5pbnN0YW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBmaXJzdEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGZpcnN0RWwuc3R5bGUudG9wID0gYCR7dG9wTWVzc2FnZX1weGA7XG4gICAgICAgIHRvcE1lc3NhZ2UgKz0gcmVjdC5oZWlnaHQgKyAxMjtcbiAgICAgICAgbGV0IHJpZ2h0ID0gbWVzc2FnZS5jb25maWcucG9zaXRpb25SaWdodCA/PyAxMjtcblxuICAgICAgICBpZiAoaXNFbWJlZEZyYW1lKCkpIHtcbiAgICAgICAgICByaWdodCA9IDQwO1xuICAgICAgICB9XG4gICAgICAgIGZpcnN0RWwuc3R5bGUucmlnaHQgPSBgJHtyaWdodH1weGA7XG4gICAgICB9KTtcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBT3BFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsbUJBQW1CO0lBQ1gsc0JBQXNCLEdBQUcsTUFBTSxDQUF5QixTQUFTLENBQUMsQ0FBQztJQUNuRSxZQUFZLEdBQUcsTUFBTSxDQUE0QixJQUFJLEtBQUssRUFBc0IsQ0FBQyxDQUFDO0lBQ2xGLHFCQUFxQixHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBVyxDQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyx1QkFBdUIsR0FBRyxNQUFNLENBQVMsb0NBQW9DLENBQUMsQ0FBQztJQUV2RixpQkFBaUI7SUFDVCxjQUFjLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDdkQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFcEQ7UUFDRSxJQUFJLENB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QUUsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2dCQUUvQyxJQUFJLFlBQVksRUFBRSxFQUFFLENBQUM7b0JBQ25CLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2IsQ0FBQztnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7d0dBMU1VLHlCQUF5Qjs0R0FBekIseUJBQXlCLGNBSHhCLE1BQU07OzRGQUdQLHlCQUF5QjtrQkFKckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaWJzVWlEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJ0BsaWJzLXVpL3NlcnZpY2VzLWR5bmFtaWMtY29tcG9uZW50JztcbmltcG9ydCB7IFV0aWxzQ29tbXVuaWNhdGVNaWNybywgZW5jcnlwdCwgZXNjYXBlSHRtbCwgZ2V0LCBpc0VtYmVkRnJhbWUgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJVaVNlcnZpY2VzQ29tcG9uZW50c1RleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblB1c2hGcm9tSUZyYW1lLCBJTm90aWZpY2F0aW9uUXVldWUsIElOb3RpZmljYXRpb25UZXh0Q29uZmlnLCBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaU5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByaXZhdGUgbm90aWZpY2F0aW9uUGVybWlzc2lvbiA9IHNpZ25hbDxOb3RpZmljYXRpb25QZXJtaXNzaW9uPignZGVmYXVsdCcpO1xuICBwcml2YXRlIHF1ZXVlTWVzc2FnZSA9IHNpZ25hbDxBcnJheTxJTm90aWZpY2F0aW9uUXVldWU+PihuZXcgQXJyYXk8SU5vdGlmaWNhdGlvblF1ZXVlPigpKTtcbiAgcHJpdmF0ZSB0aW1lb3V0VXBkYXRlUG9zaXRpb24gPSBzaWduYWw8bnVtYmVyPigwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBNQVhfUVVFVUVfTUVTU0FHRTogbnVtYmVyID0gNTtcbiAgcHJpdmF0ZSBpc0luaXQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG1lc3NhZ2VOYW1lUG9zdFRvUGFyZW50ID0gc2lnbmFsPHN0cmluZz4oJ01JQ1JPX1NJVEVfUFVTSF9NRVNTQUdFX0ZST01fQ0hJTEQnKTtcblxuICAvLyAjcmVnaW9uIElOSkVDVFxuICBwcml2YXRlIGR5bmFtaWNTZXJ2aWNlID0gaW5qZWN0KExpYnNVaUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUGVybWlzc2lvbi5zZXQodGhpcy5zeXN0ZW1TdXBwb3J0Tm90aWZpY2F0aW9uKCkgPyAnZGVmYXVsdCcgOiAnZGVuaWVkJyk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHVibGljIGluaXQobWVzc2FnZU5hbWVIYW5kbGVyOiBBcnJheTxzdHJpbmc+LCBtZXNzYWdlTmFtZVBvc3RUb1BhcmVudD86IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzSW5pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNJbml0LnNldCh0cnVlKTtcbiAgICBpZiAobWVzc2FnZU5hbWVQb3N0VG9QYXJlbnQpIHtcbiAgICAgIHRoaXMubWVzc2FnZU5hbWVQb3N0VG9QYXJlbnQuc2V0KG1lc3NhZ2VOYW1lUG9zdFRvUGFyZW50KTtcbiAgICB9XG4gICAgVXRpbHNDb21tdW5pY2F0ZU1pY3JvLkdldE1lc3NhZ2UobWVzc2FnZU5hbWVIYW5kbGVyKS5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICBpZiAoIWlzRW1iZWRGcmFtZSgpKSB7XG4gICAgICAgIGNvbnN0IGRhdGFNZXNzYWdlID0gZS5kYXRhLnJlc3BvbnNlIGFzIElOb3RpZmljYXRpb25QdXNoRnJvbUlGcmFtZTtcblxuICAgICAgICB0aGlzLnNob3dDb21wVHlwZVRleHQoZGF0YU1lc3NhZ2UubWVzc2FnZSwgdW5kZWZpbmVkLCBkYXRhTWVzc2FnZS50aXRsZSwgeyB0eXBlOiBkYXRhTWVzc2FnZS5mdW5jdGlvbk5hbWUsIHRpbWVSZW1vdmU6IGRhdGFNZXNzYWdlLnRpbWVSZW1vdmUgfHwgMjAwMCB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBVdGlsc0NvbW11bmljYXRlTWljcm8uUG9zdE1lc3NhZ2VUb1BhcmVudChlLmRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBUcmFuc2xhdGVTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIHN5c3RlbVN1cHBvcnROb3RpZmljYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICdOb3RpZmljYXRpb24nIGluIHdpbmRvdztcbiAgfVxuXG4gIHB1YmxpYyBzeXN0ZW1SZXF1ZXN0UGVybWlzc2lvbigpIHtcbiAgICBpZiAoIXRoaXMuc3lzdGVtU3VwcG9ydE5vdGlmaWNhdGlvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKChwZXJtaXNzaW9uOiBOb3RpZmljYXRpb25QZXJtaXNzaW9uKSA9PiB0aGlzLlBlcm1pc3Npb24gPSBwZXJtaXNzaW9uKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgIE5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigocGVybWlzc2lvbjogTm90aWZpY2F0aW9uUGVybWlzc2lvbikgPT4gdGhpcy5QZXJtaXNzaW9uID0gcGVybWlzc2lvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXQgUGVybWlzc2lvbihwZXJtaXNzaW9uOiBOb3RpZmljYXRpb25QZXJtaXNzaW9uKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25QZXJtaXNzaW9uLnNldChwZXJtaXNzaW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzeXN0ZW1TcGF3bk5vdGlmaWNhdGlvbih0aXRsZTogc3RyaW5nLCBvcHRpb25zPzogTm90aWZpY2F0aW9uT3B0aW9ucyk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuc3lzdGVtU3VwcG9ydE5vdGlmaWNhdGlvbigpKSB7XG4gICAgICAgIG9icy5jb21wbGV0ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uUGVybWlzc2lvbigpICE9PSAnZ3JhbnRlZCcpIHtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgICBjb25zdCBub3RpZnkgPSBuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBvcHRpb25zKTtcblxuICAgICAgbm90aWZ5Lm9uc2hvdyA9IChlKSA9PiB7XG4gICAgICAgIHJldHVybiBvYnMubmV4dCh7XG4gICAgICAgICAgbm90aWZpY2F0aW9uOiBub3RpZnksXG4gICAgICAgICAgZXZlbnQ6IGVcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgbm90aWZ5Lm9uY2xpY2sgPSAoZSkgPT4ge1xuICAgICAgICBub3RpZnkuY2xvc2UoKTtcbiAgICAgICAgd2luZG93LmZvY3VzKCk7XG5cbiAgICAgICAgcmV0dXJuIG9icy5uZXh0KHtcbiAgICAgICAgICBub3RpZmljYXRpb246IG5vdGlmeSxcbiAgICAgICAgICBldmVudDogZVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBub3RpZnkub25lcnJvciA9IChlKSA9PiB7XG4gICAgICAgIHJldHVybiBvYnMuZXJyb3Ioe1xuICAgICAgICAgIG5vdGlmaWNhdGlvbjogbm90aWZ5LFxuICAgICAgICAgIGV2ZW50OiBlXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIG5vdGlmeS5vbmNsb3NlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogSU5vdGlmaWNhdGlvblRleHRQdWJsaWNDb25maWcpIHtcbiAgICB0aGlzLnNob3dDb21wVHlwZVRleHQobWVzc2FnZSwgY29uZmlnPy5pbnRlcnBvbGF0ZVBhcmFtcywgY29uZmlnPy50aXRsZSwgeyB0eXBlOiAnc3VjY2VzcycsIHRpbWVSZW1vdmU6IGNvbmZpZz8udGltZVJlbW92ZSB8fCAzMDAwLCBwb3NpdGlvblJpZ2h0OiBjb25maWc/LnBvc2l0aW9uUmlnaHQsIGV2ZW50TmFtZTogY29uZmlnPy5ldmVudE5hbWUsIGNhbGxiYWNrOiBjb25maWc/LmNhbGxiYWNrIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IElOb3RpZmljYXRpb25UZXh0UHVibGljQ29uZmlnKSB7XG4gICAgdGhpcy5zaG93Q29tcFR5cGVUZXh0KG1lc3NhZ2UsIGNvbmZpZz8uaW50ZXJwb2xhdGVQYXJhbXMsIGNvbmZpZz8udGl0bGUsIHsgdHlwZTogJ2Vycm9yJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbXBUeXBlVGV4dEluZm8obWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZykge1xuICAgIHRoaXMuc2hvd0NvbXBUeXBlVGV4dChtZXNzYWdlLCBjb25maWc/LmludGVycG9sYXRlUGFyYW1zLCBjb25maWc/LnRpdGxlLCB7IHR5cGU6ICdpbmZvJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbXBUeXBlVGV4dFdhcm5pbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZykge1xuICAgIHRoaXMuc2hvd0NvbXBUeXBlVGV4dChtZXNzYWdlLCBjb25maWc/LmludGVycG9sYXRlUGFyYW1zLCBjb25maWc/LnRpdGxlLCB7IHR5cGU6ICd3YXJuJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dDb21wVHlwZVRleHQobWVzc2FnZTogc3RyaW5nLCBpbnRlcnBvbGF0ZVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCB0aXRsZT86IHN0cmluZywgY29uZmlnOiBJTm90aWZpY2F0aW9uVGV4dENvbmZpZyA9IHsgdHlwZTogJ3N1Y2Nlc3MnLCB0aW1lUmVtb3ZlOiAyMDAwIH0pOiB2b2lkIHtcbiAgICBpZiAoIW1lc3NhZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNoZWNrUXVldWVNZXNzYWdlKCk7XG4gICAgaWYgKGludGVycG9sYXRlUGFyYW1zICYmIHR5cGVvZiBpbnRlcnBvbGF0ZVBhcmFtcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgIE9iamVjdC5rZXlzKGludGVycG9sYXRlUGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaW50ZXJwb2xhdGVQYXJhbXNba2V5XSA9IGVzY2FwZUh0bWwoZ2V0KGludGVycG9sYXRlUGFyYW1zLCBrZXkpKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc0VtYmVkRnJhbWUoKSkge1xuICAgICAgY29uc3QgbWVzc2FnZVRyYW5zbGF0ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KG1lc3NhZ2UsIGludGVycG9sYXRlUGFyYW1zKSBhcyBzdHJpbmc7XG5cbiAgICAgIHJldHVybiBVdGlsc0NvbW11bmljYXRlTWljcm8uUG9zdE1lc3NhZ2VUb1BhcmVudCh7IHR5cGU6IHRoaXMubWVzc2FnZU5hbWVQb3N0VG9QYXJlbnQoKSwgcmVzcG9uc2U6IGVuY3J5cHQoSlNPTi5zdHJpbmdpZnkoeyBmdW5jdGlvbk5hbWU6IGNvbmZpZy50eXBlLCBtZXNzYWdlOiBtZXNzYWdlVHJhbnNsYXRlLCB0aXRsZSwgdGltZVJlbW92ZTogY29uZmlnLnRpbWVSZW1vdmUgfHwgMjAwMCB9KSkgfSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZHluYW1pY1NlcnZpY2UucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTGliVWlTZXJ2aWNlc0NvbXBvbmVudHNUZXh0Q29tcG9uZW50KTtcblxuICAgIGNvbXBvbmVudC5zZXRJbnB1dCgndGl0bGUnLCB0aXRsZSk7XG4gICAgY29tcG9uZW50LnNldElucHV0KCdtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgY29tcG9uZW50LnNldElucHV0KCdpbnRlcnBvbGF0ZVBhcmFtcycsIGludGVycG9sYXRlUGFyYW1zKTtcbiAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2NvbmZpZycsIGNvbmZpZyk7XG4gICAgY29tcG9uZW50LnNldElucHV0KCdyZW1vdmVDb21wb25lbnQnLCB0aGlzLnJlbW92ZUNvbXBvbmVudC5iaW5kKHRoaXMsIGNvbXBvbmVudCkpO1xuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlQ29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgfSwgY29uZmlnPy50aW1lUmVtb3ZlKTtcblxuICAgIHRoaXMucXVldWVNZXNzYWdlLnVwZGF0ZShxdWV1ZSA9PiB7XG4gICAgICBxdWV1ZS5wdXNoKHtcbiAgICAgICAgY29tcG9uZW50LFxuICAgICAgICBjb25maWcsXG4gICAgICAgIHRpbWVvdXRcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gWy4uLnF1ZXVlXTtcbiAgICB9KTtcbiAgICB0aGlzLmR5bmFtaWNTZXJ2aWNlLmFkZFRvQm9keShjb21wb25lbnQpO1xuICAgIHRoaXMudXBkYXRlUG9zaXRpb25NZXNzYWdlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNvbXBvbmVudChjb21wb25lbnQ6IENvbXBvbmVudFJlZjx1bmtub3duPikge1xuICAgIHRoaXMuZHluYW1pY1NlcnZpY2UucmVtb3ZlKGNvbXBvbmVudCk7XG4gICAgY29uc3QgaW5kZXhSZW1vdmUgPSB0aGlzLnF1ZXVlTWVzc2FnZSgpLmZpbmRJbmRleChjb25maWcgPT4gY29uZmlnLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KTtcblxuICAgIGlmIChpbmRleFJlbW92ZSAhPT0gLTEpIHtcbiAgICAgIHRoaXMucXVldWVNZXNzYWdlLnVwZGF0ZShxdWV1ZSA9PiB7XG4gICAgICAgIHF1ZXVlLnNwbGljZShpbmRleFJlbW92ZSwgMSk7XG4gICAgICAgIHJldHVybiBbLi4ucXVldWVdO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1F1ZXVlTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5xdWV1ZU1lc3NhZ2UubGVuZ3RoIDwgdGhpcy5NQVhfUVVFVUVfTUVTU0FHRSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaXJzdFF1ZXVlID0gdGhpcy5xdWV1ZU1lc3NhZ2UoKS5zaGlmdCgpIGFzIElOb3RpZmljYXRpb25RdWV1ZTtcblxuICAgIGNsZWFyVGltZW91dChmaXJzdFF1ZXVlLnRpbWVvdXQpO1xuICAgIHRoaXMuZHluYW1pY1NlcnZpY2UucmVtb3ZlKGZpcnN0UXVldWUuY29tcG9uZW50KTtcbiAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uTWVzc2FnZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3NpdGlvbk1lc3NhZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnF1ZXVlTWVzc2FnZSgpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0VXBkYXRlUG9zaXRpb24oKSk7XG4gICAgdGhpcy50aW1lb3V0VXBkYXRlUG9zaXRpb24uc2V0KHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbGV0IHRvcE1lc3NhZ2UgPSAxMjtcblxuICAgICAgdGhpcy5xdWV1ZU1lc3NhZ2UoKS5mb3JFYWNoKChtZXNzYWdlOiBJTm90aWZpY2F0aW9uUXVldWUpID0+IHtcbiAgICAgICAgY29uc3QgZmlyc3RFbCA9IG1lc3NhZ2UuY29tcG9uZW50Lmluc3RhbmNlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgICAgY29uc3QgcmVjdCA9IGZpcnN0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgZmlyc3RFbC5zdHlsZS50b3AgPSBgJHt0b3BNZXNzYWdlfXB4YDtcbiAgICAgICAgdG9wTWVzc2FnZSArPSByZWN0LmhlaWdodCArIDEyO1xuICAgICAgICBsZXQgcmlnaHQgPSBtZXNzYWdlLmNvbmZpZy5wb3NpdGlvblJpZ2h0ID8/IDEyO1xuXG4gICAgICAgIGlmIChpc0VtYmVkRnJhbWUoKSkge1xuICAgICAgICAgIHJpZ2h0ID0gNDA7XG4gICAgICAgIH1cbiAgICAgICAgZmlyc3RFbC5zdHlsZS5yaWdodCA9IGAke3JpZ2h0fXB4YDtcbiAgICAgIH0pO1xuICAgIH0pKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, Directive, signal, inject, ElementRef,
|
|
2
|
+
import { input, Directive, signal, inject, ElementRef, ChangeDetectionStrategy, Component, Injectable } from '@angular/core';
|
|
3
3
|
import { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';
|
|
4
4
|
import { UtilsCommunicateMicro, isEmbedFrame, escapeHtml, get, encrypt } from '@libs-ui/utils';
|
|
5
5
|
import * as i1 from '@ngx-translate/core';
|
|
@@ -8,9 +8,9 @@ import { Subject, fromEvent, Observable } from 'rxjs';
|
|
|
8
8
|
import { takeUntil, take } from 'rxjs/operators';
|
|
9
9
|
|
|
10
10
|
class LibUiServiceNotificationBaseComponent {
|
|
11
|
-
|
|
11
|
+
// #region PROPERTY
|
|
12
12
|
onDestroy = new Subject();
|
|
13
|
-
|
|
13
|
+
// #region INPUT
|
|
14
14
|
message = input('');
|
|
15
15
|
interpolateParams = input();
|
|
16
16
|
title = input('');
|
|
@@ -28,10 +28,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28
28
|
}] });
|
|
29
29
|
|
|
30
30
|
class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent {
|
|
31
|
-
|
|
31
|
+
// #region PROPERTY
|
|
32
32
|
containerClass = signal('');
|
|
33
33
|
icon = signal('');
|
|
34
|
-
|
|
34
|
+
// #region INJECT
|
|
35
35
|
elementRef = inject(ElementRef);
|
|
36
36
|
constructor() {
|
|
37
37
|
super();
|
|
@@ -81,26 +81,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
81
81
|
}], ctorParameters: () => [] });
|
|
82
82
|
|
|
83
83
|
class LibsUiNotificationService {
|
|
84
|
-
|
|
84
|
+
// #region PROPERTY
|
|
85
85
|
notificationPermission = signal('default');
|
|
86
86
|
queueMessage = signal(new Array());
|
|
87
87
|
timeoutUpdatePosition = signal(0);
|
|
88
88
|
MAX_QUEUE_MESSAGE = 5;
|
|
89
89
|
isInit = signal(false);
|
|
90
|
-
|
|
90
|
+
messageNamePostToParent = signal('MICRO_SITE_PUSH_MESSAGE_FROM_CHILD');
|
|
91
|
+
// #region INJECT
|
|
91
92
|
dynamicService = inject(LibsUiDynamicComponentService);
|
|
92
93
|
translateService = inject(TranslateService);
|
|
93
94
|
constructor() {
|
|
94
95
|
this.notificationPermission.set(this.systemSupportNotification() ? 'default' : 'denied');
|
|
95
96
|
}
|
|
96
97
|
/* FUNCTIONS */
|
|
97
|
-
init(messageNameHandler) {
|
|
98
|
+
init(messageNameHandler, messageNamePostToParent) {
|
|
98
99
|
if (this.isInit()) {
|
|
99
100
|
return;
|
|
100
101
|
}
|
|
101
102
|
this.isInit.set(true);
|
|
103
|
+
if (messageNamePostToParent) {
|
|
104
|
+
this.messageNamePostToParent.set(messageNamePostToParent);
|
|
105
|
+
}
|
|
102
106
|
UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {
|
|
103
|
-
if (isEmbedFrame()) {
|
|
107
|
+
if (!isEmbedFrame()) {
|
|
104
108
|
const dataMessage = e.data.response;
|
|
105
109
|
this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });
|
|
106
110
|
return;
|
|
@@ -188,7 +192,7 @@ class LibsUiNotificationService {
|
|
|
188
192
|
}
|
|
189
193
|
if (isEmbedFrame()) {
|
|
190
194
|
const messageTranslate = this.translateService.instant(message, interpolateParams);
|
|
191
|
-
return UtilsCommunicateMicro.PostMessageToParent({ type:
|
|
195
|
+
return UtilsCommunicateMicro.PostMessageToParent({ type: this.messageNamePostToParent(), response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });
|
|
192
196
|
}
|
|
193
197
|
const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);
|
|
194
198
|
component.setInput('title', title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-services-notification.mjs","sources":["../../../../../libs-ui/services/notification/src/components/base.component.ts","../../../../../libs-ui/services/notification/src/components/text/text.component.ts","../../../../../libs-ui/services/notification/src/components/text/text.component.html","../../../../../libs-ui/services/notification/src/notification.service.ts","../../../../../libs-ui/services/notification/src/libs-ui-services-notification.ts"],"sourcesContent":["import { Directive, OnDestroy, input } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { INotificationTextConfig } from '../interfaces/notification';\n@Directive()\nexport class LibUiServiceNotificationBaseComponent implements OnDestroy {\n /* PROPERTY */\n protected onDestroy = new Subject<void>();\n\n /* INPUT */\n readonly message = input<string>('');\n readonly interpolateParams = input<Record<string, unknown>>();\n readonly title = input<string>('');\n readonly config = input<INotificationTextConfig>({ type: 'success', timeRemove: 2000 });\n readonly removeComponent = input.required<(component: unknown) => Promise<void>>();\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { LibUiServiceNotificationBaseComponent } from '../base.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-services-notification-components-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n standalone: true,\n imports: [TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent implements OnInit, OnDestroy {\n /* PROPERTY */\n protected containerClass = signal<string>('');\n protected icon = signal<string>('');\n\n /* INJECT */\n private elementRef = inject(ElementRef)\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n switch (this.config().type) {\n case 'success':\n this.containerClass.set('libs-ui-toast_success');\n this.icon.set('libs-ui-icon-check-circle-solid');\n break;\n\n case 'info':\n this.containerClass.set('libs-ui-toast_info');\n this.icon.set('libs-ui-icon-tooltip-solid');\n break;\n\n case 'error':\n this.containerClass.set('libs-ui-toast_error');\n this.icon.set('libs-ui-icon-close-circle-solid');\n break;\n\n case 'warn':\n this.containerClass.set('libs-ui-toast_warning');\n this.icon.set('libs-ui-icon-alert-triangle-solid');\n break;\n\n default:\n this.containerClass.set('bg-[#6fd100] libs-ui-toast_success');\n this.icon.set('mo-icn-toast_success');\n }\n const { eventName, callback } = this.config();\n\n if (!eventName || !callback) {\n return;\n }\n if (eventName === 'click') {\n this.containerClass.update(value => `${value} cursor-pointer`);\n }\n fromEvent(this.elementRef.nativeElement, eventName).pipe(takeUntil(this.onDestroy), take(1)).subscribe(callback);\n }\n\n /* FUNCTIONS */\n\n protected handlerClickClose(e: Event) {\n e.stopPropagation();\n this.removeComponent()(e);\n }\n}\n","<div class=\"libs-ui-toast\"\n [class]=\"containerClass()\"\n [style.zIndex]=\"config().zIndex || 2000\">\n <div class=\"flex items-center\">\n <i class=\"{{ icon() }}\"></i>\n </div>\n <div class=\"flex flex-col w-full\">\n @if (title()) {\n <div class=\"libs-ui-font-h5m text-break\"\n [innerHtml]=\"title() | translate \">\n </div>\n }\n @if (message()) {\n <div class=\"text-break\"\n [class.libs-ui-font-h5r]=\"!title()\"\n [class.libs-ui-font-h7r]=\"title()\"\n [class.mt-[4ppx]]=\"title()\"\n [innerHtml]=\"message() | translate: (interpolateParams() || {})\">\n </div>\n }\n </div>\n <div class=\"flex items-center\">\n <i class=\"libs-ui-icon-close mr-0 ml-[8px] cursor-pointer\"\n (click)=\"handlerClickClose($event)\">\n </i>\n </div>\n</div>\n","import { ComponentRef, Injectable, inject, signal } from '@angular/core';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { UtilsCommunicateMicro, encrypt, escapeHtml, get, isEmbedFrame } from '@libs-ui/utils';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\nimport { LibUiServicesComponentsTextComponent } from './components';\nimport { INotificationPushFromIFrame, INotificationQueue, INotificationTextConfig, INotificationTextPublicConfig } from './interfaces/notification';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiNotificationService {\n /* PROPERTY */\n private notificationPermission = signal<NotificationPermission>('default');\n private queueMessage = signal<Array<INotificationQueue>>(new Array<INotificationQueue>());\n private timeoutUpdatePosition = signal<number>(0);\n private readonly MAX_QUEUE_MESSAGE: number = 5;\n private isInit = signal<boolean>(false);\n\n /* INJECT */\n private dynamicService = inject(LibsUiDynamicComponentService);\n private translateService = inject(TranslateService);\n\n constructor() {\n this.notificationPermission.set(this.systemSupportNotification() ? 'default' : 'denied');\n }\n\n /* FUNCTIONS */\n public init(messageNameHandler: Array<string>) {\n if (this.isInit()) {\n return;\n }\n this.isInit.set(true);\n UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {\n if (isEmbedFrame()) {\n const dataMessage = e.data.response as INotificationPushFromIFrame;\n\n this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });\n\n return;\n }\n UtilsCommunicateMicro.PostMessageToParent(e.data);\n });\n }\n\n public get TranslateService() {\n return this.translateService;\n }\n\n private systemSupportNotification(): boolean {\n return 'Notification' in window;\n }\n\n public systemRequestPermission() {\n if (!this.systemSupportNotification()) {\n return;\n }\n try {\n Notification.requestPermission().then((permission: NotificationPermission) => this.Permission = permission);\n } catch (error) {\n if (error instanceof TypeError) {\n Notification.requestPermission((permission: NotificationPermission) => this.Permission = permission);\n }\n }\n }\n\n private set Permission(permission: NotificationPermission) {\n this.notificationPermission.set(permission);\n }\n\n public systemSpawnNotification(title: string, options?: NotificationOptions): Observable<unknown> {\n return new Observable((obs) => {\n if (!this.systemSupportNotification()) {\n obs.complete();\n }\n if (this.notificationPermission() !== 'granted') {\n obs.complete();\n }\n const notify = new Notification(title, options);\n\n notify.onshow = (e) => {\n return obs.next({\n notification: notify,\n event: e\n });\n };\n notify.onclick = (e) => {\n notify.close();\n window.focus();\n\n return obs.next({\n notification: notify,\n event: e\n });\n };\n notify.onerror = (e) => {\n return obs.error({\n notification: notify,\n event: e\n });\n };\n notify.onclose = () => {\n return obs.complete();\n };\n });\n }\n\n public showCompTypeTextSuccess(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'success', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextError(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'error', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextInfo(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'info', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextWarning(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'warn', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n private showCompTypeText(message: string, interpolateParams?: Record<string, unknown>, title?: string, config: INotificationTextConfig = { type: 'success', timeRemove: 2000 }): void {\n if (!message) {\n return;\n }\n\n this.checkQueueMessage();\n if (interpolateParams && typeof interpolateParams === 'object') {\n Object.keys(interpolateParams).forEach((key) => {\n interpolateParams[key] = escapeHtml(get(interpolateParams, key));\n });\n }\n\n if (isEmbedFrame()) {\n const messageTranslate = this.translateService.instant(message, interpolateParams) as string;\n\n return UtilsCommunicateMicro.PostMessageToParent({ type: 'MICRO_SITE_PUSH_MESSAGE_FROM_CHILD', response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });\n }\n const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);\n\n component.setInput('title', title);\n component.setInput('message', message);\n component.setInput('interpolateParams', interpolateParams);\n component.setInput('config', config);\n component.setInput('removeComponent', this.removeComponent.bind(this, component));\n const timeout = setTimeout(() => {\n this.removeComponent(component);\n }, config?.timeRemove);\n\n this.queueMessage.update(queue => {\n queue.push({\n component,\n config,\n timeout\n });\n\n return [...queue];\n });\n this.dynamicService.addToBody(component);\n this.updatePositionMessage();\n }\n\n private removeComponent(component: ComponentRef<unknown>) {\n this.dynamicService.remove(component);\n const indexRemove = this.queueMessage().findIndex(config => config.component === component);\n\n if (indexRemove !== -1) {\n this.queueMessage.update(queue => {\n queue.splice(indexRemove, 1);\n return [...queue];\n });\n }\n }\n\n private checkQueueMessage(): void {\n if (this.queueMessage.length < this.MAX_QUEUE_MESSAGE) {\n return;\n }\n const firstQueue = this.queueMessage().shift() as INotificationQueue;\n\n clearTimeout(firstQueue.timeout);\n this.dynamicService.remove(firstQueue.component);\n this.updatePositionMessage();\n }\n\n private updatePositionMessage(): void {\n if (!this.queueMessage().length) {\n return;\n }\n clearTimeout(this.timeoutUpdatePosition());\n this.timeoutUpdatePosition.set(setTimeout(() => {\n let topMessage = 12;\n\n this.queueMessage().forEach((message: INotificationQueue) => {\n const firstEl = message.component.instance.elementRef.nativeElement.firstElementChild;\n const rect = firstEl.getBoundingClientRect();\n\n firstEl.style.top = `${topMessage}px`;\n topMessage += rect.height + 12;\n let right = message.config.positionRight ?? 12;\n\n if (isEmbedFrame()) {\n right = 40;\n }\n firstEl.style.right = `${right}px`;\n });\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libs-ui-services-notification.mjs","sources":["../../../../../libs-ui/services/notification/src/components/base.component.ts","../../../../../libs-ui/services/notification/src/components/text/text.component.ts","../../../../../libs-ui/services/notification/src/components/text/text.component.html","../../../../../libs-ui/services/notification/src/notification.service.ts","../../../../../libs-ui/services/notification/src/libs-ui-services-notification.ts"],"sourcesContent":["import { Directive, OnDestroy, input } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { INotificationTextConfig } from '../interfaces/notification';\n@Directive()\nexport class LibUiServiceNotificationBaseComponent implements OnDestroy {\n // #region PROPERTY\n protected onDestroy = new Subject<void>();\n\n // #region INPUT\n readonly message = input<string>('');\n readonly interpolateParams = input<Record<string, unknown>>();\n readonly title = input<string>('');\n readonly config = input<INotificationTextConfig>({ type: 'success', timeRemove: 2000 });\n readonly removeComponent = input.required<(component: unknown) => Promise<void>>();\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { fromEvent } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { LibUiServiceNotificationBaseComponent } from '../base.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-services-notification-components-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n standalone: true,\n imports: [TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent implements OnInit, OnDestroy {\n // #region PROPERTY\n protected containerClass = signal<string>('');\n protected icon = signal<string>('');\n\n // #region INJECT\n private elementRef = inject(ElementRef)\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n switch (this.config().type) {\n case 'success':\n this.containerClass.set('libs-ui-toast_success');\n this.icon.set('libs-ui-icon-check-circle-solid');\n break;\n\n case 'info':\n this.containerClass.set('libs-ui-toast_info');\n this.icon.set('libs-ui-icon-tooltip-solid');\n break;\n\n case 'error':\n this.containerClass.set('libs-ui-toast_error');\n this.icon.set('libs-ui-icon-close-circle-solid');\n break;\n\n case 'warn':\n this.containerClass.set('libs-ui-toast_warning');\n this.icon.set('libs-ui-icon-alert-triangle-solid');\n break;\n\n default:\n this.containerClass.set('bg-[#6fd100] libs-ui-toast_success');\n this.icon.set('mo-icn-toast_success');\n }\n const { eventName, callback } = this.config();\n\n if (!eventName || !callback) {\n return;\n }\n if (eventName === 'click') {\n this.containerClass.update(value => `${value} cursor-pointer`);\n }\n fromEvent(this.elementRef.nativeElement, eventName).pipe(takeUntil(this.onDestroy), take(1)).subscribe(callback);\n }\n\n /* FUNCTIONS */\n\n protected handlerClickClose(e: Event) {\n e.stopPropagation();\n this.removeComponent()(e);\n }\n}\n","<div class=\"libs-ui-toast\"\n [class]=\"containerClass()\"\n [style.zIndex]=\"config().zIndex || 2000\">\n <div class=\"flex items-center\">\n <i class=\"{{ icon() }}\"></i>\n </div>\n <div class=\"flex flex-col w-full\">\n @if (title()) {\n <div class=\"libs-ui-font-h5m text-break\"\n [innerHtml]=\"title() | translate \">\n </div>\n }\n @if (message()) {\n <div class=\"text-break\"\n [class.libs-ui-font-h5r]=\"!title()\"\n [class.libs-ui-font-h7r]=\"title()\"\n [class.mt-[4ppx]]=\"title()\"\n [innerHtml]=\"message() | translate: (interpolateParams() || {})\">\n </div>\n }\n </div>\n <div class=\"flex items-center\">\n <i class=\"libs-ui-icon-close mr-0 ml-[8px] cursor-pointer\"\n (click)=\"handlerClickClose($event)\">\n </i>\n </div>\n</div>\n","import { ComponentRef, Injectable, inject, signal } from '@angular/core';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { UtilsCommunicateMicro, encrypt, escapeHtml, get, isEmbedFrame } from '@libs-ui/utils';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\nimport { LibUiServicesComponentsTextComponent } from './components';\nimport { INotificationPushFromIFrame, INotificationQueue, INotificationTextConfig, INotificationTextPublicConfig } from './interfaces/notification';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiNotificationService {\n // #region PROPERTY\n private notificationPermission = signal<NotificationPermission>('default');\n private queueMessage = signal<Array<INotificationQueue>>(new Array<INotificationQueue>());\n private timeoutUpdatePosition = signal<number>(0);\n private readonly MAX_QUEUE_MESSAGE: number = 5;\n private isInit = signal<boolean>(false);\n private messageNamePostToParent = signal<string>('MICRO_SITE_PUSH_MESSAGE_FROM_CHILD');\n\n // #region INJECT\n private dynamicService = inject(LibsUiDynamicComponentService);\n private translateService = inject(TranslateService);\n\n constructor() {\n this.notificationPermission.set(this.systemSupportNotification() ? 'default' : 'denied');\n }\n\n /* FUNCTIONS */\n public init(messageNameHandler: Array<string>, messageNamePostToParent?: string) {\n if (this.isInit()) {\n return;\n }\n this.isInit.set(true);\n if (messageNamePostToParent) {\n this.messageNamePostToParent.set(messageNamePostToParent);\n }\n UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {\n if (!isEmbedFrame()) {\n const dataMessage = e.data.response as INotificationPushFromIFrame;\n\n this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });\n\n return;\n }\n UtilsCommunicateMicro.PostMessageToParent(e.data);\n });\n }\n\n public get TranslateService() {\n return this.translateService;\n }\n\n private systemSupportNotification(): boolean {\n return 'Notification' in window;\n }\n\n public systemRequestPermission() {\n if (!this.systemSupportNotification()) {\n return;\n }\n try {\n Notification.requestPermission().then((permission: NotificationPermission) => this.Permission = permission);\n } catch (error) {\n if (error instanceof TypeError) {\n Notification.requestPermission((permission: NotificationPermission) => this.Permission = permission);\n }\n }\n }\n\n private set Permission(permission: NotificationPermission) {\n this.notificationPermission.set(permission);\n }\n\n public systemSpawnNotification(title: string, options?: NotificationOptions): Observable<unknown> {\n return new Observable((obs) => {\n if (!this.systemSupportNotification()) {\n obs.complete();\n }\n if (this.notificationPermission() !== 'granted') {\n obs.complete();\n }\n const notify = new Notification(title, options);\n\n notify.onshow = (e) => {\n return obs.next({\n notification: notify,\n event: e\n });\n };\n notify.onclick = (e) => {\n notify.close();\n window.focus();\n\n return obs.next({\n notification: notify,\n event: e\n });\n };\n notify.onerror = (e) => {\n return obs.error({\n notification: notify,\n event: e\n });\n };\n notify.onclose = () => {\n return obs.complete();\n };\n });\n }\n\n public showCompTypeTextSuccess(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'success', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextError(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'error', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextInfo(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'info', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n public showCompTypeTextWarning(message: string, config?: INotificationTextPublicConfig) {\n this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'warn', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });\n }\n\n private showCompTypeText(message: string, interpolateParams?: Record<string, unknown>, title?: string, config: INotificationTextConfig = { type: 'success', timeRemove: 2000 }): void {\n if (!message) {\n return;\n }\n\n this.checkQueueMessage();\n if (interpolateParams && typeof interpolateParams === 'object') {\n Object.keys(interpolateParams).forEach((key) => {\n interpolateParams[key] = escapeHtml(get(interpolateParams, key));\n });\n }\n\n if (isEmbedFrame()) {\n const messageTranslate = this.translateService.instant(message, interpolateParams) as string;\n\n return UtilsCommunicateMicro.PostMessageToParent({ type: this.messageNamePostToParent(), response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });\n }\n const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);\n\n component.setInput('title', title);\n component.setInput('message', message);\n component.setInput('interpolateParams', interpolateParams);\n component.setInput('config', config);\n component.setInput('removeComponent', this.removeComponent.bind(this, component));\n const timeout = setTimeout(() => {\n this.removeComponent(component);\n }, config?.timeRemove);\n\n this.queueMessage.update(queue => {\n queue.push({\n component,\n config,\n timeout\n });\n\n return [...queue];\n });\n this.dynamicService.addToBody(component);\n this.updatePositionMessage();\n }\n\n private removeComponent(component: ComponentRef<unknown>) {\n this.dynamicService.remove(component);\n const indexRemove = this.queueMessage().findIndex(config => config.component === component);\n\n if (indexRemove !== -1) {\n this.queueMessage.update(queue => {\n queue.splice(indexRemove, 1);\n return [...queue];\n });\n }\n }\n\n private checkQueueMessage(): void {\n if (this.queueMessage.length < this.MAX_QUEUE_MESSAGE) {\n return;\n }\n const firstQueue = this.queueMessage().shift() as INotificationQueue;\n\n clearTimeout(firstQueue.timeout);\n this.dynamicService.remove(firstQueue.component);\n this.updatePositionMessage();\n }\n\n private updatePositionMessage(): void {\n if (!this.queueMessage().length) {\n return;\n }\n clearTimeout(this.timeoutUpdatePosition());\n this.timeoutUpdatePosition.set(setTimeout(() => {\n let topMessage = 12;\n\n this.queueMessage().forEach((message: INotificationQueue) => {\n const firstEl = message.component.instance.elementRef.nativeElement.firstElementChild;\n const rect = firstEl.getBoundingClientRect();\n\n firstEl.style.top = `${topMessage}px`;\n topMessage += rect.height + 12;\n let right = message.config.positionRight ?? 12;\n\n if (isEmbedFrame()) {\n right = 40;\n }\n firstEl.style.right = `${right}px`;\n });\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,11 @@ export declare class LibsUiNotificationService {
|
|
|
8
8
|
private timeoutUpdatePosition;
|
|
9
9
|
private readonly MAX_QUEUE_MESSAGE;
|
|
10
10
|
private isInit;
|
|
11
|
+
private messageNamePostToParent;
|
|
11
12
|
private dynamicService;
|
|
12
13
|
private translateService;
|
|
13
14
|
constructor();
|
|
14
|
-
init(messageNameHandler: Array<string
|
|
15
|
+
init(messageNameHandler: Array<string>, messageNamePostToParent?: string): void;
|
|
15
16
|
get TranslateService(): TranslateService;
|
|
16
17
|
private systemSupportNotification;
|
|
17
18
|
systemRequestPermission(): void;
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/services-notification",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.306.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/
|
|
6
|
-
"
|
|
5
|
+
"@angular/core": ">=18.0.0",
|
|
6
|
+
"rxjs": "~7.8.0",
|
|
7
|
+
"@ngx-translate/core": "^15.0.0",
|
|
8
|
+
"@libs-ui/services-dynamic-component": "0.2.306.1",
|
|
9
|
+
"@libs-ui/utils": "0.2.306.1"
|
|
7
10
|
},
|
|
8
11
|
"sideEffects": false,
|
|
9
12
|
"module": "fesm2022/libs-ui-services-notification.mjs",
|