lib-portal-angular 0.0.21 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/advanced-calendar/calendar.component.mjs +135 -0
- package/esm2022/lib/components/advanced-calendar/date-picker.component.mjs +113 -0
- package/esm2022/lib/components/advanced-calendar/date-time-picker.component.mjs +113 -0
- package/esm2022/lib/components/button/button.component.mjs +37 -53
- package/esm2022/lib/components/components.module.mjs +28 -21
- package/esm2022/lib/components/form/form.component.mjs +19 -46
- package/esm2022/lib/components/imput/input.component.mjs +11 -42
- package/esm2022/public-api.mjs +4 -4
- package/fesm2022/lib-portal-angular.mjs +427 -256
- package/fesm2022/lib-portal-angular.mjs.map +1 -1
- package/lib/components/advanced-calendar/calendar.component.d.ts +28 -0
- package/lib/components/advanced-calendar/date-picker.component.d.ts +25 -0
- package/lib/components/advanced-calendar/date-time-picker.component.d.ts +25 -0
- package/lib/components/button/button.component.d.ts +1 -4
- package/lib/components/components.module.d.ts +12 -9
- package/lib/components/form/form.component.d.ts +1 -10
- package/lib/components/imput/input.component.d.ts +1 -18
- package/package.json +1 -1
- package/public-api.d.ts +3 -2
- package/esm2022/lib/components/alert/alert.component.mjs +0 -83
- package/esm2022/lib/components/alert/notification.service.mjs +0 -31
- package/lib/components/alert/alert.component.d.ts +0 -20
- package/lib/components/alert/notification.service.d.ts +0 -17
@@ -20,8 +20,6 @@ export declare class ButtonComponent {
|
|
20
20
|
marginBottom: number;
|
21
21
|
marginLeft: number;
|
22
22
|
marginRight: number;
|
23
|
-
permissions: string[];
|
24
|
-
permissionChecker: ((permissions: string[]) => boolean) | null;
|
25
23
|
clickEvent: EventEmitter<Event>;
|
26
24
|
private isHovered;
|
27
25
|
private isActive;
|
@@ -42,7 +40,6 @@ export declare class ButtonComponent {
|
|
42
40
|
transition: string;
|
43
41
|
filter: string;
|
44
42
|
};
|
45
|
-
hasPermission(): boolean;
|
46
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; };
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, false, never>;
|
48
45
|
}
|
@@ -8,16 +8,19 @@ import * as i6 from "./textarea/textarea.component";
|
|
8
8
|
import * as i7 from "./select/select.component";
|
9
9
|
import * as i8 from "./radio/radio.component";
|
10
10
|
import * as i9 from "./multi-select/multi-select.component";
|
11
|
-
import * as i10 from "./
|
12
|
-
import * as i11 from "./
|
13
|
-
import * as i12 from "./
|
14
|
-
import * as i13 from "./
|
15
|
-
import * as i14 from "
|
16
|
-
import * as i15 from "
|
17
|
-
import * as i16 from "@
|
18
|
-
import * as i17 from "
|
11
|
+
import * as i10 from "./advanced-calendar/calendar.component";
|
12
|
+
import * as i11 from "./advanced-calendar/date-picker.component";
|
13
|
+
import * as i12 from "./advanced-calendar/date-time-picker.component";
|
14
|
+
import * as i13 from "./tables/bootstrap-table.component";
|
15
|
+
import * as i14 from "./code-highlight/code-highlight.component";
|
16
|
+
import * as i15 from "./badge/badge.component";
|
17
|
+
import * as i16 from "@angular/common";
|
18
|
+
import * as i17 from "@angular/forms";
|
19
|
+
import * as i18 from "@ng-select/ng-select";
|
20
|
+
import * as i19 from "angularx-flatpickr";
|
21
|
+
import * as i20 from "ngx-pagination";
|
19
22
|
export declare class ComponentsModule {
|
20
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.
|
24
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.CalendarComponent, typeof i11.DatePickerComponent, typeof i12.DateTimePickerComponent, typeof i13.BootstrapTableComponent, typeof i14.CodeHighlightComponent, typeof i15.BadgeComponent], [typeof i16.CommonModule, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.NgSelectModule, typeof i19.FlatpickrModule, typeof i20.NgxPaginationModule], [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.NgSelectModule, typeof i10.CalendarComponent, typeof i11.DatePickerComponent, typeof i12.DateTimePickerComponent, typeof i13.BootstrapTableComponent, typeof i14.CodeHighlightComponent, typeof i15.BadgeComponent]>;
|
22
25
|
static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
|
23
26
|
}
|
@@ -1,15 +1,6 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
2
|
export declare class FormComponent {
|
3
3
|
cardTitle: string;
|
4
|
-
colClasses: string;
|
5
|
-
marginTop: number;
|
6
|
-
marginLeft: number;
|
7
|
-
marginRight: number;
|
8
|
-
getRowStyles(): {
|
9
|
-
'margin-top': string;
|
10
|
-
'margin-left': string;
|
11
|
-
'margin-right': string;
|
12
|
-
};
|
13
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "sim-app-form", never, { "cardTitle": { "alias": "cardTitle"; "required": false; };
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "sim-app-form", never, { "cardTitle": { "alias": "cardTitle"; "required": false; }; }, {}, never, ["*"], false, never>;
|
15
6
|
}
|
@@ -17,9 +17,6 @@ export declare class InputComponent implements ControlValueAccessor {
|
|
17
17
|
marginBottom: number;
|
18
18
|
marginLeft: number;
|
19
19
|
marginRight: number;
|
20
|
-
labelFontWeight: number;
|
21
|
-
permissions: string[];
|
22
|
-
permissionChecker: ((permissions: string[]) => boolean) | null;
|
23
20
|
inputEvent: EventEmitter<Event>;
|
24
21
|
changeEvent: EventEmitter<Event>;
|
25
22
|
focusEvent: EventEmitter<FocusEvent>;
|
@@ -41,20 +38,6 @@ export declare class InputComponent implements ControlValueAccessor {
|
|
41
38
|
registerOnChange(fn: any): void;
|
42
39
|
registerOnTouched(fn: any): void;
|
43
40
|
setDisabledState?(isDisabled: boolean): void;
|
44
|
-
hasPermission(): boolean;
|
45
|
-
getLabelStyles(): {
|
46
|
-
'font-weight': number;
|
47
|
-
width: string;
|
48
|
-
height: string;
|
49
|
-
top: string;
|
50
|
-
left: string;
|
51
|
-
gap: string;
|
52
|
-
opacity: string;
|
53
|
-
'font-family': string;
|
54
|
-
'font-size': string;
|
55
|
-
'line-height': string;
|
56
|
-
'text-align': string;
|
57
|
-
};
|
58
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
|
59
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; };
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "keyupEvent": "keyupEvent"; "keydownEvent": "keydownEvent"; "keypressEvent": "keypressEvent"; }, never, never, false, never>;
|
60
43
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
export * from './lib/components/
|
1
|
+
export * from './lib/components/advanced-calendar/calendar.component';
|
2
|
+
export * from './lib/components/advanced-calendar/date-picker.component';
|
3
|
+
export * from './lib/components/advanced-calendar/date-time-picker.component';
|
2
4
|
export * from './lib/components/badge/badge.component';
|
3
5
|
export * from './lib/components/button/button.component';
|
4
6
|
export * from './lib/components/card/card.component';
|
@@ -14,4 +16,3 @@ export * from './lib/components/textarea/textarea.component';
|
|
14
16
|
export * from './lib/enum/ButtonClassesEnum';
|
15
17
|
export * from './lib/components/components.module';
|
16
18
|
export * from './lib/lib-portal-angular.module';
|
17
|
-
export * from './lib/components/alert/notification.service';
|
@@ -1,83 +0,0 @@
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common";
|
4
|
-
export class AlertComponent {
|
5
|
-
constructor() {
|
6
|
-
this.alerts = [];
|
7
|
-
this.closeTimeouts = {}; // Armazena os temporizadores para cada alerta
|
8
|
-
}
|
9
|
-
ngOnInit() {
|
10
|
-
// Inicia o temporizador de fechamento para cada alerta quando a página é carregada
|
11
|
-
this.alerts.forEach(alert => {
|
12
|
-
this.closeTimeouts[alert.message] = setTimeout(() => {
|
13
|
-
this.closeAlert(alert);
|
14
|
-
}, 6000); // Fecha após 8 segundos
|
15
|
-
});
|
16
|
-
}
|
17
|
-
ngAfterViewInit() {
|
18
|
-
// Adiciona a classe 'show' após um curto atraso para acionar a animação
|
19
|
-
setTimeout(() => {
|
20
|
-
this.alerts.forEach(alert => {
|
21
|
-
const element = document.getElementById(`alert-${alert.message}`);
|
22
|
-
if (element) {
|
23
|
-
element.classList.add('show');
|
24
|
-
}
|
25
|
-
});
|
26
|
-
}, 10); // Pequeno atraso para garantir que o elemento esteja no DOM
|
27
|
-
}
|
28
|
-
closeAlert(alert) {
|
29
|
-
const element = document.getElementById(`alert-${alert.message}`);
|
30
|
-
if (element) {
|
31
|
-
element.classList.remove('show');
|
32
|
-
setTimeout(() => {
|
33
|
-
this.alerts = this.alerts.filter(a => a !== alert);
|
34
|
-
}, 500); // Duração da animação de saída
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
this.alerts = this.alerts.filter(a => a !== alert);
|
38
|
-
}
|
39
|
-
}
|
40
|
-
getAlertClass(alert) {
|
41
|
-
return {
|
42
|
-
'alert-container': true,
|
43
|
-
'alert-dismissible': true,
|
44
|
-
[`alert-${alert.type}`]: true
|
45
|
-
};
|
46
|
-
}
|
47
|
-
getAlertIconClass(alert) {
|
48
|
-
switch (alert.type) {
|
49
|
-
case 'success':
|
50
|
-
return 'success-icon'; // Classe para o ícone de sucesso
|
51
|
-
case 'info':
|
52
|
-
return 'info-icon'; // Classe para o ícone de informação
|
53
|
-
case 'warning':
|
54
|
-
return 'warning-icon'; // Classe para o ícone de aviso
|
55
|
-
case 'danger':
|
56
|
-
return 'danger-icon'; // Classe para o ícone de erro
|
57
|
-
default:
|
58
|
-
return '';
|
59
|
-
}
|
60
|
-
}
|
61
|
-
onMouseEnter(alert) {
|
62
|
-
// Cancela o temporizador quando o mouse entra no alerta
|
63
|
-
if (this.closeTimeouts[alert.message]) {
|
64
|
-
clearTimeout(this.closeTimeouts[alert.message]);
|
65
|
-
delete this.closeTimeouts[alert.message];
|
66
|
-
}
|
67
|
-
}
|
68
|
-
onMouseLeave(alert) {
|
69
|
-
// Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta
|
70
|
-
this.closeTimeouts[alert.message] = setTimeout(() => {
|
71
|
-
this.closeAlert(alert);
|
72
|
-
}, 2000); // Fechar após 2 segundos
|
73
|
-
}
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertComponent, selector: "lib-alert", inputs: { alerts: "alerts" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
76
|
-
}
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, decorators: [{
|
78
|
-
type: Component,
|
79
|
-
args: [{ selector: 'lib-alert', template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"] }]
|
80
|
-
}], propDecorators: { alerts: [{
|
81
|
-
type: Input
|
82
|
-
}] } });
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXhFLE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTWEsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUEyQixFQUFFLENBQUMsQ0FBQyw4Q0FBOEM7S0F3RXJHO0lBdEVHLFFBQVE7UUFDSixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLHdFQUF3RTtRQUN4RSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQ7SUFDeEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ25CLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN2RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7U0FDM0M7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDdEIsT0FBTztZQUNILGlCQUFpQixFQUFFLElBQUk7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUNoQyxDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVk7UUFDMUIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hCLEtBQUssU0FBUztnQkFDVixPQUFPLGNBQWMsQ0FBQyxDQUFDLGlDQUFpQztZQUM1RCxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUMsQ0FBQyxvQ0FBb0M7WUFDNUQsS0FBSyxTQUFTO2dCQUNWLE9BQU8sY0FBYyxDQUFDLENBQUMsK0JBQStCO1lBQzFELEtBQUssUUFBUTtnQkFDVCxPQUFPLGFBQWEsQ0FBQyxDQUFDLDhCQUE4QjtZQUN4RDtnQkFDSSxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUNyQix3REFBd0Q7UUFDeEQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3ZDLENBQUM7K0dBekVRLGNBQWM7bUdBQWQsY0FBYywrRUNSM0IsNm1CQWlCQTs7NEZEVGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDSSxXQUFXOzhCQUtaLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYWxlcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgYWxlcnRzOiBBbGVydFtdID0gW107XG4gICAgcHJpdmF0ZSBjbG9zZVRpbWVvdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307IC8vIEFybWF6ZW5hIG9zIHRlbXBvcml6YWRvcmVzIHBhcmEgY2FkYSBhbGVydGFcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBJbmljaWEgbyB0ZW1wb3JpemFkb3IgZGUgZmVjaGFtZW50byBwYXJhIGNhZGEgYWxlcnRhIHF1YW5kbyBhIHDDoWdpbmEgw6kgY2FycmVnYWRhXG4gICAgICAgIHRoaXMuYWxlcnRzLmZvckVhY2goYWxlcnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUFsZXJ0KGFsZXJ0KTtcbiAgICAgICAgICAgIH0sIDYwMDApOyAvLyBGZWNoYSBhcMOzcyA4IHNlZ3VuZG9zXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gQWRpY2lvbmEgYSBjbGFzc2UgJ3Nob3cnIGFww7NzIHVtIGN1cnRvIGF0cmFzbyBwYXJhIGFjaW9uYXIgYSBhbmltYcOnw6NvXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydHMuZm9yRWFjaChhbGVydCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDEwKTsgLy8gUGVxdWVubyBhdHJhc28gcGFyYSBnYXJhbnRpciBxdWUgbyBlbGVtZW50byBlc3RlamEgbm8gRE9NXG4gICAgfVxuXG4gICAgY2xvc2VBbGVydChhbGVydDogQWxlcnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRzID0gdGhpcy5hbGVydHMuZmlsdGVyKGEgPT4gYSAhPT0gYWxlcnQpO1xuICAgICAgICAgICAgfSwgNTAwKTsgLy8gRHVyYcOnw6NvIGRhIGFuaW1hw6fDo28gZGUgc2HDrWRhXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0cyA9IHRoaXMuYWxlcnRzLmZpbHRlcihhID0+IGEgIT09IGFsZXJ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFsZXJ0Q2xhc3MoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnYWxlcnQtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAgICAgICAgICdhbGVydC1kaXNtaXNzaWJsZSc6IHRydWUsXG4gICAgICAgICAgICBbYGFsZXJ0LSR7YWxlcnQudHlwZX1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEFsZXJ0SWNvbkNsYXNzKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICBzd2l0Y2ggKGFsZXJ0LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgc3VjZXNzb1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbmZvLWljb24nOyAvLyBDbGFzc2UgcGFyYSBvIMOtY29uZSBkZSBpbmZvcm1hw6fDo29cbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgYXZpc29cbiAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdkYW5nZXItaWNvbic7IC8vIENsYXNzZSBwYXJhIG8gw61jb25lIGRlIGVycm9cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICAvLyBDYW5jZWxhIG8gdGVtcG9yaXphZG9yIHF1YW5kbyBvIG1vdXNlIGVudHJhIG5vIGFsZXJ0YVxuICAgICAgICBpZiAodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNsb3NlVGltZW91dHNbYWxlcnQubWVzc2FnZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIC8vIEluaWNpYSB1bSBub3ZvIHRlbXBvcml6YWRvciBwYXJhIGZlY2hhciBvIGFsZXJ0YSBhcMOzcyAyIHNlZ3VuZG9zIHF1YW5kbyBvIG1vdXNlIHNhaSBkbyBhbGVydGFcbiAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWxlcnQoYWxlcnQpO1xuICAgICAgICB9LCAyMDAwKTsgLy8gRmVjaGFyIGFww7NzIDIgc2VndW5kb3NcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBhbGVydCBvZiBhbGVydHNcIiBcbiAgICAgW25nQ2xhc3NdPVwiZ2V0QWxlcnRDbGFzcyhhbGVydClcIiBcbiAgICAgcm9sZT1cImFsZXJ0XCIgXG4gICAgIFtpZF09XCInYWxlcnQtJyArIGFsZXJ0Lm1lc3NhZ2VcIlxuICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoYWxlcnQpXCIgXG4gICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZShhbGVydClcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZUFsZXJ0KGFsZXJ0KVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQtaGVhZGVyXCI+XG4gICAgPHNwYW4gW25nQ2xhc3NdPVwiZ2V0QWxlcnRJY29uQ2xhc3MoYWxlcnQpXCIgY2xhc3M9XCJhbGVydC1pY29uXCI+PC9zcGFuPlxuICAgIDxzdHJvbmc+e3sgYWxlcnQudGl0bGUgfX08L3N0cm9uZz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC1ib2R5XCI+XG4gICAge3sgYWxlcnQubWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import { createComponent, Injectable } from '@angular/core';
|
2
|
-
import { Subject } from 'rxjs';
|
3
|
-
import { AlertComponent } from './alert.component';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class NotificationService {
|
6
|
-
constructor(appRef, injector) {
|
7
|
-
this.appRef = appRef;
|
8
|
-
this.injector = injector;
|
9
|
-
this.alertsSubject = new Subject();
|
10
|
-
this.alerts$ = this.alertsSubject.asObservable();
|
11
|
-
}
|
12
|
-
showAlert(type, title, message) {
|
13
|
-
const alert = { type, title, message };
|
14
|
-
this.alertsSubject.next(alert);
|
15
|
-
// Create the alert component dynamically
|
16
|
-
const componentRef = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });
|
17
|
-
componentRef.instance.alerts = [alert];
|
18
|
-
this.appRef.attachView(componentRef.hostView);
|
19
|
-
const domElem = componentRef.hostView.rootNodes[0];
|
20
|
-
document.body.appendChild(domElem);
|
21
|
-
}
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
24
|
-
}
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
|
26
|
-
type: Injectable,
|
27
|
-
args: [{
|
28
|
-
providedIn: 'root'
|
29
|
-
}]
|
30
|
-
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }]; } });
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUNZLE1BQXNCLEVBQ3RCLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMdEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBS3hDLENBQUM7SUFFTCxTQUFTLENBQUMsSUFBK0MsRUFBRSxLQUFhLEVBQUUsT0FBZTtRQUNyRixNQUFNLEtBQUssR0FBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IseUNBQXlDO1FBQ3pDLE1BQU0sWUFBWSxHQUFpQyxlQUFlLENBQUMsY0FBYyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xJLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDM0UsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFHdkMsQ0FBQzsrR0F0QlEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgICB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFsZXJ0c1N1YmplY3QgPSBuZXcgU3ViamVjdDxBbGVydD4oKTtcbiAgICBhbGVydHMkID0gdGhpcy5hbGVydHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHsgfVxuXG4gICAgc2hvd0FsZXJ0KHR5cGU6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInLCB0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyB0eXBlLCB0aXRsZSwgbWVzc2FnZSB9O1xuICAgICAgICB0aGlzLmFsZXJ0c1N1YmplY3QubmV4dChhbGVydCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBhbGVydCBjb21wb25lbnQgZHluYW1pY2FsbHlcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QWxlcnRDb21wb25lbnQ+ID0gY3JlYXRlQ29tcG9uZW50KEFsZXJ0Q29tcG9uZW50LCB7IGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWxlcnRzID0gW2FsZXJ0XTtcblxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIGFueSkucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxufVxuIl19
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { AfterViewInit, OnInit } from '@angular/core';
|
2
|
-
import { Alert } from './notification.service';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class AlertComponent implements OnInit, AfterViewInit {
|
5
|
-
alerts: Alert[];
|
6
|
-
private closeTimeouts;
|
7
|
-
ngOnInit(): void;
|
8
|
-
ngAfterViewInit(): void;
|
9
|
-
closeAlert(alert: Alert): void;
|
10
|
-
getAlertClass(alert: Alert): {
|
11
|
-
[x: string]: boolean;
|
12
|
-
'alert-container': boolean;
|
13
|
-
'alert-dismissible': boolean;
|
14
|
-
};
|
15
|
-
getAlertIconClass(alert: Alert): "" | "success-icon" | "info-icon" | "warning-icon" | "danger-icon";
|
16
|
-
onMouseEnter(alert: Alert): void;
|
17
|
-
onMouseLeave(alert: Alert): void;
|
18
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "lib-alert", never, { "alerts": { "alias": "alerts"; "required": false; }; }, {}, never, never, false, never>;
|
20
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { ApplicationRef, Injector } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export interface Alert {
|
4
|
-
type: 'success' | 'info' | 'warning' | 'danger';
|
5
|
-
title: string;
|
6
|
-
message: string;
|
7
|
-
}
|
8
|
-
export declare class NotificationService {
|
9
|
-
private appRef;
|
10
|
-
private injector;
|
11
|
-
private alertsSubject;
|
12
|
-
alerts$: import("rxjs").Observable<Alert>;
|
13
|
-
constructor(appRef: ApplicationRef, injector: Injector);
|
14
|
-
showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string): void;
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
16
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
17
|
-
}
|