@libs-ui/services-notification 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/components/base.component.d.ts +15 -0
- package/components/index.d.ts +1 -0
- package/components/text/text.component.d.ts +13 -0
- package/esm2022/components/base.component.mjs +21 -0
- package/esm2022/components/index.mjs +2 -0
- package/esm2022/components/text/text.component.mjs +57 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/interfaces/notification.mjs +2 -0
- package/esm2022/libs-ui-services-notification.mjs +5 -0
- package/esm2022/notification.service.mjs +179 -0
- package/fesm2022/libs-ui-services-notification.mjs +255 -0
- package/fesm2022/libs-ui-services-notification.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/interfaces/notification.d.ts +29 -0
- package/notification.service.d.ts +29 -0
- package/package.json +25 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { INotificationTextConfig } from '../interfaces/notification';
|
|
3
|
+
import { OnDestroy } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LibUiServiceNotificationBaseComponent implements OnDestroy {
|
|
6
|
+
protected message: string;
|
|
7
|
+
protected interpolateParams: Record<string, unknown>;
|
|
8
|
+
protected title: string;
|
|
9
|
+
protected config: INotificationTextConfig;
|
|
10
|
+
protected removeComponent: () => void;
|
|
11
|
+
protected onDestroy: Subject<void>;
|
|
12
|
+
ngOnDestroy(): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibUiServiceNotificationBaseComponent, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LibUiServiceNotificationBaseComponent, never, never, {}, {}, never, never, false, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './text/text.component';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { LibUiServiceNotificationBaseComponent } from '../base.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent implements OnInit, OnDestroy {
|
|
5
|
+
protected containerClass: string;
|
|
6
|
+
protected icon: string;
|
|
7
|
+
private elementRef;
|
|
8
|
+
constructor();
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
protected handlerClickClose(e: Event): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibUiServicesComponentsTextComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibUiServicesComponentsTextComponent, "libs_ui-services-notification-components-text", never, {}, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LibUiServiceNotificationBaseComponent {
|
|
5
|
+
message;
|
|
6
|
+
interpolateParams;
|
|
7
|
+
title;
|
|
8
|
+
config;
|
|
9
|
+
removeComponent;
|
|
10
|
+
onDestroy = new Subject();
|
|
11
|
+
ngOnDestroy() {
|
|
12
|
+
this.onDestroy.next();
|
|
13
|
+
this.onDestroy.complete();
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServiceNotificationBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LibUiServiceNotificationBaseComponent, ngImport: i0 });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServiceNotificationBaseComponent, decorators: [{
|
|
19
|
+
type: Directive
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy9iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTyxxQ0FBcUM7SUFDdEMsT0FBTyxDQUFVO0lBQ2pCLGlCQUFpQixDQUEyQjtJQUM1QyxLQUFLLENBQVU7SUFDZixNQUFNLENBQTJCO0lBQ2pDLGVBQWUsQ0FBYztJQUM3QixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUUxQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBWFUscUNBQXFDOzRGQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uVGV4dENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMaWJVaVNlcnZpY2VOb3RpZmljYXRpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIG1lc3NhZ2UhOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBpbnRlcnBvbGF0ZVBhcmFtcyE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBwcm90ZWN0ZWQgdGl0bGUhOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBjb25maWchOiBJTm90aWZpY2F0aW9uVGV4dENvbmZpZztcbiAgcHJvdGVjdGVkIHJlbW92ZUNvbXBvbmVudCE6ICgpID0+IHZvaWQ7XG4gIHByb3RlY3RlZCBvbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './text/text.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0L3RleHQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, inject } from '@angular/core';
|
|
2
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
import { take, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { LibUiServiceNotificationBaseComponent } from '../base.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@ngx-translate/core";
|
|
8
|
+
export class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent {
|
|
9
|
+
containerClass;
|
|
10
|
+
icon;
|
|
11
|
+
elementRef = inject(ElementRef);
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
switch (this.config?.type) {
|
|
17
|
+
case 'success':
|
|
18
|
+
this.containerClass = 'libs-ui-toast_success';
|
|
19
|
+
this.icon = 'libs-ui-icon-check-circle-solid';
|
|
20
|
+
break;
|
|
21
|
+
case 'info':
|
|
22
|
+
this.containerClass = 'libs-ui-toast_info';
|
|
23
|
+
this.icon = 'libs-ui-icon-tooltip-solid';
|
|
24
|
+
break;
|
|
25
|
+
case 'error':
|
|
26
|
+
this.containerClass = 'libs-ui-toast_error';
|
|
27
|
+
this.icon = 'libs-ui-icon-close-circle-solid';
|
|
28
|
+
break;
|
|
29
|
+
case 'warn':
|
|
30
|
+
this.containerClass = 'libs-ui-toast_warning';
|
|
31
|
+
this.icon = 'libs-ui-icon-alert-triangle-solid';
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
this.containerClass = 'bg-[#6fd100] libs-ui-toast_success';
|
|
35
|
+
this.icon = 'mo-icn-toast_success';
|
|
36
|
+
}
|
|
37
|
+
const { eventName, callback } = this.config;
|
|
38
|
+
if (!eventName || !callback) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (eventName === 'click') {
|
|
42
|
+
this.containerClass = `${this.containerClass} cursor-pointer`;
|
|
43
|
+
}
|
|
44
|
+
fromEvent(this.elementRef.nativeElement, eventName).pipe(takeUntil(this.onDestroy), take(1)).subscribe(callback);
|
|
45
|
+
}
|
|
46
|
+
handlerClickClose(e) {
|
|
47
|
+
e.stopPropagation();
|
|
48
|
+
this.removeComponent();
|
|
49
|
+
}
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServicesComponentsTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibUiServicesComponentsTextComponent, isStandalone: true, selector: "libs_ui-services-notification-components-text", usesInheritance: true, ngImport: i0, 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>", 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"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServicesComponentsTextComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
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>", 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"] }]
|
|
56
|
+
}], ctorParameters: () => [] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvY29tcG9uZW50cy90ZXh0L3RleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9zZXJ2aWNlcy9ub3RpZmljYXRpb24vc3JjL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVzFFLE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxxQ0FBcUM7SUFDbkYsY0FBYyxDQUFVO0lBQ3hCLElBQUksQ0FBVTtJQUVoQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRXZDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMxQixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxpQ0FBaUMsQ0FBQztnQkFDOUMsTUFBTTtZQUVSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLG9CQUFvQixDQUFDO2dCQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO2dCQUN6QyxNQUFNO1lBRVIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsaUNBQWlDLENBQUM7Z0JBQzlDLE1BQU07WUFFUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxtQ0FBbUMsQ0FBQztnQkFDaEQsTUFBTTtZQUVSO2dCQUNFLElBQUksQ0FBQyxjQUFjLEdBQUcsb0NBQW9DLENBQUM7Z0JBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7UUFDdkMsQ0FBQztRQUNELE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUU1QyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLFNBQVMsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsaUJBQWlCLENBQUM7UUFDaEUsQ0FBQztRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVTLGlCQUFpQixDQUFDLENBQVE7UUFDbEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQWxEVSxvQ0FBb0M7NEZBQXBDLG9DQUFvQyxnSUNmakQsa3lCQTBCTSxzaENEZE0sZUFBZTs7NEZBR2Qsb0NBQW9DO2tCQVRoRCxTQUFTOytCQUVFLCtDQUErQyxjQUc3QyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUMsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaWJVaVNlcnZpY2VOb3RpZmljYXRpb25CYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLXNlcnZpY2VzLW5vdGlmaWNhdGlvbi1jb21wb25lbnRzLXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpYlVpU2VydmljZXNDb21wb25lbnRzVGV4dENvbXBvbmVudCBleHRlbmRzIExpYlVpU2VydmljZU5vdGlmaWNhdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBjb250YWluZXJDbGFzcyE6IHN0cmluZztcbiAgcHJvdGVjdGVkIGljb24hOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy5jb25maWc/LnR5cGUpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICB0aGlzLmNvbnRhaW5lckNsYXNzID0gJ2xpYnMtdWktdG9hc3Rfc3VjY2Vzcyc7XG4gICAgICAgIHRoaXMuaWNvbiA9ICdsaWJzLXVpLWljb24tY2hlY2stY2lyY2xlLXNvbGlkJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICB0aGlzLmNvbnRhaW5lckNsYXNzID0gJ2xpYnMtdWktdG9hc3RfaW5mbyc7XG4gICAgICAgIHRoaXMuaWNvbiA9ICdsaWJzLXVpLWljb24tdG9vbHRpcC1zb2xpZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHRoaXMuY29udGFpbmVyQ2xhc3MgPSAnbGlicy11aS10b2FzdF9lcnJvcic7XG4gICAgICAgIHRoaXMuaWNvbiA9ICdsaWJzLXVpLWljb24tY2xvc2UtY2lyY2xlLXNvbGlkJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICB0aGlzLmNvbnRhaW5lckNsYXNzID0gJ2xpYnMtdWktdG9hc3Rfd2FybmluZyc7XG4gICAgICAgIHRoaXMuaWNvbiA9ICdsaWJzLXVpLWljb24tYWxlcnQtdHJpYW5nbGUtc29saWQnO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcyA9ICdiZy1bIzZmZDEwMF0gbGlicy11aS10b2FzdF9zdWNjZXNzJztcbiAgICAgICAgdGhpcy5pY29uID0gJ21vLWljbi10b2FzdF9zdWNjZXNzJztcbiAgICB9XG4gICAgY29uc3QgeyBldmVudE5hbWUsIGNhbGxiYWNrIH0gPSB0aGlzLmNvbmZpZztcblxuICAgIGlmICghZXZlbnROYW1lIHx8ICFjYWxsYmFjaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lckNsYXNzID0gYCR7dGhpcy5jb250YWluZXJDbGFzc30gY3Vyc29yLXBvaW50ZXJgO1xuICAgIH1cbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSkucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpLCB0YWtlKDEpKS5zdWJzY3JpYmUoY2FsbGJhY2spO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJDbGlja0Nsb3NlKGU6IEV2ZW50KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJlbW92ZUNvbXBvbmVudCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGlicy11aS10b2FzdFwiXG4gIFtjbGFzc109XCJjb250YWluZXJDbGFzc1wiXG4gIFtzdHlsZS56SW5kZXhdPVwiY29uZmlnLnpJbmRleCB8fCAyMDAwXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgIDxpIGNsYXNzPVwie3tpY29ufX1cIj48L2k+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCB3LWZ1bGxcIj5cbiAgICBAaWYgKHRpdGxlKSB7XG4gICAgPGRpdiBjbGFzcz1cImxpYnMtdWktZm9udC1oNW0gdGV4dC1icmVha1wiXG4gICAgICBbaW5uZXJIdG1sXT1cInRpdGxlIHwgdHJhbnNsYXRlIFwiPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKG1lc3NhZ2UpIHtcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1icmVha1wiXG4gICAgICBbY2xhc3MubGlicy11aS1mb250LWg1cl09XCIhdGl0bGVcIlxuICAgICAgW2NsYXNzLmxpYnMtdWktZm9udC1oN3JdPVwidGl0bGVcIlxuICAgICAgW2NsYXNzLm10LVs0cHB4XV09XCJ0aXRsZVwiXG4gICAgICBbaW5uZXJIdG1sXT1cIm1lc3NhZ2UgfCB0cmFuc2xhdGU6IChpbnRlcnBvbGF0ZVBhcmFtcyB8fCB7fSlcIj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICA8aSBjbGFzcz1cImxpYnMtdWktaWNvbi1jbG9zZSBtci0wIG1sLVs4cHhdIGN1cnNvci1wb2ludGVyXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2tDbG9zZSgkZXZlbnQpXCI+XG4gICAgPC9pPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './notification.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnOyJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9zZXJ2aWNlcy9ub3RpZmljYXRpb24vc3JjL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJTm90aWZpY2F0aW9uUXVldWUge1xuICBjb25maWc6IElOb3RpZmljYXRpb25UZXh0Q29uZmlnO1xuICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+O1xuICB0aW1lb3V0OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5vdGlmaWNhdGlvblRleHRDb25maWcge1xuICB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm4nO1xuICBwb3NpdGlvblJpZ2h0PzogbnVtYmVyO1xuICB6SW5kZXg/OiBudW1iZXI7XG4gIHRpbWVSZW1vdmU6IG51bWJlcjtcbiAgZXZlbnROYW1lPzogJ2NsaWNrJyB8ICdtb3VzZWVudGVyJztcbiAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElOb3RpZmljYXRpb25UZXh0UHVibGljQ29uZmlnIHtcbiAgaW50ZXJwb2xhdGVQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLGFueT4sXG4gIHRpdGxlPzogc3RyaW5nLFxuICBwb3NpdGlvblJpZ2h0PzogbnVtYmVyO1xuICB6SW5kZXg/OiBudW1iZXI7XG4gIHRpbWVSZW1vdmU/OiBudW1iZXI7XG4gIGV2ZW50TmFtZT86ICdjbGljaycgfCAnbW91c2VlbnRlcic7XG4gIGNhbGxiYWNrPzogKCkgPT4gdm9pZDtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElOb3RpZmljYXRpb25QdXNoRnJvbUlGcmFtZSB7XG5cdGZ1bmN0aW9uTmFtZTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ2Vycm9yJyB8ICd3YXJuJztcblx0bWVzc2FnZTogc3RyaW5nO1xuXHR0aXRsZT86IHN0cmluZztcblx0dGltZVJlbW92ZT86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1zZXJ2aWNlcy1ub3RpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvbGlicy11aS1zZXJ2aWNlcy1ub3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';
|
|
4
|
+
import { encrypt, escapeHtml, isEmbedFrame, UtilsCommunicateMicro } from '@libs-ui/utils';
|
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import { LibUiServicesComponentsTextComponent } from './components';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class LibsUiNotificationService {
|
|
10
|
+
notificationPermission;
|
|
11
|
+
queueMessage = [];
|
|
12
|
+
timeoutUpdatePosition;
|
|
13
|
+
MAX_QUEUE_MESSAGE = 5;
|
|
14
|
+
isInit = false;
|
|
15
|
+
dynamicService = inject(LibsUiDynamicComponentService);
|
|
16
|
+
translateService = inject(TranslateService);
|
|
17
|
+
constructor() {
|
|
18
|
+
this.notificationPermission = this.systemSupportNotification() ? 'default' : 'denied';
|
|
19
|
+
}
|
|
20
|
+
init(messageNameHandler) {
|
|
21
|
+
if (this.isInit) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.isInit = true;
|
|
25
|
+
UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {
|
|
26
|
+
if (isEmbedFrame()) {
|
|
27
|
+
const dataMessage = e.data.response;
|
|
28
|
+
this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
UtilsCommunicateMicro.PostMessageToParent(e.data);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
get TranslateService() {
|
|
35
|
+
return this.translateService;
|
|
36
|
+
}
|
|
37
|
+
systemSupportNotification() {
|
|
38
|
+
return 'Notification' in window;
|
|
39
|
+
}
|
|
40
|
+
systemRequestPermission() {
|
|
41
|
+
if (!this.systemSupportNotification()) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
Notification.requestPermission().then((permission) => this.Permission = permission);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
if (error instanceof TypeError) {
|
|
49
|
+
Notification.requestPermission((permission) => this.Permission = permission);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
set Permission(permission) {
|
|
54
|
+
this.notificationPermission = permission;
|
|
55
|
+
}
|
|
56
|
+
systemSpawnNotification(title, options) {
|
|
57
|
+
return new Observable((obs) => {
|
|
58
|
+
if (!this.systemSupportNotification()) {
|
|
59
|
+
obs.complete();
|
|
60
|
+
}
|
|
61
|
+
if (this.notificationPermission !== 'granted') {
|
|
62
|
+
obs.complete();
|
|
63
|
+
}
|
|
64
|
+
const notify = new Notification(title, options);
|
|
65
|
+
notify.onshow = (e) => {
|
|
66
|
+
return obs.next({
|
|
67
|
+
notification: notify,
|
|
68
|
+
event: e
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
notify.onclick = (e) => {
|
|
72
|
+
notify.close();
|
|
73
|
+
window.focus();
|
|
74
|
+
return obs.next({
|
|
75
|
+
notification: notify,
|
|
76
|
+
event: e
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
notify.onerror = (e) => {
|
|
80
|
+
return obs.error({
|
|
81
|
+
notification: notify,
|
|
82
|
+
event: e
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
notify.onclose = () => {
|
|
86
|
+
return obs.complete();
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
showCompTypeTextSuccess(message, config) {
|
|
91
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'success', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
92
|
+
}
|
|
93
|
+
showCompTypeTextError(message, config) {
|
|
94
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'error', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
95
|
+
}
|
|
96
|
+
showCompTypeTextInfo(message, config) {
|
|
97
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'info', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
98
|
+
}
|
|
99
|
+
showCompTypeTextWarning(message, config) {
|
|
100
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'warn', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
101
|
+
}
|
|
102
|
+
showCompTypeText(message, interpolateParams, title, config = { type: 'success', timeRemove: 2000 }) {
|
|
103
|
+
if (!message) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this.checkQueueMessage();
|
|
107
|
+
if (interpolateParams && typeof interpolateParams === 'object') {
|
|
108
|
+
Object.keys(interpolateParams).forEach((key) => {
|
|
109
|
+
interpolateParams[key] = escapeHtml(interpolateParams[key]);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (isEmbedFrame()) {
|
|
113
|
+
const messageTranslate = this.translateService.instant(message, interpolateParams);
|
|
114
|
+
return UtilsCommunicateMicro.PostMessageToParent({ type: 'MICRO_SITE_PUSH_MESSAGE_FROM_CHILD', response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });
|
|
115
|
+
}
|
|
116
|
+
const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);
|
|
117
|
+
const instance = component.instance;
|
|
118
|
+
instance.title = title;
|
|
119
|
+
instance.message = message;
|
|
120
|
+
instance.interpolateParams = interpolateParams;
|
|
121
|
+
instance.config = config;
|
|
122
|
+
instance.removeComponent = () => this.removeComponent(component);
|
|
123
|
+
const timeout = setTimeout(() => {
|
|
124
|
+
this.removeComponent(component);
|
|
125
|
+
}, config?.timeRemove);
|
|
126
|
+
this.queueMessage.push({
|
|
127
|
+
component,
|
|
128
|
+
config,
|
|
129
|
+
timeout
|
|
130
|
+
});
|
|
131
|
+
this.dynamicService.addToBody(component);
|
|
132
|
+
this.updatePositionMessage();
|
|
133
|
+
}
|
|
134
|
+
removeComponent(component) {
|
|
135
|
+
this.dynamicService.remove(component);
|
|
136
|
+
const indexRemove = this.queueMessage.findIndex(config => config.component === component);
|
|
137
|
+
if (indexRemove !== -1) {
|
|
138
|
+
this.queueMessage.splice(indexRemove, 1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
checkQueueMessage() {
|
|
142
|
+
if (this.queueMessage.length < this.MAX_QUEUE_MESSAGE) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const firstQueue = this.queueMessage.shift();
|
|
146
|
+
clearTimeout(firstQueue.timeout);
|
|
147
|
+
this.dynamicService.remove(firstQueue.component);
|
|
148
|
+
this.updatePositionMessage();
|
|
149
|
+
}
|
|
150
|
+
updatePositionMessage() {
|
|
151
|
+
if (!this.queueMessage.length) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
clearTimeout(this.timeoutUpdatePosition);
|
|
155
|
+
this.timeoutUpdatePosition = setTimeout(() => {
|
|
156
|
+
let topMessage = 12;
|
|
157
|
+
this.queueMessage.forEach((message) => {
|
|
158
|
+
const firstEl = message.component.instance.elementRef.nativeElement.firstElementChild;
|
|
159
|
+
const rect = firstEl.getBoundingClientRect();
|
|
160
|
+
firstEl.style.top = `${topMessage}px`;
|
|
161
|
+
topMessage += rect.height + 12;
|
|
162
|
+
let right = message.config.positionRight ?? 12;
|
|
163
|
+
if (isEmbedFrame()) {
|
|
164
|
+
right = 40;
|
|
165
|
+
}
|
|
166
|
+
firstEl.style.right = `${right}px`;
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
171
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, providedIn: 'root' });
|
|
172
|
+
}
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, decorators: [{
|
|
174
|
+
type: Injectable,
|
|
175
|
+
args: [{
|
|
176
|
+
providedIn: 'root'
|
|
177
|
+
}]
|
|
178
|
+
}], ctorParameters: () => [] });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9zcmMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUM1QixzQkFBc0IsQ0FBeUI7SUFDL0MsWUFBWSxHQUE4QixFQUFFLENBQUM7SUFDN0MscUJBQXFCLENBQU07SUFDbEIsaUJBQWlCLEdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZixjQUFjLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDdkQsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFcEQ7UUFDRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3hGLENBQUM7SUFFTSxJQUFJLENBQUMsa0JBQWlDO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxD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QU8sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRTtnQkFDeEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBRTdDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsVUFBVSxJQUFJLENBQUM7Z0JBQ3RDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2dCQUUvQyxJQUFJLFlBQVksRUFBRSxFQUFFLENBQUM7b0JBQ25CLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2IsQ0FBQztnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTdMVSx5QkFBeUI7NEdBQXpCLHlCQUF5QixjQUh4QixNQUFNOzs0RkFHUCx5QkFBeUI7a0JBSnJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpYnNVaUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGxpYnMtdWkvc2VydmljZXMtZHluYW1pYy1jb21wb25lbnQnO1xuaW1wb3J0IHsgZW5jcnlwdCwgZXNjYXBlSHRtbCwgaXNFbWJlZEZyYW1lLCBVdGlsc0NvbW11bmljYXRlTWljcm8gfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJVaVNlcnZpY2VzQ29tcG9uZW50c1RleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblB1c2hGcm9tSUZyYW1lLCBJTm90aWZpY2F0aW9uUXVldWUsIElOb3RpZmljYXRpb25UZXh0Q29uZmlnLCBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaU5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIG5vdGlmaWNhdGlvblBlcm1pc3Npb246IE5vdGlmaWNhdGlvblBlcm1pc3Npb247XG4gIHByaXZhdGUgcXVldWVNZXNzYWdlOiBBcnJheTxJTm90aWZpY2F0aW9uUXVldWU+ID0gW107XG4gIHByaXZhdGUgdGltZW91dFVwZGF0ZVBvc2l0aW9uOiBhbnk7XG4gIHByaXZhdGUgcmVhZG9ubHkgTUFYX1FVRVVFX01FU1NBR0U6IG51bWJlciA9IDU7XG4gIHByaXZhdGUgaXNJbml0ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBkeW5hbWljU2VydmljZSA9IGluamVjdChMaWJzVWlEeW5hbWljQ29tcG9uZW50U2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblBlcm1pc3Npb24gPSB0aGlzLnN5c3RlbVN1cHBvcnROb3RpZmljYXRpb24oKSA/ICdkZWZhdWx0JyA6ICdkZW5pZWQnO1xuICB9XG5cbiAgcHVibGljIGluaXQobWVzc2FnZU5hbWVIYW5kbGVyOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgaWYgKHRoaXMuaXNJbml0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNJbml0ID0gdHJ1ZTtcbiAgICBVdGlsc0NvbW11bmljYXRlTWljcm8uR2V0TWVzc2FnZShtZXNzYWdlTmFtZUhhbmRsZXIpLnN1YnNjcmliZShlID0+IHtcbiAgICAgIGlmIChpc0VtYmVkRnJhbWUoKSkge1xuICAgICAgICBjb25zdCBkYXRhTWVzc2FnZSA9IGUuZGF0YS5yZXNwb25zZSBhcyBJTm90aWZpY2F0aW9uUHVzaEZyb21JRnJhbWU7XG5cbiAgICAgICAgdGhpcy5zaG93Q29tcFR5cGVUZXh0KGRhdGFNZXNzYWdlLm1lc3NhZ2UsIHVuZGVmaW5lZCwgZGF0YU1lc3NhZ2UudGl0bGUsIHsgdHlwZTogZGF0YU1lc3NhZ2UuZnVuY3Rpb25OYW1lLCB0aW1lUmVtb3ZlOiBkYXRhTWVzc2FnZS50aW1lUmVtb3ZlIHx8IDIwMDAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgVXRpbHNDb21tdW5pY2F0ZU1pY3JvLlBvc3RNZXNzYWdlVG9QYXJlbnQoZS5kYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRlU2VydmljZSgpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzeXN0ZW1TdXBwb3J0Tm90aWZpY2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAnTm90aWZpY2F0aW9uJyBpbiB3aW5kb3c7XG4gIH1cblxuICBwdWJsaWMgc3lzdGVtUmVxdWVzdFBlcm1pc3Npb24oKSB7XG4gICAgaWYgKCF0aGlzLnN5c3RlbVN1cHBvcnROb3RpZmljYXRpb24oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigocGVybWlzc2lvbjogTm90aWZpY2F0aW9uUGVybWlzc2lvbikgPT4gdGhpcy5QZXJtaXNzaW9uID0gcGVybWlzc2lvbik7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKHBlcm1pc3Npb246IE5vdGlmaWNhdGlvblBlcm1pc3Npb24pID0+IHRoaXMuUGVybWlzc2lvbiA9IHBlcm1pc3Npb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0IFBlcm1pc3Npb24ocGVybWlzc2lvbjogTm90aWZpY2F0aW9uUGVybWlzc2lvbikge1xuICAgIHRoaXMubm90aWZpY2F0aW9uUGVybWlzc2lvbiA9IHBlcm1pc3Npb247XG4gIH1cblxuICBwdWJsaWMgc3lzdGVtU3Bhd25Ob3RpZmljYXRpb24odGl0bGU6IHN0cmluZywgb3B0aW9ucz86IE5vdGlmaWNhdGlvbk9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzOiBhbnkpID0+IHtcbiAgICAgIGlmICghdGhpcy5zeXN0ZW1TdXBwb3J0Tm90aWZpY2F0aW9uKCkpIHtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5ub3RpZmljYXRpb25QZXJtaXNzaW9uICE9PSAnZ3JhbnRlZCcpIHtcbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgICBjb25zdCBub3RpZnkgPSBuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBvcHRpb25zKTtcblxuICAgICAgbm90aWZ5Lm9uc2hvdyA9IChlKSA9PiB7XG4gICAgICAgIHJldHVybiBvYnMubmV4dCh7XG4gICAgICAgICAgbm90aWZpY2F0aW9uOiBub3RpZnksXG4gICAgICAgICAgZXZlbnQ6IGVcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgbm90aWZ5Lm9uY2xpY2sgPSAoZSkgPT4ge1xuICAgICAgICBub3RpZnkuY2xvc2UoKTtcbiAgICAgICAgd2luZG93LmZvY3VzKCk7XG5cbiAgICAgICAgcmV0dXJuIG9icy5uZXh0KHtcbiAgICAgICAgICBub3RpZmljYXRpb246IG5vdGlmeSxcbiAgICAgICAgICBldmVudDogZVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBub3RpZnkub25lcnJvciA9IChlKSA9PiB7XG4gICAgICAgIHJldHVybiBvYnMuZXJyb3Ioe1xuICAgICAgICAgIG5vdGlmaWNhdGlvbjogbm90aWZ5LFxuICAgICAgICAgIGV2ZW50OiBlXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIG5vdGlmeS5vbmNsb3NlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogSU5vdGlmaWNhdGlvblRleHRQdWJsaWNDb25maWcpIHtcbiAgICB0aGlzLnNob3dDb21wVHlwZVRleHQobWVzc2FnZSwgY29uZmlnPy5pbnRlcnBvbGF0ZVBhcmFtcywgY29uZmlnPy50aXRsZSwgeyB0eXBlOiAnc3VjY2VzcycsIHRpbWVSZW1vdmU6IGNvbmZpZz8udGltZVJlbW92ZSB8fCAzMDAwLCBwb3NpdGlvblJpZ2h0OiBjb25maWc/LnBvc2l0aW9uUmlnaHQsIGV2ZW50TmFtZTogY29uZmlnPy5ldmVudE5hbWUsIGNhbGxiYWNrOiBjb25maWc/LmNhbGxiYWNrIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dDb21wVHlwZVRleHRFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IElOb3RpZmljYXRpb25UZXh0UHVibGljQ29uZmlnKSB7XG4gICAgdGhpcy5zaG93Q29tcFR5cGVUZXh0KG1lc3NhZ2UsIGNvbmZpZz8uaW50ZXJwb2xhdGVQYXJhbXMsIGNvbmZpZz8udGl0bGUsIHsgdHlwZTogJ2Vycm9yJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbXBUeXBlVGV4dEluZm8obWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZykge1xuICAgIHRoaXMuc2hvd0NvbXBUeXBlVGV4dChtZXNzYWdlLCBjb25maWc/LmludGVycG9sYXRlUGFyYW1zLCBjb25maWc/LnRpdGxlLCB7IHR5cGU6ICdpbmZvJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbXBUeXBlVGV4dFdhcm5pbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBJTm90aWZpY2F0aW9uVGV4dFB1YmxpY0NvbmZpZykge1xuICAgIHRoaXMuc2hvd0NvbXBUeXBlVGV4dChtZXNzYWdlLCBjb25maWc/LmludGVycG9sYXRlUGFyYW1zLCBjb25maWc/LnRpdGxlLCB7IHR5cGU6ICd3YXJuJywgdGltZVJlbW92ZTogY29uZmlnPy50aW1lUmVtb3ZlIHx8IDMwMDAsIHBvc2l0aW9uUmlnaHQ6IGNvbmZpZz8ucG9zaXRpb25SaWdodCwgZXZlbnROYW1lOiBjb25maWc/LmV2ZW50TmFtZSwgY2FsbGJhY2s6IGNvbmZpZz8uY2FsbGJhY2sgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dDb21wVHlwZVRleHQobWVzc2FnZTogc3RyaW5nLCBpbnRlcnBvbGF0ZVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4sIHRpdGxlPzogc3RyaW5nLCBjb25maWc6IElOb3RpZmljYXRpb25UZXh0Q29uZmlnID0geyB0eXBlOiAnc3VjY2VzcycsIHRpbWVSZW1vdmU6IDIwMDAgfSk6IHZvaWQge1xuICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tRdWV1ZU1lc3NhZ2UoKTtcbiAgICBpZiAoaW50ZXJwb2xhdGVQYXJhbXMgJiYgdHlwZW9mIGludGVycG9sYXRlUGFyYW1zID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXMoaW50ZXJwb2xhdGVQYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBpbnRlcnBvbGF0ZVBhcmFtc1trZXldID0gZXNjYXBlSHRtbChpbnRlcnBvbGF0ZVBhcmFtc1trZXldKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc0VtYmVkRnJhbWUoKSkge1xuICAgICAgY29uc3QgbWVzc2FnZVRyYW5zbGF0ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KG1lc3NhZ2UsIGludGVycG9sYXRlUGFyYW1zKSBhcyBzdHJpbmc7XG5cbiAgICAgIHJldHVybiBVdGlsc0NvbW11bmljYXRlTWljcm8uUG9zdE1lc3NhZ2VUb1BhcmVudCh7IHR5cGU6ICdNSUNST19TSVRFX1BVU0hfTUVTU0FHRV9GUk9NX0NISUxEJywgcmVzcG9uc2U6IGVuY3J5cHQoSlNPTi5zdHJpbmdpZnkoeyBmdW5jdGlvbk5hbWU6IGNvbmZpZy50eXBlLCBtZXNzYWdlOiBtZXNzYWdlVHJhbnNsYXRlLCB0aXRsZSwgdGltZVJlbW92ZTogY29uZmlnLnRpbWVSZW1vdmUgfHwgMjAwMCB9KSkgfSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZHluYW1pY1NlcnZpY2UucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTGliVWlTZXJ2aWNlc0NvbXBvbmVudHNUZXh0Q29tcG9uZW50KTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudC5pbnN0YW5jZTtcblxuICAgIGluc3RhbmNlLnRpdGxlID0gdGl0bGU7XG4gICAgaW5zdGFuY2UubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgaW5zdGFuY2UuaW50ZXJwb2xhdGVQYXJhbXMgPSBpbnRlcnBvbGF0ZVBhcmFtcztcbiAgICBpbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG4gICAgaW5zdGFuY2UucmVtb3ZlQ29tcG9uZW50ID0gKCkgPT4gdGhpcy5yZW1vdmVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlbW92ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH0sIGNvbmZpZz8udGltZVJlbW92ZSk7XG5cbiAgICB0aGlzLnF1ZXVlTWVzc2FnZS5wdXNoKHtcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIGNvbmZpZyxcbiAgICAgIHRpbWVvdXRcbiAgICB9KTtcbiAgICB0aGlzLmR5bmFtaWNTZXJ2aWNlLmFkZFRvQm9keShjb21wb25lbnQpO1xuICAgIHRoaXMudXBkYXRlUG9zaXRpb25NZXNzYWdlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNvbXBvbmVudChjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy5keW5hbWljU2VydmljZS5yZW1vdmUoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmRleFJlbW92ZSA9IHRoaXMucXVldWVNZXNzYWdlLmZpbmRJbmRleChjb25maWcgPT4gY29uZmlnLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KTtcblxuICAgIGlmIChpbmRleFJlbW92ZSAhPT0gLTEpIHtcbiAgICAgIHRoaXMucXVldWVNZXNzYWdlLnNwbGljZShpbmRleFJlbW92ZSwgMSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1F1ZXVlTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5xdWV1ZU1lc3NhZ2UubGVuZ3RoIDwgdGhpcy5NQVhfUVVFVUVfTUVTU0FHRSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaXJzdFF1ZXVlID0gdGhpcy5xdWV1ZU1lc3NhZ2Uuc2hpZnQoKSBhcyBJTm90aWZpY2F0aW9uUXVldWU7XG5cbiAgICBjbGVhclRpbWVvdXQoZmlyc3RRdWV1ZS50aW1lb3V0KTtcbiAgICB0aGlzLmR5bmFtaWNTZXJ2aWNlLnJlbW92ZShmaXJzdFF1ZXVlLmNvbXBvbmVudCk7XG4gICAgdGhpcy51cGRhdGVQb3NpdGlvbk1lc3NhZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUG9zaXRpb25NZXNzYWdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5xdWV1ZU1lc3NhZ2UubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRVcGRhdGVQb3NpdGlvbik7XG4gICAgdGhpcy50aW1lb3V0VXBkYXRlUG9zaXRpb24gPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCB0b3BNZXNzYWdlID0gMTI7XG5cbiAgICAgIHRoaXMucXVldWVNZXNzYWdlLmZvckVhY2goKG1lc3NhZ2U6IElOb3RpZmljYXRpb25RdWV1ZSkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdEVsID0gbWVzc2FnZS5jb21wb25lbnQuaW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgICBjb25zdCByZWN0ID0gZmlyc3RFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBmaXJzdEVsLnN0eWxlLnRvcCA9IGAke3RvcE1lc3NhZ2V9cHhgO1xuICAgICAgICB0b3BNZXNzYWdlICs9IHJlY3QuaGVpZ2h0ICsgMTI7XG4gICAgICAgIGxldCByaWdodCA9IG1lc3NhZ2UuY29uZmlnLnBvc2l0aW9uUmlnaHQgPz8gMTI7XG5cbiAgICAgICAgaWYgKGlzRW1iZWRGcmFtZSgpKSB7XG4gICAgICAgICAgcmlnaHQgPSA0MDtcbiAgICAgICAgfVxuICAgICAgICBmaXJzdEVsLnN0eWxlLnJpZ2h0ID0gYCR7cmlnaHR9cHhgO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, inject, ElementRef, Component, ChangeDetectionStrategy, Injectable } from '@angular/core';
|
|
3
|
+
import { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';
|
|
4
|
+
import { UtilsCommunicateMicro, isEmbedFrame, escapeHtml, encrypt } from '@libs-ui/utils';
|
|
5
|
+
import * as i1 from '@ngx-translate/core';
|
|
6
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
7
|
+
import { Subject, fromEvent, Observable } from 'rxjs';
|
|
8
|
+
import { takeUntil, take } from 'rxjs/operators';
|
|
9
|
+
|
|
10
|
+
class LibUiServiceNotificationBaseComponent {
|
|
11
|
+
message;
|
|
12
|
+
interpolateParams;
|
|
13
|
+
title;
|
|
14
|
+
config;
|
|
15
|
+
removeComponent;
|
|
16
|
+
onDestroy = new Subject();
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
this.onDestroy.next();
|
|
19
|
+
this.onDestroy.complete();
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServiceNotificationBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LibUiServiceNotificationBaseComponent, ngImport: i0 });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServiceNotificationBaseComponent, decorators: [{
|
|
25
|
+
type: Directive
|
|
26
|
+
}] });
|
|
27
|
+
|
|
28
|
+
class LibUiServicesComponentsTextComponent extends LibUiServiceNotificationBaseComponent {
|
|
29
|
+
containerClass;
|
|
30
|
+
icon;
|
|
31
|
+
elementRef = inject(ElementRef);
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
switch (this.config?.type) {
|
|
37
|
+
case 'success':
|
|
38
|
+
this.containerClass = 'libs-ui-toast_success';
|
|
39
|
+
this.icon = 'libs-ui-icon-check-circle-solid';
|
|
40
|
+
break;
|
|
41
|
+
case 'info':
|
|
42
|
+
this.containerClass = 'libs-ui-toast_info';
|
|
43
|
+
this.icon = 'libs-ui-icon-tooltip-solid';
|
|
44
|
+
break;
|
|
45
|
+
case 'error':
|
|
46
|
+
this.containerClass = 'libs-ui-toast_error';
|
|
47
|
+
this.icon = 'libs-ui-icon-close-circle-solid';
|
|
48
|
+
break;
|
|
49
|
+
case 'warn':
|
|
50
|
+
this.containerClass = 'libs-ui-toast_warning';
|
|
51
|
+
this.icon = 'libs-ui-icon-alert-triangle-solid';
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
this.containerClass = 'bg-[#6fd100] libs-ui-toast_success';
|
|
55
|
+
this.icon = 'mo-icn-toast_success';
|
|
56
|
+
}
|
|
57
|
+
const { eventName, callback } = this.config;
|
|
58
|
+
if (!eventName || !callback) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (eventName === 'click') {
|
|
62
|
+
this.containerClass = `${this.containerClass} cursor-pointer`;
|
|
63
|
+
}
|
|
64
|
+
fromEvent(this.elementRef.nativeElement, eventName).pipe(takeUntil(this.onDestroy), take(1)).subscribe(callback);
|
|
65
|
+
}
|
|
66
|
+
handlerClickClose(e) {
|
|
67
|
+
e.stopPropagation();
|
|
68
|
+
this.removeComponent();
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServicesComponentsTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibUiServicesComponentsTextComponent, isStandalone: true, selector: "libs_ui-services-notification-components-text", usesInheritance: true, ngImport: i0, 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>", 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"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUiServicesComponentsTextComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
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>", 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"] }]
|
|
76
|
+
}], ctorParameters: () => [] });
|
|
77
|
+
|
|
78
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
79
|
+
class LibsUiNotificationService {
|
|
80
|
+
notificationPermission;
|
|
81
|
+
queueMessage = [];
|
|
82
|
+
timeoutUpdatePosition;
|
|
83
|
+
MAX_QUEUE_MESSAGE = 5;
|
|
84
|
+
isInit = false;
|
|
85
|
+
dynamicService = inject(LibsUiDynamicComponentService);
|
|
86
|
+
translateService = inject(TranslateService);
|
|
87
|
+
constructor() {
|
|
88
|
+
this.notificationPermission = this.systemSupportNotification() ? 'default' : 'denied';
|
|
89
|
+
}
|
|
90
|
+
init(messageNameHandler) {
|
|
91
|
+
if (this.isInit) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this.isInit = true;
|
|
95
|
+
UtilsCommunicateMicro.GetMessage(messageNameHandler).subscribe(e => {
|
|
96
|
+
if (isEmbedFrame()) {
|
|
97
|
+
const dataMessage = e.data.response;
|
|
98
|
+
this.showCompTypeText(dataMessage.message, undefined, dataMessage.title, { type: dataMessage.functionName, timeRemove: dataMessage.timeRemove || 2000 });
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
UtilsCommunicateMicro.PostMessageToParent(e.data);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
get TranslateService() {
|
|
105
|
+
return this.translateService;
|
|
106
|
+
}
|
|
107
|
+
systemSupportNotification() {
|
|
108
|
+
return 'Notification' in window;
|
|
109
|
+
}
|
|
110
|
+
systemRequestPermission() {
|
|
111
|
+
if (!this.systemSupportNotification()) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
Notification.requestPermission().then((permission) => this.Permission = permission);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
if (error instanceof TypeError) {
|
|
119
|
+
Notification.requestPermission((permission) => this.Permission = permission);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
set Permission(permission) {
|
|
124
|
+
this.notificationPermission = permission;
|
|
125
|
+
}
|
|
126
|
+
systemSpawnNotification(title, options) {
|
|
127
|
+
return new Observable((obs) => {
|
|
128
|
+
if (!this.systemSupportNotification()) {
|
|
129
|
+
obs.complete();
|
|
130
|
+
}
|
|
131
|
+
if (this.notificationPermission !== 'granted') {
|
|
132
|
+
obs.complete();
|
|
133
|
+
}
|
|
134
|
+
const notify = new Notification(title, options);
|
|
135
|
+
notify.onshow = (e) => {
|
|
136
|
+
return obs.next({
|
|
137
|
+
notification: notify,
|
|
138
|
+
event: e
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
notify.onclick = (e) => {
|
|
142
|
+
notify.close();
|
|
143
|
+
window.focus();
|
|
144
|
+
return obs.next({
|
|
145
|
+
notification: notify,
|
|
146
|
+
event: e
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
notify.onerror = (e) => {
|
|
150
|
+
return obs.error({
|
|
151
|
+
notification: notify,
|
|
152
|
+
event: e
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
notify.onclose = () => {
|
|
156
|
+
return obs.complete();
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
showCompTypeTextSuccess(message, config) {
|
|
161
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'success', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
162
|
+
}
|
|
163
|
+
showCompTypeTextError(message, config) {
|
|
164
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'error', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
165
|
+
}
|
|
166
|
+
showCompTypeTextInfo(message, config) {
|
|
167
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'info', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
168
|
+
}
|
|
169
|
+
showCompTypeTextWarning(message, config) {
|
|
170
|
+
this.showCompTypeText(message, config?.interpolateParams, config?.title, { type: 'warn', timeRemove: config?.timeRemove || 3000, positionRight: config?.positionRight, eventName: config?.eventName, callback: config?.callback });
|
|
171
|
+
}
|
|
172
|
+
showCompTypeText(message, interpolateParams, title, config = { type: 'success', timeRemove: 2000 }) {
|
|
173
|
+
if (!message) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
this.checkQueueMessage();
|
|
177
|
+
if (interpolateParams && typeof interpolateParams === 'object') {
|
|
178
|
+
Object.keys(interpolateParams).forEach((key) => {
|
|
179
|
+
interpolateParams[key] = escapeHtml(interpolateParams[key]);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (isEmbedFrame()) {
|
|
183
|
+
const messageTranslate = this.translateService.instant(message, interpolateParams);
|
|
184
|
+
return UtilsCommunicateMicro.PostMessageToParent({ type: 'MICRO_SITE_PUSH_MESSAGE_FROM_CHILD', response: encrypt(JSON.stringify({ functionName: config.type, message: messageTranslate, title, timeRemove: config.timeRemove || 2000 })) });
|
|
185
|
+
}
|
|
186
|
+
const component = this.dynamicService.resolveComponentFactory(LibUiServicesComponentsTextComponent);
|
|
187
|
+
const instance = component.instance;
|
|
188
|
+
instance.title = title;
|
|
189
|
+
instance.message = message;
|
|
190
|
+
instance.interpolateParams = interpolateParams;
|
|
191
|
+
instance.config = config;
|
|
192
|
+
instance.removeComponent = () => this.removeComponent(component);
|
|
193
|
+
const timeout = setTimeout(() => {
|
|
194
|
+
this.removeComponent(component);
|
|
195
|
+
}, config?.timeRemove);
|
|
196
|
+
this.queueMessage.push({
|
|
197
|
+
component,
|
|
198
|
+
config,
|
|
199
|
+
timeout
|
|
200
|
+
});
|
|
201
|
+
this.dynamicService.addToBody(component);
|
|
202
|
+
this.updatePositionMessage();
|
|
203
|
+
}
|
|
204
|
+
removeComponent(component) {
|
|
205
|
+
this.dynamicService.remove(component);
|
|
206
|
+
const indexRemove = this.queueMessage.findIndex(config => config.component === component);
|
|
207
|
+
if (indexRemove !== -1) {
|
|
208
|
+
this.queueMessage.splice(indexRemove, 1);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
checkQueueMessage() {
|
|
212
|
+
if (this.queueMessage.length < this.MAX_QUEUE_MESSAGE) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const firstQueue = this.queueMessage.shift();
|
|
216
|
+
clearTimeout(firstQueue.timeout);
|
|
217
|
+
this.dynamicService.remove(firstQueue.component);
|
|
218
|
+
this.updatePositionMessage();
|
|
219
|
+
}
|
|
220
|
+
updatePositionMessage() {
|
|
221
|
+
if (!this.queueMessage.length) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
clearTimeout(this.timeoutUpdatePosition);
|
|
225
|
+
this.timeoutUpdatePosition = setTimeout(() => {
|
|
226
|
+
let topMessage = 12;
|
|
227
|
+
this.queueMessage.forEach((message) => {
|
|
228
|
+
const firstEl = message.component.instance.elementRef.nativeElement.firstElementChild;
|
|
229
|
+
const rect = firstEl.getBoundingClientRect();
|
|
230
|
+
firstEl.style.top = `${topMessage}px`;
|
|
231
|
+
topMessage += rect.height + 12;
|
|
232
|
+
let right = message.config.positionRight ?? 12;
|
|
233
|
+
if (isEmbedFrame()) {
|
|
234
|
+
right = 40;
|
|
235
|
+
}
|
|
236
|
+
firstEl.style.right = `${right}px`;
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
241
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, providedIn: 'root' });
|
|
242
|
+
}
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiNotificationService, decorators: [{
|
|
244
|
+
type: Injectable,
|
|
245
|
+
args: [{
|
|
246
|
+
providedIn: 'root'
|
|
247
|
+
}]
|
|
248
|
+
}], ctorParameters: () => [] });
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Generated bundle index. Do not edit.
|
|
252
|
+
*/
|
|
253
|
+
|
|
254
|
+
export { LibsUiNotificationService };
|
|
255
|
+
//# sourceMappingURL=libs-ui-services-notification.mjs.map
|
|
@@ -0,0 +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 { Subject } from 'rxjs';\nimport { INotificationTextConfig } from '../interfaces/notification';\nimport { Directive, OnDestroy } from '@angular/core';\n@Directive()\nexport class LibUiServiceNotificationBaseComponent implements OnDestroy {\n protected message!: string;\n protected interpolateParams!: Record<string, unknown>;\n protected title!: string;\n protected config!: INotificationTextConfig;\n protected removeComponent!: () => void;\n protected onDestroy = new Subject<void>();\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, OnInit, inject } 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 protected containerClass!: string;\n protected icon!: string;\n\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 = 'libs-ui-toast_success';\n this.icon = 'libs-ui-icon-check-circle-solid';\n break;\n\n case 'info':\n this.containerClass = 'libs-ui-toast_info';\n this.icon = 'libs-ui-icon-tooltip-solid';\n break;\n\n case 'error':\n this.containerClass = 'libs-ui-toast_error';\n this.icon = 'libs-ui-icon-close-circle-solid';\n break;\n\n case 'warn':\n this.containerClass = 'libs-ui-toast_warning';\n this.icon = 'libs-ui-icon-alert-triangle-solid';\n break;\n\n default:\n this.containerClass = 'bg-[#6fd100] libs-ui-toast_success';\n this.icon = '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 = `${this.containerClass} cursor-pointer`;\n }\n fromEvent(this.elementRef.nativeElement, eventName).pipe(takeUntil(this.onDestroy), take(1)).subscribe(callback);\n }\n\n protected handlerClickClose(e: Event) {\n e.stopPropagation();\n this.removeComponent();\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>","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ComponentRef, Injectable, inject } from '@angular/core';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { encrypt, escapeHtml, isEmbedFrame, UtilsCommunicateMicro } 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 private notificationPermission: NotificationPermission;\n private queueMessage: Array<INotificationQueue> = [];\n private timeoutUpdatePosition: any;\n private readonly MAX_QUEUE_MESSAGE: number = 5;\n private isInit = false;\n\n private dynamicService = inject(LibsUiDynamicComponentService);\n private translateService = inject(TranslateService);\n\n constructor() {\n this.notificationPermission = this.systemSupportNotification() ? 'default' : 'denied';\n }\n\n public init(messageNameHandler: Array<string>) {\n if (this.isInit) {\n return;\n }\n this.isInit = 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 = permission;\n }\n\n public systemSpawnNotification(title: string, options?: NotificationOptions): any {\n return new Observable((obs: any) => {\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, any>, 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(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 const instance = component.instance;\n\n instance.title = title;\n instance.message = message;\n instance.interpolateParams = interpolateParams;\n instance.config = config;\n instance.removeComponent = () => this.removeComponent(component);\n const timeout = setTimeout(() => {\n this.removeComponent(component);\n }, config?.timeRemove);\n\n this.queueMessage.push({\n component,\n config,\n timeout\n });\n this.dynamicService.addToBody(component);\n this.updatePositionMessage();\n }\n\n private removeComponent(component: ComponentRef<any>) {\n this.dynamicService.remove(component);\n const indexRemove = this.queueMessage.findIndex(config => config.component === component);\n\n if (indexRemove !== -1) {\n this.queueMessage.splice(indexRemove, 1);\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 = 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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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './notification.service';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ComponentRef } from '@angular/core';
|
|
2
|
+
export interface INotificationQueue {
|
|
3
|
+
config: INotificationTextConfig;
|
|
4
|
+
component: ComponentRef<any>;
|
|
5
|
+
timeout: any;
|
|
6
|
+
}
|
|
7
|
+
export interface INotificationTextConfig {
|
|
8
|
+
type: 'success' | 'info' | 'error' | 'warn';
|
|
9
|
+
positionRight?: number;
|
|
10
|
+
zIndex?: number;
|
|
11
|
+
timeRemove: number;
|
|
12
|
+
eventName?: 'click' | 'mouseenter';
|
|
13
|
+
callback?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export interface INotificationTextPublicConfig {
|
|
16
|
+
interpolateParams?: Record<string, any>;
|
|
17
|
+
title?: string;
|
|
18
|
+
positionRight?: number;
|
|
19
|
+
zIndex?: number;
|
|
20
|
+
timeRemove?: number;
|
|
21
|
+
eventName?: 'click' | 'mouseenter';
|
|
22
|
+
callback?: () => void;
|
|
23
|
+
}
|
|
24
|
+
export interface INotificationPushFromIFrame {
|
|
25
|
+
functionName: 'success' | 'info' | 'error' | 'warn';
|
|
26
|
+
message: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
timeRemove?: number;
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
2
|
+
import { INotificationTextPublicConfig } from './interfaces/notification';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LibsUiNotificationService {
|
|
5
|
+
private notificationPermission;
|
|
6
|
+
private queueMessage;
|
|
7
|
+
private timeoutUpdatePosition;
|
|
8
|
+
private readonly MAX_QUEUE_MESSAGE;
|
|
9
|
+
private isInit;
|
|
10
|
+
private dynamicService;
|
|
11
|
+
private translateService;
|
|
12
|
+
constructor();
|
|
13
|
+
init(messageNameHandler: Array<string>): void;
|
|
14
|
+
get TranslateService(): TranslateService;
|
|
15
|
+
private systemSupportNotification;
|
|
16
|
+
systemRequestPermission(): void;
|
|
17
|
+
private set Permission(value);
|
|
18
|
+
systemSpawnNotification(title: string, options?: NotificationOptions): any;
|
|
19
|
+
showCompTypeTextSuccess(message: string, config?: INotificationTextPublicConfig): void;
|
|
20
|
+
showCompTypeTextError(message: string, config?: INotificationTextPublicConfig): void;
|
|
21
|
+
showCompTypeTextInfo(message: string, config?: INotificationTextPublicConfig): void;
|
|
22
|
+
showCompTypeTextWarning(message: string, config?: INotificationTextPublicConfig): void;
|
|
23
|
+
private showCompTypeText;
|
|
24
|
+
private removeComponent;
|
|
25
|
+
private checkQueueMessage;
|
|
26
|
+
private updatePositionMessage;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiNotificationService, never>;
|
|
28
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LibsUiNotificationService>;
|
|
29
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@libs-ui/services-notification",
|
|
3
|
+
"version": "0.2.5",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^18.2.0",
|
|
6
|
+
"@angular/core": "^18.2.0"
|
|
7
|
+
},
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"module": "fesm2022/libs-ui-services-notification.mjs",
|
|
10
|
+
"typings": "index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": {
|
|
13
|
+
"default": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"esm2022": "./esm2022/libs-ui-services-notification.mjs",
|
|
18
|
+
"esm": "./esm2022/libs-ui-services-notification.mjs",
|
|
19
|
+
"default": "./fesm2022/libs-ui-services-notification.mjs"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
}
|
|
25
|
+
}
|