@provoly/dashboard 1.4.56 → 1.4.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/core/components/snackbar/snack.interface.mjs +1 -1
- package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +12 -52
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +12 -50
- package/fesm2022/provoly-dashboard.mjs +20 -96
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/snackbar/snack.interface.d.ts +1 -3
- package/lib/core/components/snackbar/snackbar/snackbar.component.d.ts +3 -16
- package/lib/core/components/snackbar/snackbar.service.d.ts +3 -9
- package/package.json +31 -31
- package/styles-theme/components-theme/_m-snackbar.theme.scss +0 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2suaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zbmFja2Jhci9zbmFjay5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJ5U25hY2tNZXNzYWdlIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBhY3Rpb24/OiBzdHJpbmc7XG4gIHR5cGU6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcic7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';
|
|
2
2
|
import { Component, Input } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "../../icon/icon.component";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../../icon/icon.component";
|
|
8
6
|
const showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);
|
|
9
7
|
const hideAnimation = animation([animate('{{transition}}'), style({ transform: '{{transform}}', opacity: 0 })]);
|
|
10
8
|
export class PrySnackbarComponent {
|
|
@@ -12,25 +10,13 @@ export class PrySnackbarComponent {
|
|
|
12
10
|
this._data = message;
|
|
13
11
|
this.cdRef.detectChanges();
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
if (!!listIndex || listIndex === 0) {
|
|
17
|
-
this._listIndex = listIndex;
|
|
18
|
-
}
|
|
19
|
-
this.getStyle();
|
|
20
|
-
}
|
|
21
|
-
get listIndex() {
|
|
22
|
-
return this._listIndex;
|
|
23
|
-
}
|
|
24
|
-
constructor(cdRef, snackService, router) {
|
|
13
|
+
constructor(cdRef) {
|
|
25
14
|
this.cdRef = cdRef;
|
|
26
|
-
this.snackService = snackService;
|
|
27
|
-
this.router = router;
|
|
28
15
|
this._data = { message: '', action: undefined, type: 'info', timeout: 3000 };
|
|
16
|
+
this.listIndex = 0;
|
|
29
17
|
this.transformOptions = 'translate3d(-50%, 100%, 0px)';
|
|
30
18
|
this.transitionOptions = '150ms cubic-bezier(0, 0, 0.2, 1)';
|
|
31
19
|
this.hiddenFromAction = false;
|
|
32
|
-
this._listIndex = 0;
|
|
33
|
-
this.snackStyle = { top: '' };
|
|
34
20
|
}
|
|
35
21
|
get data() {
|
|
36
22
|
return this._data;
|
|
@@ -38,25 +24,12 @@ export class PrySnackbarComponent {
|
|
|
38
24
|
get typeClass() {
|
|
39
25
|
return { ['-' + this.data.type]: true };
|
|
40
26
|
}
|
|
41
|
-
getStyle() {
|
|
42
|
-
if (this.data.type === 'notif') {
|
|
43
|
-
this.snackStyle = {
|
|
44
|
-
top: (this.listIndex === 0 ? 60 : this.listIndex * 60 + 60) + 'px'
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.snackStyle = {
|
|
49
|
-
bottom: this.listIndex * 60 + 'px'
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
27
|
get icon() {
|
|
54
28
|
const iconsDefs = {
|
|
55
29
|
info: 'information-point',
|
|
56
30
|
success: 'check',
|
|
57
31
|
warning: 'warning',
|
|
58
|
-
error: 'close'
|
|
59
|
-
notif: 'information-point'
|
|
32
|
+
error: 'close'
|
|
60
33
|
};
|
|
61
34
|
return iconsDefs[this.data.type];
|
|
62
35
|
}
|
|
@@ -66,21 +39,8 @@ export class PrySnackbarComponent {
|
|
|
66
39
|
hide() {
|
|
67
40
|
this.hiddenFromAction = true;
|
|
68
41
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const link = data.link ?? '';
|
|
72
|
-
if (link.startsWith('http')) {
|
|
73
|
-
window.location.href = link;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.router.navigateByUrl(data.link ?? '');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
closeNotif(data) {
|
|
80
|
-
this.snackService.closeNotif(data);
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PrySnackbarService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySnackbarComponent, selector: "pry-snackbar", inputs: { data: "data", actionClicked: "actionClicked", listIndex: "listIndex" }, ngImport: i0, template: "@if (!hiddenFromAction) {\n @if (data.type === 'notif') {\n <div\n (click)=\"openEvenement(data)\"\n class=\"m-snackbar m-snackbar-notif\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style]=\"snackStyle\"\n >\n <div class=\"m-snackbar__content\">\n <p class=\"a-p\">{{ data.message }}</p>\n <pry-icon (click)=\"closeNotif(data)\" class=\"notif-erase\" iconSvg=\"close\" [width]=\"18\" [height]=\"18\"> </pry-icon>\n </div>\n </div>\n } @else {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style]=\"snackStyle\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }], animations: [
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySnackbarComponent, selector: "pry-snackbar", inputs: { data: "data", listIndex: "listIndex", actionClicked: "actionClicked" }, ngImport: i0, template: "@if (!hiddenFromAction) {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style.bottom.px]=\"listIndex * 60\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }], animations: [
|
|
84
44
|
trigger('panelState', [
|
|
85
45
|
transition('void => visible', [useAnimation(showAnimation)]),
|
|
86
46
|
transition('visible => void', [useAnimation(hideAnimation)])
|
|
@@ -94,12 +54,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
94
54
|
transition('void => visible', [useAnimation(showAnimation)]),
|
|
95
55
|
transition('visible => void', [useAnimation(hideAnimation)])
|
|
96
56
|
])
|
|
97
|
-
], template: "@if (!hiddenFromAction) {\n
|
|
98
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }
|
|
99
|
-
type: Input
|
|
100
|
-
}], actionClicked: [{
|
|
57
|
+
], template: "@if (!hiddenFromAction) {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style.bottom.px]=\"listIndex * 60\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n}\n" }]
|
|
58
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
101
59
|
type: Input
|
|
102
60
|
}], listIndex: [{
|
|
103
61
|
type: Input
|
|
62
|
+
}], actionClicked: [{
|
|
63
|
+
type: Input
|
|
104
64
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25HLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUlwRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVoSCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVloSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLElBQWEsSUFBSSxDQUFDLE9BQXdCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQVFELFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBWjVDLFVBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQXFCLENBQUM7UUFNbEYsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUV2QixxQkFBZ0IsR0FBRyw4QkFBOEIsQ0FBQztRQUNsRCxzQkFBaUIsR0FBRyxrQ0FBa0MsQ0FBQztRQUN2RCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFFc0IsQ0FBQztJQUVoRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixNQUFNLFNBQVMsR0FBRztZQUNoQixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDOzhHQXhDVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixzSUNuQmpDLG1qQkFnQkEsaVNESmM7WUFDVixPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUNwQixVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDNUQsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDN0QsQ0FBQztTQUNIOzsyRkFFVSxvQkFBb0I7a0JBVmhDLFNBQVM7K0JBQ0UsY0FBYyxjQUVaO3dCQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3BCLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDOzRCQUM1RCxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt5QkFDN0QsQ0FBQztxQkFDSDtzRkFLWSxJQUFJO3NCQUFoQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGlvbiwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByeVNuYWNrTWVzc2FnZSB9IGZyb20gJy4uL3NuYWNrLmludGVyZmFjZSc7XG5cbmNvbnN0IHNob3dBbmltYXRpb24gPSBhbmltYXRpb24oW3N0eWxlKHsgdHJhbnNmb3JtOiAne3t0cmFuc2Zvcm19fScsIG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJ3t7dHJhbnNpdGlvbn19JyldKTtcblxuY29uc3QgaGlkZUFuaW1hdGlvbiA9IGFuaW1hdGlvbihbYW5pbWF0ZSgne3t0cmFuc2l0aW9ufX0nKSwgc3R5bGUoeyB0cmFuc2Zvcm06ICd7e3RyYW5zZm9ybX19Jywgb3BhY2l0eTogMCB9KV0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc25hY2tiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcigncGFuZWxTdGF0ZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gdmlzaWJsZScsIFt1c2VBbmltYXRpb24oc2hvd0FuaW1hdGlvbildKSxcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gdm9pZCcsIFt1c2VBbmltYXRpb24oaGlkZUFuaW1hdGlvbildKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5U25hY2tiYXJDb21wb25lbnQge1xuICBjb250YWluZXI6IGFueTtcbiAgX2RhdGEgPSB7IG1lc3NhZ2U6ICcnLCBhY3Rpb246IHVuZGVmaW5lZCwgdHlwZTogJ2luZm8nLCB0aW1lb3V0OiAzMDAwIH0gYXMgUHJ5U25hY2tNZXNzYWdlO1xuICBASW5wdXQoKSBzZXQgZGF0YShtZXNzYWdlOiBQcnlTbmFja01lc3NhZ2UpIHtcbiAgICB0aGlzLl9kYXRhID0gbWVzc2FnZTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGxpc3RJbmRleCA9IDA7XG4gIEBJbnB1dCgpIGFjdGlvbkNsaWNrZWQhOiBTdWJqZWN0PHZvaWQ+O1xuICB0cmFuc2Zvcm1PcHRpb25zID0gJ3RyYW5zbGF0ZTNkKC01MCUsIDEwMCUsIDBweCknO1xuICB0cmFuc2l0aW9uT3B0aW9ucyA9ICcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSc7XG4gIGhpZGRlbkZyb21BY3Rpb24gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGdldCB0eXBlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHsgWyctJyArIHRoaXMuZGF0YS50eXBlXTogdHJ1ZSB9O1xuICB9XG5cbiAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uc0RlZnMgPSB7XG4gICAgICBpbmZvOiAnaW5mb3JtYXRpb24tcG9pbnQnLFxuICAgICAgc3VjY2VzczogJ2NoZWNrJyxcbiAgICAgIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgICAgIGVycm9yOiAnY2xvc2UnXG4gICAgfTtcbiAgICByZXR1cm4gaWNvbnNEZWZzW3RoaXMuZGF0YS50eXBlXTtcbiAgfVxuXG4gIGFjdGlvbkNsaWNrKCkge1xuICAgIHRoaXMuYWN0aW9uQ2xpY2tlZC5uZXh0KCk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuaGlkZGVuRnJvbUFjdGlvbiA9IHRydWU7XG4gIH1cbn1cbiIsIkBpZiAoIWhpZGRlbkZyb21BY3Rpb24pIHtcbiAgPGRpdlxuICAgIGNsYXNzPVwibS1zbmFja2JhciAtYm90dG9tXCJcbiAgICBbbmdDbGFzc109XCJ0eXBlQ2xhc3NcIlxuICAgIFtAcGFuZWxTdGF0ZV09XCJ7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyB0cmFuc2Zvcm06IHRyYW5zZm9ybU9wdGlvbnMsIHRyYW5zaXRpb246IHRyYW5zaXRpb25PcHRpb25zIH0gfVwiXG4gICAgW3N0eWxlLmJvdHRvbS5weF09XCJsaXN0SW5kZXggKiA2MFwiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJtLXNuYWNrYmFyX19jb250ZW50XCI+XG4gICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwiaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICA8cCBjbGFzcz1cImEtcFwiPnt7IGRhdGEubWVzc2FnZSB9fTwvcD5cbiAgICAgIEBpZiAoISFkYXRhLmFjdGlvbikge1xuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1zbmFja2Jhcl9fYWN0aW9uXCIgKGNsaWNrKT1cImFjdGlvbkNsaWNrKClcIj57eyBkYXRhLmFjdGlvbiB9fTwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -17,7 +17,6 @@ export class PrySnackbarService {
|
|
|
17
17
|
this.overlay = overlay;
|
|
18
18
|
this.translate = translate;
|
|
19
19
|
this.messageEvents$ = new Subject();
|
|
20
|
-
this.notifRef = [];
|
|
21
20
|
// Allows to access snackbar from javascript, for example to manage Vega errors
|
|
22
21
|
document.addEventListener(PRY_CUSTOMEVENT_TYPE, (e) => {
|
|
23
22
|
const pryMessage = e.detail;
|
|
@@ -35,63 +34,26 @@ export class PrySnackbarService {
|
|
|
35
34
|
dispatchOpenEvent(message) {
|
|
36
35
|
document.dispatchEvent(new CustomEvent(PRY_CUSTOMEVENT_TYPE, { detail: message }));
|
|
37
36
|
}
|
|
38
|
-
closeNotif(message) {
|
|
39
|
-
const notifIndex = this.notifRef.findIndex((notif) => notif.componentRef.instance.data.id === message.id);
|
|
40
|
-
const elementToRemove = this.notifRef.splice(notifIndex, 1).shift();
|
|
41
|
-
elementToRemove.componentRef.instance.hiddenFromAction = true;
|
|
42
|
-
elementToRemove.componentRef.instance.actionClicked.complete();
|
|
43
|
-
elementToRemove.overlayRef.dispose();
|
|
44
|
-
elementToRemove.componentRef.destroy();
|
|
45
|
-
this.notifRef.forEach((notifRef, index) => {
|
|
46
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
37
|
notMitigatedOpen(message) {
|
|
50
|
-
|
|
38
|
+
this.overlayRef = this.overlay.create(new OverlayConfig({
|
|
51
39
|
hasBackdrop: false
|
|
52
40
|
}));
|
|
53
41
|
const componentPortal = new ComponentPortal(PrySnackbarComponent, this.rootViewContainer);
|
|
54
|
-
const component = overlayRef.attach(componentPortal);
|
|
42
|
+
const component = this.overlayRef.attach(componentPortal);
|
|
55
43
|
component.instance.data = message;
|
|
44
|
+
component.instance.listIndex = PrySnackbarService.count++;
|
|
56
45
|
component.instance.actionClicked = new Subject();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
else if (this.notifRef.length === 5) {
|
|
65
|
-
const olderComponent = this.notifRef.pop();
|
|
66
|
-
olderComponent.componentRef.instance.hiddenFromAction = true;
|
|
67
|
-
olderComponent.componentRef.instance.actionClicked.complete();
|
|
68
|
-
olderComponent.overlayRef.dispose();
|
|
69
|
-
olderComponent.componentRef.destroy();
|
|
70
|
-
this.notifRef.unshift({ componentRef: component, overlayRef });
|
|
71
|
-
this.notifRef.forEach((notifRef, index) => {
|
|
72
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
/* First hide component so it uses animation */
|
|
48
|
+
component.instance.hiddenFromAction = true;
|
|
49
|
+
PrySnackbarService.count--;
|
|
75
50
|
setTimeout(() => {
|
|
51
|
+
/* then clean by removing it */
|
|
76
52
|
component.instance.actionClicked.complete();
|
|
77
|
-
overlayRef?.dispose();
|
|
53
|
+
this.overlayRef?.dispose();
|
|
78
54
|
component.destroy();
|
|
79
|
-
},
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
component.instance.listIndex = PrySnackbarService.count++;
|
|
83
|
-
setTimeout(() => {
|
|
84
|
-
/* First hide component so it uses animation */
|
|
85
|
-
component.instance.hiddenFromAction = true;
|
|
86
|
-
PrySnackbarService.count--;
|
|
87
|
-
setTimeout(() => {
|
|
88
|
-
/* then clean by removing it */
|
|
89
|
-
component.instance.actionClicked.complete();
|
|
90
|
-
overlayRef?.dispose();
|
|
91
|
-
component.destroy();
|
|
92
|
-
}, DELAY_FOR_HIDE);
|
|
93
|
-
}, message.timeout ?? DEFAULT_MSG_TIMEOUT);
|
|
94
|
-
}
|
|
55
|
+
}, DELAY_FOR_HIDE);
|
|
56
|
+
}, message.timeout ?? DEFAULT_MSG_TIMEOUT);
|
|
95
57
|
return component.instance.actionClicked;
|
|
96
58
|
}
|
|
97
59
|
open(message) {
|
|
@@ -106,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
106
68
|
providedIn: 'root'
|
|
107
69
|
}]
|
|
108
70
|
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i2.PryI18nService }] });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUN4QyxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQVVqRCxNQUFNLE9BQU8sa0JBQWtCO2FBRXRCLFVBQUssR0FBRyxDQUFDLEFBQUosQ0FBSztJQUtqQixZQUNVLE9BQWdCLEVBQ2hCLFNBQXlCO1FBRHpCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFMM0IsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUNoRCxhQUFRLEdBQWlCLEVBQUUsQ0FBQztRQU1sQywrRUFBK0U7UUFDL0UsUUFBUSxDQUFDLGdCQUFnQixDQUN2QixvQkFBb0IsRUFDcEIsQ0FBQyxDQUFR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aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHdpbmRvd1RpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFByeVNuYWNrTWVzc2FnZSB9IGZyb20gJy4vc25hY2suaW50ZXJmYWNlJztcbmltcG9ydCB7IFByeVNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NU0dfVElNRU9VVCA9IDMwMDA7XG5leHBvcnQgY29uc3QgREVMQVlfRk9SX0hJREUgPSAyMDA7XG5cbmV4cG9ydCBjb25zdCBQUllfQ1VTVE9NRVZFTlRfVFlQRSA9ICdAcHJ5LnNuYWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBub3RpZlNuYWNrIHtcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8UHJ5U25hY2tiYXJDb21wb25lbnQ+O1xuICBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcnlTbmFja2JhclNlcnZpY2Uge1xuICByb290Vmlld0NvbnRhaW5lcj86IFZpZXdDb250YWluZXJSZWY7XG4gIHN0YXRpYyBjb3VudCA9IDA7XG5cbiAgcHJpdmF0ZSBtZXNzYWdlRXZlbnRzJCA9IG5ldyBTdWJqZWN0PFByeVNuYWNrTWVzc2FnZT4oKTtcbiAgcHJpdmF0ZSBub3RpZlJlZjogbm90aWZTbmFja1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICAvLyBBbGxvd3MgdG8gYWNjZXNzIHNuYWNrYmFyIGZyb20gamF2YXNjcmlwdCwgZm9yIGV4YW1wbGUgdG8gbWFuYWdlIFZlZ2EgZXJyb3JzXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFBSWV9DVVNUT01FVkVOVF9UWVBFLFxuICAgICAgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHByeU1lc3NhZ2UgPSAoZSBhcyBDdXN0b21FdmVudDxQcnlTbmFja01lc3NhZ2U+KS5kZXRhaWw7XG4gICAgICAgIHByeU1lc3NhZ2UubWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQocHJ5TWVzc2FnZS5tZXNzYWdlKTtcbiAgICAgICAgcHJ5TWVzc2FnZS5hY3Rpb24gPSAhIXByeU1lc3NhZ2UuYWN0aW9uID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChwcnlNZXNzYWdlLmFjdGlvbikgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubWVzc2FnZUV2ZW50cyQubmV4dChwcnlNZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICB0aGlzLm1lc3NhZ2VFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgd2luZG93VGltZSgxMDAwKSxcbiAgICAgICAgc3dpdGNoTWFwKChzb3VyY2UpID0+IHNvdXJjZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwLCB2KSA9PiBlcXVhbChwLCB2KSkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4gdGhpcy5ub3RNaXRpZ2F0ZWRPcGVuKG1lc3NhZ2UpKTtcbiAgfVxuXG4gIHNldFJvb3RWaWV3Q29udGFpbmVyUmVmKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnJvb3RWaWV3Q29udGFpbmVyID0gdmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIGRpc3BhdGNoT3BlbkV2ZW50KG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSkge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFBSWV9DVVNUT01FVkVOVF9UWVBFLCB7IGRldGFpbDogbWVzc2FnZSB9KSk7XG4gIH1cblxuICBjbG9zZU5vdGlmKG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSkge1xuICAgIGNvbnN0IG5vdGlmSW5kZXggPSB0aGlzLm5vdGlmUmVmLmZpbmRJbmRleCgobm90aWYpID0+IG5vdGlmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhLmlkID09PSBtZXNzYWdlLmlkKTtcbiAgICBjb25zdCBlbGVtZW50VG9SZW1vdmUgPSB0aGlzLm5vdGlmUmVmLnNwbGljZShub3RpZkluZGV4LCAxKS5zaGlmdCgpO1xuICAgIGVsZW1lbnRUb1JlbW92ZSEuY29tcG9uZW50UmVmLmluc3RhbmNlLmhpZGRlbkZyb21BY3Rpb24gPSB0cnVlO1xuICAgIGVsZW1lbnRUb1JlbW92ZSEuY29tcG9uZW50UmVmLmluc3RhbmNlLmFjdGlvbkNsaWNrZWQuY29tcGxldGUoKTtcbiAgICBlbGVtZW50VG9SZW1vdmUhLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIGVsZW1lbnRUb1JlbW92ZSEuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB0aGlzLm5vdGlmUmVmLmZvckVhY2goKG5vdGlmUmVmLCBpbmRleCkgPT4ge1xuICAgICAgbm90aWZSZWYuY29tcG9uZW50UmVmLmluc3RhbmNlLmxpc3RJbmRleCA9IGluZGV4O1xuICAgIH0pO1xuICB9XG5cbiAgbm90TWl0aWdhdGVkT3BlbihtZXNzYWdlOiBQcnlTbmFja01lc3NhZ2UpOiBPYnNlcnZhYmxlPHZvaWQ+IHwgbnVsbCB7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoUHJ5U25hY2tiYXJDb21wb25lbnQsIHRoaXMucm9vdFZpZXdDb250YWluZXIpO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IG92ZXJsYXlSZWYuYXR0YWNoKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmRhdGEgPSBtZXNzYWdlO1xuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5hY3Rpb25DbGlja2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBpZiAobWVzc2FnZS50eXBlID09PSAnbm90aWYnKSB7XG4gICAgICBpZiAodGhpcy5ub3RpZlJlZi5sZW5ndGggPCA1KSB7XG4gICAgICAgIHRoaXMubm90aWZSZWYudW5zaGlmdCh7IGNvbXBvbmVudFJlZjogY29tcG9uZW50LCBvdmVybGF5UmVmIH0pO1xuICAgICAgICB0aGlzLm5vdGlmUmVmLmZvckVhY2goKG5vdGlmUmVmLCBpbmRleCkgPT4ge1xuICAgICAgICAgIG5vdGlmUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5saXN0SW5kZXggPSBpbmRleDtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubm90aWZSZWYubGVuZ3RoID09PSA1KSB7XG4gICAgICAgIGNvbnN0IG9sZGVyQ29tcG9uZW50ID0gdGhpcy5ub3RpZlJlZi5wb3AoKTtcbiAgICAgICAgb2xkZXJDb21wb25lbnQhLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5oaWRkZW5Gcm9tQWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgb2xkZXJDb21wb25lbnQhLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hY3Rpb25DbGlja2VkLmNvbXBsZXRlKCk7XG4gICAgICAgIG9sZGVyQ29tcG9uZW50IS5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgb2xkZXJDb21wb25lbnQhLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMubm90aWZSZWYudW5zaGlmdCh7IGNvbXBvbmVudFJlZjogY29tcG9uZW50LCBvdmVybGF5UmVmIH0pO1xuICAgICAgICB0aGlzLm5vdGlmUmVmLmZvckVhY2goKG5vdGlmUmVmLCBpbmRleCkgPT4ge1xuICAgICAgICAgIG5vdGlmUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5saXN0SW5kZXggPSBpbmRleDtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmFjdGlvbkNsaWNrZWQuY29tcGxldGUoKTtcbiAgICAgICAgb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICBjb21wb25lbnQuZGVzdHJveSgpO1xuICAgICAgfSwgMTAwMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wb25lbnQuaW5zdGFuY2UubGlzdEluZGV4ID0gUHJ5U25hY2tiYXJTZXJ2aWNlLmNvdW50Kys7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLyogRmlyc3QgaGlkZSBjb21wb25lbnQgc28gaXQgdXNlcyBhbmltYXRpb24gKi9cbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlLmhpZGRlbkZyb21BY3Rpb24gPSB0cnVlO1xuICAgICAgICBQcnlTbmFja2JhclNlcnZpY2UuY291bnQtLTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLyogdGhlbiBjbGVhbiBieSByZW1vdmluZyBpdCAqL1xuICAgICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5hY3Rpb25DbGlja2VkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICAgIGNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgICAgIH0sIERFTEFZX0ZPUl9ISURFKTtcbiAgICAgIH0sIG1lc3NhZ2UudGltZW91dCA/PyBERUZBVUxUX01TR19USU1FT1VUKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50Lmluc3RhbmNlLmFjdGlvbkNsaWNrZWQ7XG4gIH1cblxuICBvcGVuKG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSkge1xuICAgIHRoaXMubWVzc2FnZUV2ZW50cyQubmV4dChtZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hDLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFckUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBS2pELE1BQU0sT0FBTyxrQkFBa0I7YUFFdEIsVUFBSyxHQUFHLENBQUMsQUFBSixDQUFLO0lBTWpCLFlBQ1UsT0FBZ0IsRUFDaEIsU0FBeUI7UUFEekIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUozQixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBTXRELCtFQUErRTtRQUMvRSxRQUFRLENBQUMsZ0JBQWdCLENBQ3ZCLG9CQUFvQixFQUNwQixDQUFDLENBQVEsRUFBRSxFQUFFO1lBQ1gsTUFBTSxVQUFVLEdB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QWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB3aW5kb3dUaW1lIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBQcnlTbmFja01lc3NhZ2UgfSBmcm9tICcuL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcnlTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTVNHX1RJTUVPVVQgPSAzMDAwO1xuZXhwb3J0IGNvbnN0IERFTEFZX0ZPUl9ISURFID0gMjAwO1xuXG5leHBvcnQgY29uc3QgUFJZX0NVU1RPTUVWRU5UX1RZUEUgPSAnQHByeS5zbmFjayc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNuYWNrYmFyU2VydmljZSB7XG4gIHJvb3RWaWV3Q29udGFpbmVyPzogVmlld0NvbnRhaW5lclJlZjtcbiAgc3RhdGljIGNvdW50ID0gMDtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHByaXZhdGUgbWVzc2FnZUV2ZW50cyQgPSBuZXcgU3ViamVjdDxQcnlTbmFja01lc3NhZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICAvLyBBbGxvd3MgdG8gYWNjZXNzIHNuYWNrYmFyIGZyb20gamF2YXNjcmlwdCwgZm9yIGV4YW1wbGUgdG8gbWFuYWdlIFZlZ2EgZXJyb3JzXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFBSWV9DVVNUT01FVkVOVF9UWVBFLFxuICAgICAgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHByeU1lc3NhZ2UgPSAoZSBhcyBDdXN0b21FdmVudDxQcnlTbmFja01lc3NhZ2U+KS5kZXRhaWw7XG4gICAgICAgIHByeU1lc3NhZ2UubWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQocHJ5TWVzc2FnZS5tZXNzYWdlKTtcbiAgICAgICAgcHJ5TWVzc2FnZS5hY3Rpb24gPSAhIXByeU1lc3NhZ2UuYWN0aW9uID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChwcnlNZXNzYWdlLmFjdGlvbikgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubWVzc2FnZUV2ZW50cyQubmV4dChwcnlNZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICB0aGlzLm1lc3NhZ2VFdmVudHMkXG4gICAgICAucGlwZShcbiAgICAgICAgd2luZG93VGltZSgxMDAwKSxcbiAgICAgICAgc3dpdGNoTWFwKChzb3VyY2UpID0+IHNvdXJjZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwLCB2KSA9PiBlcXVhbChwLCB2KSkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4gdGhpcy5ub3RNaXRpZ2F0ZWRPcGVuKG1lc3NhZ2UpKTtcbiAgfVxuXG4gIHNldFJvb3RWaWV3Q29udGFpbmVyUmVmKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnJvb3RWaWV3Q29udGFpbmVyID0gdmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIGRpc3BhdGNoT3BlbkV2ZW50KG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSkge1xuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KFBSWV9DVVNUT01FVkVOVF9UWVBFLCB7IGRldGFpbDogbWVzc2FnZSB9KSk7XG4gIH1cblxuICBub3RNaXRpZ2F0ZWRPcGVuKG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSk6IE9ic2VydmFibGU8dm9pZD4gfCBudWxsIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2VcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFByeVNuYWNrYmFyQ29tcG9uZW50LCB0aGlzLnJvb3RWaWV3Q29udGFpbmVyKTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKGNvbXBvbmVudFBvcnRhbCk7XG5cbiAgICBjb21wb25lbnQuaW5zdGFuY2UuZGF0YSA9IG1lc3NhZ2U7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmxpc3RJbmRleCA9IFByeVNuYWNrYmFyU2VydmljZS5jb3VudCsrO1xuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5hY3Rpb25DbGlja2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLyogRmlyc3QgaGlkZSBjb21wb25lbnQgc28gaXQgdXNlcyBhbmltYXRpb24gKi9cbiAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5oaWRkZW5Gcm9tQWN0aW9uID0gdHJ1ZTtcbiAgICAgIFByeVNuYWNrYmFyU2VydmljZS5jb3VudC0tO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgLyogdGhlbiBjbGVhbiBieSByZW1vdmluZyBpdCAqL1xuICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UuYWN0aW9uQ2xpY2tlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgY29tcG9uZW50LmRlc3Ryb3koKTtcbiAgICAgIH0sIERFTEFZX0ZPUl9ISURFKTtcbiAgICB9LCBtZXNzYWdlLnRpbWVvdXQgPz8gREVGQVVMVF9NU0dfVElNRU9VVCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50Lmluc3RhbmNlLmFjdGlvbkNsaWNrZWQ7XG4gIH1cblxuICBvcGVuKG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSkge1xuICAgIHRoaXMubWVzc2FnZUV2ZW50cyQubmV4dChtZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
@@ -2705,25 +2705,13 @@ class PrySnackbarComponent {
|
|
|
2705
2705
|
this._data = message;
|
|
2706
2706
|
this.cdRef.detectChanges();
|
|
2707
2707
|
}
|
|
2708
|
-
|
|
2709
|
-
if (!!listIndex || listIndex === 0) {
|
|
2710
|
-
this._listIndex = listIndex;
|
|
2711
|
-
}
|
|
2712
|
-
this.getStyle();
|
|
2713
|
-
}
|
|
2714
|
-
get listIndex() {
|
|
2715
|
-
return this._listIndex;
|
|
2716
|
-
}
|
|
2717
|
-
constructor(cdRef, snackService, router) {
|
|
2708
|
+
constructor(cdRef) {
|
|
2718
2709
|
this.cdRef = cdRef;
|
|
2719
|
-
this.snackService = snackService;
|
|
2720
|
-
this.router = router;
|
|
2721
2710
|
this._data = { message: '', action: undefined, type: 'info', timeout: 3000 };
|
|
2711
|
+
this.listIndex = 0;
|
|
2722
2712
|
this.transformOptions = 'translate3d(-50%, 100%, 0px)';
|
|
2723
2713
|
this.transitionOptions = '150ms cubic-bezier(0, 0, 0.2, 1)';
|
|
2724
2714
|
this.hiddenFromAction = false;
|
|
2725
|
-
this._listIndex = 0;
|
|
2726
|
-
this.snackStyle = { top: '' };
|
|
2727
2715
|
}
|
|
2728
2716
|
get data() {
|
|
2729
2717
|
return this._data;
|
|
@@ -2731,25 +2719,12 @@ class PrySnackbarComponent {
|
|
|
2731
2719
|
get typeClass() {
|
|
2732
2720
|
return { ['-' + this.data.type]: true };
|
|
2733
2721
|
}
|
|
2734
|
-
getStyle() {
|
|
2735
|
-
if (this.data.type === 'notif') {
|
|
2736
|
-
this.snackStyle = {
|
|
2737
|
-
top: (this.listIndex === 0 ? 60 : this.listIndex * 60 + 60) + 'px'
|
|
2738
|
-
};
|
|
2739
|
-
}
|
|
2740
|
-
else {
|
|
2741
|
-
this.snackStyle = {
|
|
2742
|
-
bottom: this.listIndex * 60 + 'px'
|
|
2743
|
-
};
|
|
2744
|
-
}
|
|
2745
|
-
}
|
|
2746
2722
|
get icon() {
|
|
2747
2723
|
const iconsDefs = {
|
|
2748
2724
|
info: 'information-point',
|
|
2749
2725
|
success: 'check',
|
|
2750
2726
|
warning: 'warning',
|
|
2751
|
-
error: 'close'
|
|
2752
|
-
notif: 'information-point'
|
|
2727
|
+
error: 'close'
|
|
2753
2728
|
};
|
|
2754
2729
|
return iconsDefs[this.data.type];
|
|
2755
2730
|
}
|
|
@@ -2759,21 +2734,8 @@ class PrySnackbarComponent {
|
|
|
2759
2734
|
hide() {
|
|
2760
2735
|
this.hiddenFromAction = true;
|
|
2761
2736
|
}
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
const link = data.link ?? '';
|
|
2765
|
-
if (link.startsWith('http')) {
|
|
2766
|
-
window.location.href = link;
|
|
2767
|
-
}
|
|
2768
|
-
else {
|
|
2769
|
-
this.router.navigateByUrl(data.link ?? '');
|
|
2770
|
-
}
|
|
2771
|
-
}
|
|
2772
|
-
closeNotif(data) {
|
|
2773
|
-
this.snackService.closeNotif(data);
|
|
2774
|
-
}
|
|
2775
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: PrySnackbarService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2776
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySnackbarComponent, selector: "pry-snackbar", inputs: { data: "data", actionClicked: "actionClicked", listIndex: "listIndex" }, ngImport: i0, template: "@if (!hiddenFromAction) {\n @if (data.type === 'notif') {\n <div\n (click)=\"openEvenement(data)\"\n class=\"m-snackbar m-snackbar-notif\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style]=\"snackStyle\"\n >\n <div class=\"m-snackbar__content\">\n <p class=\"a-p\">{{ data.message }}</p>\n <pry-icon (click)=\"closeNotif(data)\" class=\"notif-erase\" iconSvg=\"close\" [width]=\"18\" [height]=\"18\"> </pry-icon>\n </div>\n </div>\n } @else {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style]=\"snackStyle\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }], animations: [
|
|
2737
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrySnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2738
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PrySnackbarComponent, selector: "pry-snackbar", inputs: { data: "data", listIndex: "listIndex", actionClicked: "actionClicked" }, ngImport: i0, template: "@if (!hiddenFromAction) {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style.bottom.px]=\"listIndex * 60\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }], animations: [
|
|
2777
2739
|
trigger('panelState', [
|
|
2778
2740
|
transition('void => visible', [useAnimation(showAnimation)]),
|
|
2779
2741
|
transition('visible => void', [useAnimation(hideAnimation)])
|
|
@@ -2787,13 +2749,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
2787
2749
|
transition('void => visible', [useAnimation(showAnimation)]),
|
|
2788
2750
|
transition('visible => void', [useAnimation(hideAnimation)])
|
|
2789
2751
|
])
|
|
2790
|
-
], template: "@if (!hiddenFromAction) {\n
|
|
2791
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }
|
|
2792
|
-
type: Input
|
|
2793
|
-
}], actionClicked: [{
|
|
2752
|
+
], template: "@if (!hiddenFromAction) {\n <div\n class=\"m-snackbar -bottom\"\n [ngClass]=\"typeClass\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n [style.bottom.px]=\"listIndex * 60\"\n >\n <div class=\"m-snackbar__content\">\n <pry-icon [iconSvg]=\"icon\"></pry-icon>\n <p class=\"a-p\">{{ data.message }}</p>\n @if (!!data.action) {\n <button class=\"m-snackbar__action\" (click)=\"actionClick()\">{{ data.action }}</button>\n }\n </div>\n </div>\n}\n" }]
|
|
2753
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
2794
2754
|
type: Input
|
|
2795
2755
|
}], listIndex: [{
|
|
2796
2756
|
type: Input
|
|
2757
|
+
}], actionClicked: [{
|
|
2758
|
+
type: Input
|
|
2797
2759
|
}] } });
|
|
2798
2760
|
|
|
2799
2761
|
const DEFAULT_MSG_TIMEOUT = 3000;
|
|
@@ -2805,7 +2767,6 @@ class PrySnackbarService {
|
|
|
2805
2767
|
this.overlay = overlay;
|
|
2806
2768
|
this.translate = translate;
|
|
2807
2769
|
this.messageEvents$ = new Subject();
|
|
2808
|
-
this.notifRef = [];
|
|
2809
2770
|
// Allows to access snackbar from javascript, for example to manage Vega errors
|
|
2810
2771
|
document.addEventListener(PRY_CUSTOMEVENT_TYPE, (e) => {
|
|
2811
2772
|
const pryMessage = e.detail;
|
|
@@ -2823,63 +2784,26 @@ class PrySnackbarService {
|
|
|
2823
2784
|
dispatchOpenEvent(message) {
|
|
2824
2785
|
document.dispatchEvent(new CustomEvent(PRY_CUSTOMEVENT_TYPE, { detail: message }));
|
|
2825
2786
|
}
|
|
2826
|
-
closeNotif(message) {
|
|
2827
|
-
const notifIndex = this.notifRef.findIndex((notif) => notif.componentRef.instance.data.id === message.id);
|
|
2828
|
-
const elementToRemove = this.notifRef.splice(notifIndex, 1).shift();
|
|
2829
|
-
elementToRemove.componentRef.instance.hiddenFromAction = true;
|
|
2830
|
-
elementToRemove.componentRef.instance.actionClicked.complete();
|
|
2831
|
-
elementToRemove.overlayRef.dispose();
|
|
2832
|
-
elementToRemove.componentRef.destroy();
|
|
2833
|
-
this.notifRef.forEach((notifRef, index) => {
|
|
2834
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
2835
|
-
});
|
|
2836
|
-
}
|
|
2837
2787
|
notMitigatedOpen(message) {
|
|
2838
|
-
|
|
2788
|
+
this.overlayRef = this.overlay.create(new OverlayConfig({
|
|
2839
2789
|
hasBackdrop: false
|
|
2840
2790
|
}));
|
|
2841
2791
|
const componentPortal = new ComponentPortal(PrySnackbarComponent, this.rootViewContainer);
|
|
2842
|
-
const component = overlayRef.attach(componentPortal);
|
|
2792
|
+
const component = this.overlayRef.attach(componentPortal);
|
|
2843
2793
|
component.instance.data = message;
|
|
2794
|
+
component.instance.listIndex = PrySnackbarService.count++;
|
|
2844
2795
|
component.instance.actionClicked = new Subject();
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
2850
|
-
});
|
|
2851
|
-
}
|
|
2852
|
-
else if (this.notifRef.length === 5) {
|
|
2853
|
-
const olderComponent = this.notifRef.pop();
|
|
2854
|
-
olderComponent.componentRef.instance.hiddenFromAction = true;
|
|
2855
|
-
olderComponent.componentRef.instance.actionClicked.complete();
|
|
2856
|
-
olderComponent.overlayRef.dispose();
|
|
2857
|
-
olderComponent.componentRef.destroy();
|
|
2858
|
-
this.notifRef.unshift({ componentRef: component, overlayRef });
|
|
2859
|
-
this.notifRef.forEach((notifRef, index) => {
|
|
2860
|
-
notifRef.componentRef.instance.listIndex = index;
|
|
2861
|
-
});
|
|
2862
|
-
}
|
|
2796
|
+
setTimeout(() => {
|
|
2797
|
+
/* First hide component so it uses animation */
|
|
2798
|
+
component.instance.hiddenFromAction = true;
|
|
2799
|
+
PrySnackbarService.count--;
|
|
2863
2800
|
setTimeout(() => {
|
|
2801
|
+
/* then clean by removing it */
|
|
2864
2802
|
component.instance.actionClicked.complete();
|
|
2865
|
-
overlayRef?.dispose();
|
|
2803
|
+
this.overlayRef?.dispose();
|
|
2866
2804
|
component.destroy();
|
|
2867
|
-
},
|
|
2868
|
-
}
|
|
2869
|
-
else {
|
|
2870
|
-
component.instance.listIndex = PrySnackbarService.count++;
|
|
2871
|
-
setTimeout(() => {
|
|
2872
|
-
/* First hide component so it uses animation */
|
|
2873
|
-
component.instance.hiddenFromAction = true;
|
|
2874
|
-
PrySnackbarService.count--;
|
|
2875
|
-
setTimeout(() => {
|
|
2876
|
-
/* then clean by removing it */
|
|
2877
|
-
component.instance.actionClicked.complete();
|
|
2878
|
-
overlayRef?.dispose();
|
|
2879
|
-
component.destroy();
|
|
2880
|
-
}, DELAY_FOR_HIDE);
|
|
2881
|
-
}, message.timeout ?? DEFAULT_MSG_TIMEOUT);
|
|
2882
|
-
}
|
|
2805
|
+
}, DELAY_FOR_HIDE);
|
|
2806
|
+
}, message.timeout ?? DEFAULT_MSG_TIMEOUT);
|
|
2883
2807
|
return component.instance.actionClicked;
|
|
2884
2808
|
}
|
|
2885
2809
|
open(message) {
|