ngssm-shell 14.1.4 → 14.2.0
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/esm2020/lib/actions/display-notification-details.action.mjs +8 -0
- package/esm2020/lib/actions/display-notification.action.mjs +10 -0
- package/esm2020/lib/actions/index.mjs +4 -0
- package/esm2020/lib/actions/shell-action-type.mjs +12 -0
- package/esm2020/lib/components/index.mjs +2 -0
- package/esm2020/lib/components/shell/shell.component.mjs +21 -8
- package/esm2020/lib/components/shell-notification/shell-notification.component.mjs +54 -0
- package/esm2020/lib/components/shell-notification-popup/shell-notification-popup.component.mjs +28 -0
- package/esm2020/lib/components/shell-notifications/shell-notifications.component.mjs +63 -0
- package/esm2020/lib/components/side-nav/side-nav.component.mjs +5 -5
- package/esm2020/lib/components/wrapper/wrapper.component.mjs +3 -3
- package/esm2020/lib/effects/notification-showing.effect.mjs +31 -0
- package/esm2020/lib/model/index.mjs +3 -1
- package/esm2020/lib/model/shell-notification-type.mjs +6 -0
- package/esm2020/lib/model/shell-notification.mjs +2 -0
- package/esm2020/lib/model/sidenav-item.mjs +1 -1
- package/esm2020/lib/ngssm-shell.module.mjs +34 -8
- package/esm2020/lib/reducers/navigation-bar.reducer.mjs +48 -0
- package/esm2020/lib/reducers/shell-notifications.reducer.mjs +56 -0
- package/esm2020/lib/state/index.mjs +3 -0
- package/esm2020/lib/state/shell-notifications.mjs +4 -0
- package/esm2020/lib/state/shell.state.mjs +24 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/ngssm-shell.mjs +350 -28
- package/fesm2015/ngssm-shell.mjs.map +1 -1
- package/fesm2020/ngssm-shell.mjs +347 -28
- package/fesm2020/ngssm-shell.mjs.map +1 -1
- package/lib/actions/display-notification-details.action.d.ts +6 -0
- package/lib/actions/display-notification.action.d.ts +9 -0
- package/lib/actions/index.d.ts +3 -0
- package/lib/actions/shell-action-type.d.ts +8 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/shell/shell.component.d.ts +4 -1
- package/lib/components/shell-notification/shell-notification.component.d.ts +18 -0
- package/lib/components/shell-notification-popup/shell-notification-popup.component.d.ts +10 -0
- package/lib/components/shell-notifications/shell-notifications.component.d.ts +20 -0
- package/lib/effects/notification-showing.effect.d.ts +13 -0
- package/lib/model/index.d.ts +2 -0
- package/lib/model/shell-notification-type.d.ts +4 -0
- package/lib/model/shell-notification.d.ts +7 -0
- package/lib/model/sidenav-item.d.ts +2 -0
- package/lib/ngssm-shell.module.d.ts +9 -3
- package/lib/reducers/navigation-bar.reducer.d.ts +10 -0
- package/lib/reducers/shell-notifications.reducer.d.ts +10 -0
- package/lib/state/index.d.ts +2 -0
- package/lib/state/shell-notifications.d.ts +6 -0
- package/lib/state/shell.state.d.ts +13 -0
- package/package.json +5 -2
- package/public-api.d.ts +2 -0
- package/styles/ngssm-shell.scss +26 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ShellActionType } from './shell-action-type';
|
|
2
|
+
export class DisplayNotificationDetailsAction {
|
|
3
|
+
constructor(notificationIndex) {
|
|
4
|
+
this.notificationIndex = notificationIndex;
|
|
5
|
+
this.type = ShellActionType.displayNotificationDetails;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1ub3RpZmljYXRpb24tZGV0YWlscy5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2FjdGlvbnMvZGlzcGxheS1ub3RpZmljYXRpb24tZGV0YWlscy5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBTyxnQ0FBZ0M7SUFHM0MsWUFBNEIsaUJBQXFDO1FBQXJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBb0I7UUFGakQsU0FBSSxHQUFXLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQztJQUVOLENBQUM7Q0FDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5pbXBvcnQgeyBTaGVsbEFjdGlvblR5cGUgfSBmcm9tICcuL3NoZWxsLWFjdGlvbi10eXBlJztcblxuZXhwb3J0IGNsYXNzIERpc3BsYXlOb3RpZmljYXRpb25EZXRhaWxzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IFNoZWxsQWN0aW9uVHlwZS5kaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlscztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ShellActionType } from './shell-action-type';
|
|
2
|
+
export class DisplayNotificationAction {
|
|
3
|
+
constructor(notificationType, title, details) {
|
|
4
|
+
this.notificationType = notificationType;
|
|
5
|
+
this.title = title;
|
|
6
|
+
this.details = details;
|
|
7
|
+
this.type = ShellActionType.displayNotification;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1ub3RpZmljYXRpb24uYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9hY3Rpb25zL2Rpc3BsYXktbm90aWZpY2F0aW9uLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUE0QixnQkFBdUMsRUFBa0IsS0FBYSxFQUFrQixPQUFhO1FBQXJHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7UUFBa0IsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFrQixZQUFPLEdBQVAsT0FBTyxDQUFNO1FBRmpILFNBQUksR0FBVyxlQUFlLENBQUMsbUJBQW1CLENBQUM7SUFFaUUsQ0FBQztDQUN0SSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgU2hlbGxOb3RpZmljYXRpb25UeXBlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgU2hlbGxBY3Rpb25UeXBlIH0gZnJvbSAnLi9zaGVsbC1hY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBEaXNwbGF5Tm90aWZpY2F0aW9uQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IFNoZWxsQWN0aW9uVHlwZS5kaXNwbGF5Tm90aWZpY2F0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBub3RpZmljYXRpb25UeXBlOiBTaGVsbE5vdGlmaWNhdGlvblR5cGUsIHB1YmxpYyByZWFkb25seSB0aXRsZTogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgZGV0YWlscz86IGFueSkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './shell-action-type';
|
|
2
|
+
export * from './display-notification.action';
|
|
3
|
+
export * from './display-notification-details.action';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoZWxsLWFjdGlvbi10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGxheS1ub3RpZmljYXRpb24uYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGxheS1ub3RpZmljYXRpb24tZGV0YWlscy5hY3Rpb24nO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var ShellActionType;
|
|
2
|
+
(function (ShellActionType) {
|
|
3
|
+
// Navigation bar
|
|
4
|
+
ShellActionType["toggleNavigationBarState"] = "[ShellActionType] toggleNavigationBarState";
|
|
5
|
+
ShellActionType["openNavigationBar"] = "[ShellActionType] openNavigationBar";
|
|
6
|
+
ShellActionType["closeNavigationBar"] = "[ShellActionType] closeNavigationBar";
|
|
7
|
+
// Notifications
|
|
8
|
+
ShellActionType["displayNotification"] = "[ShellActionType] displayNotification";
|
|
9
|
+
ShellActionType["displayNotificationDetails"] = "[ShellActionType] displayNotificationDetails";
|
|
10
|
+
ShellActionType["clearAllNotifications"] = "[ShellActionType] clearAllNotifications";
|
|
11
|
+
})(ShellActionType || (ShellActionType = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtYWN0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2FjdGlvbnMvc2hlbGwtYWN0aW9uLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFVWDtBQVZELFdBQVksZUFBZTtJQUN6QixpQkFBaUI7SUFDakIsMEZBQXVFLENBQUE7SUFDdkUsNEVBQXlELENBQUE7SUFDekQsOEVBQTJELENBQUE7SUFFM0QsZ0JBQWdCO0lBQ2hCLGdGQUE2RCxDQUFBO0lBQzdELDhGQUEyRSxDQUFBO0lBQzNFLG9GQUFpRSxDQUFBO0FBQ25FLENBQUMsRUFWVyxlQUFlLEtBQWYsZUFBZSxRQVUxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNoZWxsQWN0aW9uVHlwZSB7XG4gIC8vIE5hdmlnYXRpb24gYmFyXG4gIHRvZ2dsZU5hdmlnYXRpb25CYXJTdGF0ZSA9ICdbU2hlbGxBY3Rpb25UeXBlXSB0b2dnbGVOYXZpZ2F0aW9uQmFyU3RhdGUnLFxuICBvcGVuTmF2aWdhdGlvbkJhciA9ICdbU2hlbGxBY3Rpb25UeXBlXSBvcGVuTmF2aWdhdGlvbkJhcicsXG4gIGNsb3NlTmF2aWdhdGlvbkJhciA9ICdbU2hlbGxBY3Rpb25UeXBlXSBjbG9zZU5hdmlnYXRpb25CYXInLFxuXG4gIC8vIE5vdGlmaWNhdGlvbnNcbiAgZGlzcGxheU5vdGlmaWNhdGlvbiA9ICdbU2hlbGxBY3Rpb25UeXBlXSBkaXNwbGF5Tm90aWZpY2F0aW9uJyxcbiAgZGlzcGxheU5vdGlmaWNhdGlvbkRldGFpbHMgPSAnW1NoZWxsQWN0aW9uVHlwZV0gZGlzcGxheU5vdGlmaWNhdGlvbkRldGFpbHMnLFxuICBjbGVhckFsbE5vdGlmaWNhdGlvbnMgPSAnW1NoZWxsQWN0aW9uVHlwZV0gY2xlYXJBbGxOb3RpZmljYXRpb25zJ1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './shell-notification-popup/shell-notification-popup.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrREFBK0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwL3NoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { NgSsmComponent } from 'ngssm-store';
|
|
4
|
+
import { selectShellState } from '../../state';
|
|
5
|
+
import { ShellActionType } from '../../actions';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "ngssm-store";
|
|
6
8
|
import * as i2 from "@angular/router";
|
|
@@ -9,9 +11,11 @@ import * as i4 from "@angular/material/toolbar";
|
|
|
9
11
|
import * as i5 from "@angular/material/sidenav";
|
|
10
12
|
import * as i6 from "@angular/material/button";
|
|
11
13
|
import * as i7 from "@angular/material/icon";
|
|
12
|
-
import * as i8 from "@angular/
|
|
13
|
-
import * as i9 from "
|
|
14
|
-
import * as i10 from "../
|
|
14
|
+
import * as i8 from "@angular/material/badge";
|
|
15
|
+
import * as i9 from "@angular/flex-layout/flex";
|
|
16
|
+
import * as i10 from "../side-nav/side-nav.component";
|
|
17
|
+
import * as i11 from "../wrapper/wrapper.component";
|
|
18
|
+
import * as i12 from "../shell-notifications/shell-notifications.component";
|
|
15
19
|
export class ShellComponent extends NgSsmComponent {
|
|
16
20
|
constructor(store) {
|
|
17
21
|
super(store);
|
|
@@ -21,19 +25,28 @@ export class ShellComponent extends NgSsmComponent {
|
|
|
21
25
|
set shellConfig(value) {
|
|
22
26
|
this._shellConfig$.next(value);
|
|
23
27
|
}
|
|
28
|
+
get navigationBarOpen$() {
|
|
29
|
+
return this.watch((s) => selectShellState(s).navigationBarOpen);
|
|
30
|
+
}
|
|
24
31
|
get shellConfig$() {
|
|
25
32
|
return this._shellConfig$.asObservable();
|
|
26
33
|
}
|
|
34
|
+
get notificationsCount$() {
|
|
35
|
+
return this.watch((s) => selectShellState(s).shellNotifications.notifications.length);
|
|
36
|
+
}
|
|
37
|
+
toggleNavigationBarState() {
|
|
38
|
+
this.dispatchActionType(ShellActionType.toggleNavigationBarState);
|
|
39
|
+
}
|
|
27
40
|
}
|
|
28
|
-
ShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
29
|
-
ShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
41
|
+
ShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
ShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ShellComponent, selector: "ngssm-shell", inputs: { shellConfig: "shellConfig" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\" class=\"ngssm-shell-container\"\n *ngIf=\"(shellConfig$ | async) as config; else noShellConfig\">\n <mat-sidenav-container fxFlex>\n <mat-sidenav-content fxLayout=\"column\">\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"ngssm-shell-header\">\n <button mat-icon-button (click)=\"toggleNavigationBarState()\">\n <mat-icon class=\"fa-solid fa-bars\"></mat-icon>\n </button>\n <img [src]=\"config.logo\" *ngIf=\"config.logo\" class=\"ngssm-shell-header-logo\" />\n <span class=\"ngssm-shell-header-title\" *ngIf=\"config.applicationTitle\">\n {{config.applicationTitle}}\n </span>\n <ng-content></ng-content>\n </mat-toolbar>\n\n <mat-sidenav-container fxFlex>\n <mat-sidenav mode=\"side\" [opened]=\"(navigationBarOpen$ | async)===true\"\n class=\"ngssm-shell-navigation-bar\">\n <ngssm-side-nav [config]=\"config.sidenavConfig\"></ngssm-side-nav>\n </mat-sidenav>\n <mat-sidenav-content class=\"ngssm-shell-content\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n\n <mat-sidenav mode=\"over\" opened=\"false\" #rightSidebar position=\"end\" class=\"ngssm-shell-messages-bar\">\n <ngssm-shell-notifications fxFlex></ngssm-shell-notifications>\n </mat-sidenav>\n </mat-sidenav-container>\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"ngssm-shell-footer\"\n *ngIf=\"config.displayFooter === true\">\n <ngssm-wrapper *ngFor=\"let component of config.footerComponents\" [item]=\"component\"></ngssm-wrapper>\n <span fxFlex></span>\n <button mat-icon-button (click)=\"rightSidebar.toggle()\" *ngIf=\"config.displayFooterNotificationsButton\">\n <mat-icon class=\"fa-regular fa-message\" [matBadge]=\"notificationsCount$ | async\"\n *ngIf=\"(notificationsCount$ | async) ?? 0 > 0\">\n </mat-icon>\n <mat-icon class=\"fa-regular fa-message\" *ngIf=\"(notificationsCount$ | async) === 0\">\n </mat-icon>\n </button>\n </mat-toolbar>\n</div>\n\n<ng-template #noShellConfig>\n <div class=\"ngssm-shell-no-config\">\n Please, provide a config for the shell.\n </div>\n</ng-template>", dependencies: [{ kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i5.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i5.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i10.SideNavComponent, selector: "ngssm-side-nav", inputs: ["config"] }, { kind: "component", type: i11.WrapperComponent, selector: "ngssm-wrapper", inputs: ["item"] }, { kind: "component", type: i12.ShellNotificationsComponent, selector: "ngssm-shell-notifications" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellComponent, decorators: [{
|
|
31
44
|
type: Component,
|
|
32
|
-
args: [{ selector: 'ngssm-shell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\" class=\"ngssm-shell-container\"\n *ngIf=\"(shellConfig$ | async) as config; else noShellConfig\">\n <mat-sidenav-container fxFlex>\n <mat-sidenav-content fxLayout=\"column\">\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"ngssm-shell-header\">\n <button mat-icon-button (click)=\"
|
|
45
|
+
args: [{ selector: 'ngssm-shell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\" class=\"ngssm-shell-container\"\n *ngIf=\"(shellConfig$ | async) as config; else noShellConfig\">\n <mat-sidenav-container fxFlex>\n <mat-sidenav-content fxLayout=\"column\">\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"ngssm-shell-header\">\n <button mat-icon-button (click)=\"toggleNavigationBarState()\">\n <mat-icon class=\"fa-solid fa-bars\"></mat-icon>\n </button>\n <img [src]=\"config.logo\" *ngIf=\"config.logo\" class=\"ngssm-shell-header-logo\" />\n <span class=\"ngssm-shell-header-title\" *ngIf=\"config.applicationTitle\">\n {{config.applicationTitle}}\n </span>\n <ng-content></ng-content>\n </mat-toolbar>\n\n <mat-sidenav-container fxFlex>\n <mat-sidenav mode=\"side\" [opened]=\"(navigationBarOpen$ | async)===true\"\n class=\"ngssm-shell-navigation-bar\">\n <ngssm-side-nav [config]=\"config.sidenavConfig\"></ngssm-side-nav>\n </mat-sidenav>\n <mat-sidenav-content class=\"ngssm-shell-content\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n\n <mat-sidenav mode=\"over\" opened=\"false\" #rightSidebar position=\"end\" class=\"ngssm-shell-messages-bar\">\n <ngssm-shell-notifications fxFlex></ngssm-shell-notifications>\n </mat-sidenav>\n </mat-sidenav-container>\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\" center\" class=\"ngssm-shell-footer\"\n *ngIf=\"config.displayFooter === true\">\n <ngssm-wrapper *ngFor=\"let component of config.footerComponents\" [item]=\"component\"></ngssm-wrapper>\n <span fxFlex></span>\n <button mat-icon-button (click)=\"rightSidebar.toggle()\" *ngIf=\"config.displayFooterNotificationsButton\">\n <mat-icon class=\"fa-regular fa-message\" [matBadge]=\"notificationsCount$ | async\"\n *ngIf=\"(notificationsCount$ | async) ?? 0 > 0\">\n </mat-icon>\n <mat-icon class=\"fa-regular fa-message\" *ngIf=\"(notificationsCount$ | async) === 0\">\n </mat-icon>\n </button>\n </mat-toolbar>\n</div>\n\n<ng-template #noShellConfig>\n <div class=\"ngssm-shell-no-config\">\n Please, provide a config for the shell.\n </div>\n</ng-template>" }]
|
|
33
46
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { class: [{
|
|
34
47
|
type: HostBinding,
|
|
35
48
|
args: ['class']
|
|
36
49
|
}], shellConfig: [{
|
|
37
50
|
type: Input
|
|
38
51
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBR3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7SUFLaEQsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUxFLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxDQUFDO1FBRW5FLFVBQUssR0FBRyxhQUFhLENBQUM7SUFJNUMsQ0FBQztJQUVELElBQW9CLFdBQVcsQ0FBQyxLQUFrQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sd0JBQXdCO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRSxDQUFDOzsyR0EzQlUsY0FBYzsrRkFBZCxjQUFjLG1LQ2QzQiwyaEZBZ0RjOzJGRGxDRCxjQUFjO2tCQUwxQixTQUFTOytCQUNFLGFBQWEsbUJBRU4sdUJBQXVCLENBQUMsTUFBTTs0RkFLekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQU1BLFdBQVc7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IFNoZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0U2hlbGxTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcbmltcG9ydCB7IFNoZWxsQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaGVsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zaGVsbENvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNoZWxsQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICduZ3NzbS1zaGVsbCc7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBzaGVsbENvbmZpZyh2YWx1ZTogU2hlbGxDb25maWcpIHtcbiAgICB0aGlzLl9zaGVsbENvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25CYXJPcGVuJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy53YXRjaCgocykgPT4gc2VsZWN0U2hlbGxTdGF0ZShzKS5uYXZpZ2F0aW9uQmFyT3Blbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNoZWxsQ29uZmlnJCgpOiBPYnNlcnZhYmxlPFNoZWxsQ29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NoZWxsQ29uZmlnJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm90aWZpY2F0aW9uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3RTaGVsbFN0YXRlKHMpLnNoZWxsTm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTmF2aWdhdGlvbkJhclN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb25UeXBlKFNoZWxsQWN0aW9uVHlwZS50b2dnbGVOYXZpZ2F0aW9uQmFyU3RhdGUpO1xuICB9XG59XG4iLCI8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCIgc3RyZXRjaFwiIGNsYXNzPVwibmdzc20tc2hlbGwtY29udGFpbmVyXCJcbiAgICAqbmdJZj1cIihzaGVsbENvbmZpZyQgfCBhc3luYykgYXMgY29uZmlnOyBlbHNlIG5vU2hlbGxDb25maWdcIj5cbiAgICA8bWF0LXNpZGVuYXYtY29udGFpbmVyIGZ4RmxleD5cbiAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxtYXQtdG9vbGJhciBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgY2xhc3M9XCJuZ3NzbS1zaGVsbC1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTmF2aWdhdGlvbkJhclN0YXRlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtYmFyc1wiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImNvbmZpZy5sb2dvXCIgKm5nSWY9XCJjb25maWcubG9nb1wiIGNsYXNzPVwibmdzc20tc2hlbGwtaGVhZGVyLWxvZ29cIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmdzc20tc2hlbGwtaGVhZGVyLXRpdGxlXCIgKm5nSWY9XCJjb25maWcuYXBwbGljYXRpb25UaXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e2NvbmZpZy5hcHBsaWNhdGlvblRpdGxlfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9tYXQtdG9vbGJhcj5cblxuICAgICAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBmeEZsZXg+XG4gICAgICAgICAgICAgICAgPG1hdC1zaWRlbmF2IG1vZGU9XCJzaWRlXCIgW29wZW5lZF09XCIobmF2aWdhdGlvbkJhck9wZW4kIHwgYXN5bmMpPT09dHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tc2hlbGwtbmF2aWdhdGlvbi1iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nc3NtLXNpZGUtbmF2IFtjb25maWddPVwiY29uZmlnLnNpZGVuYXZDb25maWdcIj48L25nc3NtLXNpZGUtbmF2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG4gICAgICAgICAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQgY2xhc3M9XCJuZ3NzbS1zaGVsbC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuXG4gICAgICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwib3ZlclwiIG9wZW5lZD1cImZhbHNlXCIgI3JpZ2h0U2lkZWJhciBwb3NpdGlvbj1cImVuZFwiIGNsYXNzPVwibmdzc20tc2hlbGwtbWVzc2FnZXMtYmFyXCI+XG4gICAgICAgICAgICA8bmdzc20tc2hlbGwtbm90aWZpY2F0aW9ucyBmeEZsZXg+PC9uZ3NzbS1zaGVsbC1ub3RpZmljYXRpb25zPlxuICAgICAgICA8L21hdC1zaWRlbmF2PlxuICAgIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuICAgIDxtYXQtdG9vbGJhciBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgY2xhc3M9XCJuZ3NzbS1zaGVsbC1mb290ZXJcIlxuICAgICAgICAqbmdJZj1cImNvbmZpZy5kaXNwbGF5Rm9vdGVyID09PSB0cnVlXCI+XG4gICAgICAgIDxuZ3NzbS13cmFwcGVyICpuZ0Zvcj1cImxldCBjb21wb25lbnQgb2YgY29uZmlnLmZvb3RlckNvbXBvbmVudHNcIiBbaXRlbV09XCJjb21wb25lbnRcIj48L25nc3NtLXdyYXBwZXI+XG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyaWdodFNpZGViYXIudG9nZ2xlKClcIiAqbmdJZj1cImNvbmZpZy5kaXNwbGF5Rm9vdGVyTm90aWZpY2F0aW9uc0J1dHRvblwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtcmVndWxhciBmYS1tZXNzYWdlXCIgW21hdEJhZGdlXT1cIm5vdGlmaWNhdGlvbnNDb3VudCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jKSA/PyAwID4gMFwiPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtbWVzc2FnZVwiICpuZ0lmPVwiKG5vdGlmaWNhdGlvbnNDb3VudCQgfCBhc3luYykgPT09IDBcIj5cbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXRvb2xiYXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNub1NoZWxsQ29uZmlnPlxuICAgIDxkaXYgY2xhc3M9XCJuZ3NzbS1zaGVsbC1uby1jb25maWdcIj5cbiAgICAgICAgUGxlYXNlLCBwcm92aWRlIGEgY29uZmlnIGZvciB0aGUgc2hlbGwuXG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, combineLatest, takeUntil } from 'rxjs';
|
|
3
|
+
import { NgSsmComponent } from 'ngssm-store';
|
|
4
|
+
import { ShellNotificationType } from '../../model';
|
|
5
|
+
import { selectShellState } from '../../state';
|
|
6
|
+
import { DisplayNotificationDetailsAction } from '../../actions';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "ngssm-store";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/material/button";
|
|
11
|
+
import * as i4 from "@angular/material/icon";
|
|
12
|
+
import * as i5 from "@angular/material/card";
|
|
13
|
+
import * as i6 from "@angular/flex-layout/flex";
|
|
14
|
+
import * as i7 from "@angular/flex-layout/extended";
|
|
15
|
+
export class ShellNotificationComponent extends NgSsmComponent {
|
|
16
|
+
constructor(store) {
|
|
17
|
+
super(store);
|
|
18
|
+
this._displayDetailsButton$ = new BehaviorSubject(false);
|
|
19
|
+
this._shellNotification$ = new BehaviorSubject(undefined);
|
|
20
|
+
this._shellNotificationIndex$ = new BehaviorSubject(null);
|
|
21
|
+
this.shellNotificationType = ShellNotificationType;
|
|
22
|
+
combineLatest([this._shellNotificationIndex$, this.watch((s) => selectShellState(s).shellNotifications.notifications)])
|
|
23
|
+
.pipe(takeUntil(this.unsubscribeAll$))
|
|
24
|
+
.subscribe((values) => {
|
|
25
|
+
this._shellNotification$.next((values[1] ?? [])[values[0] ?? -1]);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
set displayDetailsButton(value) {
|
|
29
|
+
this._displayDetailsButton$.next(value);
|
|
30
|
+
}
|
|
31
|
+
set shellNotificationIndex(value) {
|
|
32
|
+
this._shellNotificationIndex$.next(value);
|
|
33
|
+
}
|
|
34
|
+
get shellNotification$() {
|
|
35
|
+
return this._shellNotification$.asObservable();
|
|
36
|
+
}
|
|
37
|
+
get displayDetailsButton$() {
|
|
38
|
+
return this._displayDetailsButton$.asObservable();
|
|
39
|
+
}
|
|
40
|
+
displayDetails() {
|
|
41
|
+
this.dispatchAction(new DisplayNotificationDetailsAction(this._shellNotificationIndex$.value ?? -1));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
ShellNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
ShellNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ShellNotificationComponent, selector: "ngssm-shell-notification", inputs: { displayDetailsButton: "displayDetailsButton", shellNotificationIndex: "shellNotificationIndex" }, usesInheritance: true, ngImport: i0, template: "<mat-card *ngIf=\"(shellNotification$ | async) as shellNotification; else noNotification\"\n class=\"ngssm-shell-notification-card\">\n <mat-card-header\n [ngClass]=\"{'ngssm-shell-notification-success' : shellNotification.type === shellNotificationType.success, 'ngssm-shell-notification-error':shellNotification.type === shellNotificationType.error}\">\n <mat-icon mat-card-avatar class=\"fa-solid fa-check ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.success\">\n </mat-icon>\n <mat-icon mat-card-avatar class=\"fa-solid fa-triangle-exclamation ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.error\">\n </mat-icon>\n <mat-card-title>{{shellNotification.title}}</mat-card-title>\n <mat-card-subtitle>{{shellNotification.timestamp | date:'shortTime'}}</mat-card-subtitle>\n </mat-card-header>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-button *ngIf=\"(displayDetailsButton$ | async) === true && shellNotification.details\"\n (click)=\"displayDetails()\">\n Display details\n </button>\n </div>\n</mat-card>\n\n<ng-template #noNotification>\n No notification to display...\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i5.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i5.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i5.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'ngssm-shell-notification', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card *ngIf=\"(shellNotification$ | async) as shellNotification; else noNotification\"\n class=\"ngssm-shell-notification-card\">\n <mat-card-header\n [ngClass]=\"{'ngssm-shell-notification-success' : shellNotification.type === shellNotificationType.success, 'ngssm-shell-notification-error':shellNotification.type === shellNotificationType.error}\">\n <mat-icon mat-card-avatar class=\"fa-solid fa-check ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.success\">\n </mat-icon>\n <mat-icon mat-card-avatar class=\"fa-solid fa-triangle-exclamation ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.error\">\n </mat-icon>\n <mat-card-title>{{shellNotification.title}}</mat-card-title>\n <mat-card-subtitle>{{shellNotification.timestamp | date:'shortTime'}}</mat-card-subtitle>\n </mat-card-header>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <button mat-button *ngIf=\"(displayDetailsButton$ | async) === true && shellNotification.details\"\n (click)=\"displayDetails()\">\n Display details\n </button>\n </div>\n</mat-card>\n\n<ng-template #noNotification>\n No notification to display...\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { displayDetailsButton: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], shellNotificationIndex: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRXBELE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBUWpFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxjQUFjO0lBTzVELFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFQRSwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBZ0MsU0FBUyxDQUFDLENBQUM7UUFDcEYsNkJBQXdCLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBRXJFLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBSzVELGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2FBQ3BILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFvQixvQkFBb0IsQ0FBQyxLQUFjO1FBQ3JELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQW9CLHNCQUFzQixDQUFDLEtBQW9CO1FBQzdELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQzs7dUhBbkNVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG1NQ2Z2QywwekNBdUJjOzJGRFJELDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07NEZBbUIzQixvQkFBb0I7c0JBQXZDLEtBQUs7Z0JBSWMsc0JBQXNCO3NCQUF6QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgU2hlbGxOb3RpZmljYXRpb24sIFNoZWxsTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdFNoZWxsU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5pbXBvcnQgeyBEaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlsc0FjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaGVsbC1ub3RpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsTm90aWZpY2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5RGV0YWlsc0J1dHRvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hlbGxOb3RpZmljYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGVsbE5vdGlmaWNhdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hlbGxOb3RpZmljYXRpb25JbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaGVsbE5vdGlmaWNhdGlvblR5cGUgPSBTaGVsbE5vdGlmaWNhdGlvblR5cGU7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fc2hlbGxOb3RpZmljYXRpb25JbmRleCQsIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykuc2hlbGxOb3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnMpXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgdGhpcy5fc2hlbGxOb3RpZmljYXRpb24kLm5leHQoKHZhbHVlc1sxXSA/PyBbXSlbdmFsdWVzWzBdID8/IC0xXSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZGlzcGxheURldGFpbHNCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNwbGF5RGV0YWlsc0J1dHRvbiQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNoZWxsTm90aWZpY2F0aW9uSW5kZXgodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl9zaGVsbE5vdGlmaWNhdGlvbkluZGV4JC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hlbGxOb3RpZmljYXRpb24kKCk6IE9ic2VydmFibGU8U2hlbGxOb3RpZmljYXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc2hlbGxOb3RpZmljYXRpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RGV0YWlsc0J1dHRvbiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlEZXRhaWxzQnV0dG9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5RGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBEaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlsc0FjdGlvbih0aGlzLl9zaGVsbE5vdGlmaWNhdGlvbkluZGV4JC52YWx1ZSA/PyAtMSkpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgKm5nSWY9XCIoc2hlbGxOb3RpZmljYXRpb24kIHwgYXN5bmMpIGFzIHNoZWxsTm90aWZpY2F0aW9uOyBlbHNlIG5vTm90aWZpY2F0aW9uXCJcbiAgICBjbGFzcz1cIm5nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1jYXJkXCI+XG4gICAgPG1hdC1jYXJkLWhlYWRlclxuICAgICAgICBbbmdDbGFzc109XCJ7J25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1zdWNjZXNzJyA6IHNoZWxsTm90aWZpY2F0aW9uLnR5cGUgPT09IHNoZWxsTm90aWZpY2F0aW9uVHlwZS5zdWNjZXNzLCAnbmdzc20tc2hlbGwtbm90aWZpY2F0aW9uLWVycm9yJzpzaGVsbE5vdGlmaWNhdGlvbi50eXBlID09PSBzaGVsbE5vdGlmaWNhdGlvblR5cGUuZXJyb3J9XCI+XG4gICAgICAgIDxtYXQtaWNvbiBtYXQtY2FyZC1hdmF0YXIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVjayAgbmdzc20tc2hlbGwtYXZhdGFyLW5vdGlmaWNhdGlvbiBcIlxuICAgICAgICAgICAgKm5nSWY9XCJzaGVsbE5vdGlmaWNhdGlvbi50eXBlID09PSBzaGVsbE5vdGlmaWNhdGlvblR5cGUuc3VjY2Vzc1wiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gbWF0LWNhcmQtYXZhdGFyIGNsYXNzPVwiZmEtc29saWQgZmEtdHJpYW5nbGUtZXhjbGFtYXRpb24gIG5nc3NtLXNoZWxsLWF2YXRhci1ub3RpZmljYXRpb24gXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hlbGxOb3RpZmljYXRpb24udHlwZSA9PT0gc2hlbGxOb3RpZmljYXRpb25UeXBlLmVycm9yXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZT57e3NoZWxsTm90aWZpY2F0aW9uLnRpdGxlfX08L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGU+e3tzaGVsbE5vdGlmaWNhdGlvbi50aW1lc3RhbXAgfCBkYXRlOidzaG9ydFRpbWUnfX08L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCIoZGlzcGxheURldGFpbHNCdXR0b24kIHwgYXN5bmMpID09PSB0cnVlICYmIHNoZWxsTm90aWZpY2F0aW9uLmRldGFpbHNcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlEZXRhaWxzKClcIj5cbiAgICAgICAgICAgIERpc3BsYXkgZGV0YWlsc1xuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Ob3RpZmljYXRpb24+XG4gICAgTm8gbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkuLi5cbjwvbmctdGVtcGxhdGU+Il19
|
package/esm2020/lib/components/shell-notification-popup/shell-notification-popup.component.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { NgSsmComponent } from 'ngssm-store';
|
|
4
|
+
import { selectShellState } from '../../state';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "ngssm-store";
|
|
7
|
+
import * as i2 from "../shell-notification/shell-notification.component";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
export class ShellNotificationPopupComponent extends NgSsmComponent {
|
|
10
|
+
constructor(store) {
|
|
11
|
+
super(store);
|
|
12
|
+
this._shellNotificationIndex$ = new BehaviorSubject(-1);
|
|
13
|
+
this.watch((s) => selectShellState(s).shellNotifications.notifications).subscribe((notifications) => {
|
|
14
|
+
const items = notifications ?? [];
|
|
15
|
+
this._shellNotificationIndex$.next(items.length - 1);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
get shellNotificationIndex$() {
|
|
19
|
+
return this._shellNotificationIndex$.asObservable();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ShellNotificationPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationPopupComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
ShellNotificationPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ShellNotificationPopupComponent, selector: "ngssm-shell-notification-popup", usesInheritance: true, ngImport: i0, template: "<ngssm-shell-notification [shellNotificationIndex]=\"shellNotificationIndex$ | async\"></ngssm-shell-notification>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i2.ShellNotificationComponent, selector: "ngssm-shell-notification", inputs: ["displayDetailsButton", "shellNotificationIndex"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationPopupComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'ngssm-shell-notification-popup', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngssm-shell-notification [shellNotificationIndex]=\"shellNotificationIndex$ | async\"></ngssm-shell-notification>", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAvc2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAvc2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFRL0MsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGNBQWM7SUFHakUsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUhFLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFLMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDbEcsTUFBTSxLQUFLLEdBQUcsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQzs7NEhBZFUsK0JBQStCO2dIQUEvQiwrQkFBK0IsNkZDYjVDLG9IQUFnSDsyRkRhbkcsK0JBQStCO2tCQU4zQyxTQUFTOytCQUNFLGdDQUFnQyxtQkFHekIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IHNlbGVjdFNoZWxsU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxOb3RpZmljYXRpb25Qb3B1cENvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hlbGxOb3RpZmljYXRpb25JbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oLTEpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykuc2hlbGxOb3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnMpLnN1YnNjcmliZSgobm90aWZpY2F0aW9ucykgPT4ge1xuICAgICAgY29uc3QgaXRlbXMgPSBub3RpZmljYXRpb25zID8/IFtdO1xuICAgICAgdGhpcy5fc2hlbGxOb3RpZmljYXRpb25JbmRleCQubmV4dChpdGVtcy5sZW5ndGggLSAxKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hlbGxOb3RpZmljYXRpb25JbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fc2hlbGxOb3RpZmljYXRpb25JbmRleCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiIsIjxuZ3NzbS1zaGVsbC1ub3RpZmljYXRpb24gW3NoZWxsTm90aWZpY2F0aW9uSW5kZXhdPVwic2hlbGxOb3RpZmljYXRpb25JbmRleCQgfCBhc3luY1wiPjwvbmdzc20tc2hlbGwtbm90aWZpY2F0aW9uPiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
|
+
import { NgSsmComponent } from 'ngssm-store';
|
|
4
|
+
import { NgssmAceEditorMode } from 'ngssm-ace-editor';
|
|
5
|
+
import { selectShellState } from '../../state';
|
|
6
|
+
import { ShellNotificationType } from '../../model';
|
|
7
|
+
import { DisplayNotificationDetailsAction, ShellActionType } from '../../actions';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "ngssm-store";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@angular/material/button";
|
|
12
|
+
import * as i4 from "@angular/material/icon";
|
|
13
|
+
import * as i5 from "@angular/material/card";
|
|
14
|
+
import * as i6 from "@angular/flex-layout/flex";
|
|
15
|
+
import * as i7 from "ngssm-ace-editor";
|
|
16
|
+
import * as i8 from "../shell-notification/shell-notification.component";
|
|
17
|
+
export class ShellNotificationsComponent extends NgSsmComponent {
|
|
18
|
+
constructor(store) {
|
|
19
|
+
super(store);
|
|
20
|
+
this._notificationSelected$ = new BehaviorSubject(false);
|
|
21
|
+
this._notifications$ = new BehaviorSubject([]);
|
|
22
|
+
this._details$ = new BehaviorSubject('');
|
|
23
|
+
this.shellNotificationType = ShellNotificationType;
|
|
24
|
+
this.ngssmAceEditorMode = NgssmAceEditorMode;
|
|
25
|
+
this.watch((s) => selectShellState(s).shellNotifications.notifications).subscribe((values) => this._notifications$.next(values ?? []));
|
|
26
|
+
combineLatest([
|
|
27
|
+
this.watch((s) => selectShellState(s).shellNotifications.notifications),
|
|
28
|
+
this.watch((s) => selectShellState(s).shellNotifications.selectedNotificaitonIndex)
|
|
29
|
+
]).subscribe((values) => {
|
|
30
|
+
const id = values[1] ?? -1;
|
|
31
|
+
this._notificationSelected$.next(id !== -1);
|
|
32
|
+
const details = (values[0] ?? [])[id]?.details;
|
|
33
|
+
if (details) {
|
|
34
|
+
this._details$.next(JSON.stringify(details, null, 2));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this._details$.next('');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
get notificationSelected$() {
|
|
42
|
+
return this._notificationSelected$.asObservable();
|
|
43
|
+
}
|
|
44
|
+
get notifications$() {
|
|
45
|
+
return this._notifications$.asObservable();
|
|
46
|
+
}
|
|
47
|
+
get details$() {
|
|
48
|
+
return this._details$.asObservable();
|
|
49
|
+
}
|
|
50
|
+
closeDetailsPanel() {
|
|
51
|
+
this.dispatchAction(new DisplayNotificationDetailsAction(undefined));
|
|
52
|
+
}
|
|
53
|
+
clearAll() {
|
|
54
|
+
this.dispatchActionType(ShellActionType.clearAllNotifications);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ShellNotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationsComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
ShellNotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ShellNotificationsComponent, selector: "ngssm-shell-notifications", usesInheritance: true, ngImport: i0, template: "<mat-card fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\"\n *ngIf=\"(notificationSelected$ | async) === false; else notificationDetails\">\n <mat-card-title fxLayout=\"row\" fxLayoutAlign=\" center\">\n Notifications\n <span fxFlex></span>\n <button mat-stroked-button color=\"primary\" [disabled]=\"(notifications$ | async)?.length === 0\"\n (click)=\"clearAll()\">\n Clear all\n </button>\n </mat-card-title>\n <mat-card-content fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\" class=\"notifications-container\">\n <ngssm-shell-notification *ngFor=\"let notification of notifications$ | async;let index=index\"\n [shellNotificationIndex]=\"index\" [displayDetailsButton]=\"true\">\n </ngssm-shell-notification>\n </mat-card-content>\n</mat-card>\n\n<ng-template #notificationDetails>\n <mat-card fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\">\n <mat-card-title fxLayout=\"row\" fxLayoutAlign=\" center\">\n Notification details\n <span fxFlex></span>\n <button mat-icon-button (click)=\"closeDetailsPanel()\">\n <mat-icon class=\"fa-solid fa-rectangle-xmark\"></mat-icon>\n </button>\n </mat-card-title>\n <ngssm-ace-editor fxFlex [readonly]=\"true\" [content]=\"(details$ | async) ?? ''\"\n [editorMode]=\"ngssmAceEditorMode.json\">\n </ngssm-ace-editor>\n </mat-card>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;padding:8px;min-width:400px;max-width:400px}:host .notifications-container{overflow:auto}:host ngssm-shell-notification{margin:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i5.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i7.AceEditorComponent, selector: "ngssm-ace-editor", inputs: ["content", "readonly", "editorMode"], outputs: ["contentChanged", "isValidChanged", "editorReady"] }, { kind: "component", type: i8.ShellNotificationComponent, selector: "ngssm-shell-notification", inputs: ["displayDetailsButton", "shellNotificationIndex"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ShellNotificationsComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'ngssm-shell-notifications', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\"\n *ngIf=\"(notificationSelected$ | async) === false; else notificationDetails\">\n <mat-card-title fxLayout=\"row\" fxLayoutAlign=\" center\">\n Notifications\n <span fxFlex></span>\n <button mat-stroked-button color=\"primary\" [disabled]=\"(notifications$ | async)?.length === 0\"\n (click)=\"clearAll()\">\n Clear all\n </button>\n </mat-card-title>\n <mat-card-content fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\" class=\"notifications-container\">\n <ngssm-shell-notification *ngFor=\"let notification of notifications$ | async;let index=index\"\n [shellNotificationIndex]=\"index\" [displayDetailsButton]=\"true\">\n </ngssm-shell-notification>\n </mat-card-content>\n</mat-card>\n\n<ng-template #notificationDetails>\n <mat-card fxFlex fxLayout=\"column\" fxLayoutAlign=\" stretch\">\n <mat-card-title fxLayout=\"row\" fxLayoutAlign=\" center\">\n Notification details\n <span fxFlex></span>\n <button mat-icon-button (click)=\"closeDetailsPanel()\">\n <mat-icon class=\"fa-solid fa-rectangle-xmark\"></mat-icon>\n </button>\n </mat-card-title>\n <ngssm-ace-editor fxFlex [readonly]=\"true\" [content]=\"(details$ | async) ?? ''\"\n [editorMode]=\"ngssmAceEditorMode.json\">\n </ngssm-ace-editor>\n </mat-card>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;padding:8px;min-width:400px;max-width:400px}:host .notifications-container{overflow:auto}:host ngssm-shell-notification{margin:4px}\n"] }]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2NvbXBvbmVudHMvc2hlbGwtbm90aWZpY2F0aW9ucy9zaGVsbC1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb25zL3NoZWxsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFRbEYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGNBQWM7SUFRN0QsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVJFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdELG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUU3QywwQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztRQUM5Qyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUt0RCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXZJLGFBQWEsQ0FBQztZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztZQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztTQUNwRixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO1lBQy9DLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksZ0NBQWdDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqRSxDQUFDOzt3SEE5Q1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd0ZDaEJ4Qyw4OUNBOEJjOzJGRGRELDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21BY2VFZGl0b3JNb2RlIH0gZnJvbSAnbmdzc20tYWNlLWVkaXRvcic7XG5cbmltcG9ydCB7IHNlbGVjdFNoZWxsU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5pbXBvcnQgeyBTaGVsbE5vdGlmaWNhdGlvbiwgU2hlbGxOb3RpZmljYXRpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgRGlzcGxheU5vdGlmaWNhdGlvbkRldGFpbHNBY3Rpb24sIFNoZWxsQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaGVsbC1ub3RpZmljYXRpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGVsbC1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsTm90aWZpY2F0aW9uc0NvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm90aWZpY2F0aW9uU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGVsbE5vdGlmaWNhdGlvbltdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RldGFpbHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2hlbGxOb3RpZmljYXRpb25UeXBlID0gU2hlbGxOb3RpZmljYXRpb25UeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgbmdzc21BY2VFZGl0b3JNb2RlID0gTmdzc21BY2VFZGl0b3JNb2RlO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykuc2hlbGxOb3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnMpLnN1YnNjcmliZSgodmFsdWVzKSA9PiB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KHZhbHVlcyA/PyBbXSkpO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3RTaGVsbFN0YXRlKHMpLnNoZWxsTm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zKSxcbiAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykuc2hlbGxOb3RpZmljYXRpb25zLnNlbGVjdGVkTm90aWZpY2FpdG9uSW5kZXgpXG4gICAgXSkuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gdmFsdWVzWzFdID8/IC0xO1xuICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VsZWN0ZWQkLm5leHQoaWQgIT09IC0xKTtcbiAgICAgIGNvbnN0IGRldGFpbHMgPSAodmFsdWVzWzBdID8/IFtdKVtpZF0/LmRldGFpbHM7XG4gICAgICBpZiAoZGV0YWlscykge1xuICAgICAgICB0aGlzLl9kZXRhaWxzJC5uZXh0KEpTT04uc3RyaW5naWZ5KGRldGFpbHMsIG51bGwsIDIpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2RldGFpbHMkLm5leHQoJycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBub3RpZmljYXRpb25TZWxlY3RlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvblNlbGVjdGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm90aWZpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTxTaGVsbE5vdGlmaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXRhaWxzJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9kZXRhaWxzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZURldGFpbHNQYW5lbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBEaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlsc0FjdGlvbih1bmRlZmluZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uVHlwZShTaGVsbEFjdGlvblR5cGUuY2xlYXJBbGxOb3RpZmljYXRpb25zKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCIgc3RyZXRjaFwiXG4gICAgKm5nSWY9XCIobm90aWZpY2F0aW9uU2VsZWN0ZWQkIHwgYXN5bmMpID09PSBmYWxzZTsgZWxzZSBub3RpZmljYXRpb25EZXRhaWxzXCI+XG4gICAgPG1hdC1jYXJkLXRpdGxlIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIj5cbiAgICAgICAgTm90aWZpY2F0aW9uc1xuICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiKG5vdGlmaWNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIj5cbiAgICAgICAgICAgIENsZWFyIGFsbFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgIDxtYXQtY2FyZC1jb250ZW50IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCIgc3RyZXRjaFwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1jb250YWluZXJcIj5cbiAgICAgICAgPG5nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnMkIHwgYXN5bmM7bGV0IGluZGV4PWluZGV4XCJcbiAgICAgICAgICAgIFtzaGVsbE5vdGlmaWNhdGlvbkluZGV4XT1cImluZGV4XCIgW2Rpc3BsYXlEZXRhaWxzQnV0dG9uXT1cInRydWVcIj5cbiAgICAgICAgPC9uZ3NzbS1zaGVsbC1ub3RpZmljYXRpb24+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNub3RpZmljYXRpb25EZXRhaWxzPlxuICAgIDxtYXQtY2FyZCBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiIHN0cmV0Y2hcIj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIj5cbiAgICAgICAgICAgIE5vdGlmaWNhdGlvbiBkZXRhaWxzXG4gICAgICAgICAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlRGV0YWlsc1BhbmVsKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1yZWN0YW5nbGUteG1hcmtcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxuZ3NzbS1hY2UtZWRpdG9yIGZ4RmxleCBbcmVhZG9ubHldPVwidHJ1ZVwiIFtjb250ZW50XT1cIihkZXRhaWxzJCB8IGFzeW5jKSA/PyAnJ1wiXG4gICAgICAgICAgICBbZWRpdG9yTW9kZV09XCJuZ3NzbUFjZUVkaXRvck1vZGUuanNvblwiPlxuICAgICAgICA8L25nc3NtLWFjZS1lZGl0b3I+XG4gICAgPC9tYXQtY2FyZD5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -22,15 +22,15 @@ export class SideNavComponent extends NgSsmComponent {
|
|
|
22
22
|
return this._sidenavConfig$.asObservable();
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
SideNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
26
|
-
SideNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
25
|
+
SideNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SideNavComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
SideNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: SideNavComponent, selector: "ngssm-side-nav", inputs: { config: "config" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<mat-nav-list class=\"ngssm-sidenav-main-container\" *ngIf=\"(sidenavConfig$ | async) as config\">\n <div mat-header *ngIf=\"config.title\">{{config.title}}</div>\n <mat-divider *ngIf=\"config.title\"></mat-divider>\n <ng-container *ngFor=\"let section of config.sections;let last = last;\" class=\"ngssm-sidenav-section-container\">\n <mat-list-item mat-subheader class=\"ngssm-sidenav-section-item-container\">\n <div *ngIf=\"!section.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"section.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:section.linkActiveOnlyIfExact === true}\" *ngIf=\"section.route\"\n class=\"ngssm-sidenav-section-item\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex>\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n </a>\n </mat-list-item>\n <mat-list-item *ngFor=\"let item of section.items\" class=\"ngssm-sidenav-item-container\">\n <div *ngIf=\"!item.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"item.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:item.linkActiveOnlyIfExact === true}\" *ngIf=\"item.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n </a>\n </mat-list-item>\n\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n</mat-nav-list>", dependencies: [{ kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i6.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i7.WrapperComponent, selector: "ngssm-wrapper", inputs: ["item"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SideNavComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ selector: 'ngssm-side-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-nav-list class=\"ngssm-sidenav-main-container\" *ngIf=\"(sidenavConfig$ | async) as config\">\n <div mat-header *ngIf=\"config.title\">{{config.title}}</div>\n <mat-divider *ngIf=\"config.title\"></mat-divider>\n <ng-container *ngFor=\"let section of config.sections;let last = last;\" class=\"ngssm-sidenav-section-container\">\n <mat-list-item mat-subheader class=\"ngssm-sidenav-section-item-container\">\n <div *ngIf=\"!section.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"section.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:
|
|
29
|
+
args: [{ selector: 'ngssm-side-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-nav-list class=\"ngssm-sidenav-main-container\" *ngIf=\"(sidenavConfig$ | async) as config\">\n <div mat-header *ngIf=\"config.title\">{{config.title}}</div>\n <mat-divider *ngIf=\"config.title\"></mat-divider>\n <ng-container *ngFor=\"let section of config.sections;let last = last;\" class=\"ngssm-sidenav-section-container\">\n <mat-list-item mat-subheader class=\"ngssm-sidenav-section-item-container\">\n <div *ngIf=\"!section.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"section.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:section.linkActiveOnlyIfExact === true}\" *ngIf=\"section.route\"\n class=\"ngssm-sidenav-section-item\">\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex>\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n </a>\n </mat-list-item>\n <mat-list-item *ngFor=\"let item of section.items\" class=\"ngssm-sidenav-item-container\">\n <div *ngIf=\"!item.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"item.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:item.linkActiveOnlyIfExact === true}\" *ngIf=\"item.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n </a>\n </mat-list-item>\n\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n</mat-nav-list>" }]
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { class: [{
|
|
31
31
|
type: HostBinding,
|
|
32
32
|
args: ['class']
|
|
33
33
|
}], config: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFTcEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFLbEQsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUxFLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLFNBQVMsQ0FBQyxDQUFDO1FBRXZFLFVBQUssR0FBRyxlQUFlLENBQUM7SUFJOUMsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUFnQztRQUN6RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzs2R0FmVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiw0SkNaN0Isa2pGQXlDZTsyRkQ3QkYsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGdCQUFnQixtQkFFVCx1QkFBdUIsQ0FBQyxNQUFNOzRGQUt6QixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBTUEsTUFBTTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgU2lkZW5hdkNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tc2lkZS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTmF2Q29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zaWRlbmF2Q29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2lkZW5hdkNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnbmdzc20tc2lkZW5hdic7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBjb25maWcodmFsdWU6IFNpZGVuYXZDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zaWRlbmF2Q29uZmlnJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2lkZW5hdkNvbmZpZyQoKTogT2JzZXJ2YWJsZTxTaWRlbmF2Q29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NpZGVuYXZDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iLCI8bWF0LW5hdi1saXN0IGNsYXNzPVwibmdzc20tc2lkZW5hdi1tYWluLWNvbnRhaW5lclwiICpuZ0lmPVwiKHNpZGVuYXZDb25maWckIHwgYXN5bmMpIGFzIGNvbmZpZ1wiPlxuICAgIDxkaXYgbWF0LWhlYWRlciAqbmdJZj1cImNvbmZpZy50aXRsZVwiPnt7Y29uZmlnLnRpdGxlfX08L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJjb25maWcudGl0bGVcIj48L21hdC1kaXZpZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgY29uZmlnLnNlY3Rpb25zO2xldCBsYXN0ID0gbGFzdDtcIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtc2VjdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gbWF0LXN1YmhlYWRlciBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtc2VjdGlvbi1pdGVtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzZWN0aW9uLnJvdXRlXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LXNlY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VjdGlvbi5pY29uXCIgW2lubmVySFRNTF09XCJzZWN0aW9uLmljb25cIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtaXRlbS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIHt7c2VjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgICAgPG5nc3NtLXdyYXBwZXIgKm5nSWY9XCJzZWN0aW9uLmNvbXBvbmVudFwiIFtpdGVtXT1cInNlY3Rpb24uY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cInNlY3Rpb24ucm91dGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwibmdzc20tc2lkZW5hdi1hY3RpdmUtbGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDpzZWN0aW9uLmxpbmtBY3RpdmVPbmx5SWZFeGFjdCA9PT0gdHJ1ZX1cIiAqbmdJZj1cInNlY3Rpb24ucm91dGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tc2lkZW5hdi1zZWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXg+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VjdGlvbi5pY29uXCIgW2lubmVySFRNTF09XCJzZWN0aW9uLmljb25cIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtaXRlbS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICA8bmdzc20td3JhcHBlciAqbmdJZj1cInNlY3Rpb24uY29tcG9uZW50XCIgW2l0ZW1dPVwic2VjdGlvbi5jb21wb25lbnRcIj48L25nc3NtLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VjdGlvbi5pdGVtc1wiIGNsYXNzPVwibmdzc20tc2lkZW5hdi1pdGVtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFpdGVtLnJvdXRlXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LXNlY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5pY29uXCIgW2lubmVySFRNTF09XCJpdGVtLmljb25cIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtaXRlbS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIHt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgICAgPG5nc3NtLXdyYXBwZXIgKm5nSWY9XCJpdGVtLmNvbXBvbmVudFwiIFtpdGVtXT1cIml0ZW0uY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwibmdzc20tc2lkZW5hdi1hY3RpdmUtbGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDppdGVtLmxpbmtBY3RpdmVPbmx5SWZFeGFjdCA9PT0gdHJ1ZX1cIiAqbmdJZj1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tc2lkZW5hdi1zZWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uaWNvblwiIFtpbm5lckhUTUxdPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LWl0ZW0taWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgPG5nc3NtLXdyYXBwZXIgKm5nSWY9XCJpdGVtLmNvbXBvbmVudFwiIFtpdGVtXT1cIml0ZW0uY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG5cbiAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiIWxhc3RcIj48L21hdC1kaXZpZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9tYXQtbmF2LWxpc3Q+Il19
|
|
@@ -23,9 +23,9 @@ export class WrapperComponent extends NgSsmComponent {
|
|
|
23
23
|
return this._innerHtml$.asObservable();
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
WrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
27
|
-
WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
26
|
+
WrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: WrapperComponent, deps: [{ token: i1.Store }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: WrapperComponent, selector: "ngssm-wrapper", inputs: { item: "item" }, usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"(innerHtml$ | async) as innerHtml\" [innerHTML]=\"innerHtml\"></span>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: WrapperComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
30
|
args: [{ selector: 'ngssm-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span *ngIf=\"(innerHtml$ | async) as innerHtml\" [innerHTML]=\"innerHtml\"></span>" }]
|
|
31
31
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ViewContainerRef }]; }, propDecorators: { item: [{
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NGSSM_EFFECT } from 'ngssm-store';
|
|
3
|
+
import { ShellActionType } from '../actions';
|
|
4
|
+
import { ShellNotificationPopupComponent } from '../components';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
7
|
+
export class NotificationShowingEffect {
|
|
8
|
+
constructor(snackBar) {
|
|
9
|
+
this.snackBar = snackBar;
|
|
10
|
+
this.processedActions = [ShellActionType.displayNotification];
|
|
11
|
+
}
|
|
12
|
+
processAction(store, state, action) {
|
|
13
|
+
this.snackBar.openFromComponent(ShellNotificationPopupComponent, {
|
|
14
|
+
panelClass: 'ngssm-shell-notification-snack-panel',
|
|
15
|
+
duration: 1000,
|
|
16
|
+
horizontalPosition: 'center',
|
|
17
|
+
verticalPosition: 'top'
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
NotificationShowingEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NotificationShowingEffect, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
NotificationShowingEffect.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NotificationShowingEffect });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NotificationShowingEffect, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
26
|
+
export const notificationShowingEffectProvider = {
|
|
27
|
+
provide: NGSSM_EFFECT,
|
|
28
|
+
useClass: NotificationShowingEffect,
|
|
29
|
+
multi: true
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNob3dpbmcuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9lZmZlY3RzL25vdGlmaWNhdGlvbi1zaG93aW5nLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3JELE9BQU8sRUFBZ0MsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEUsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBRnpCLHFCQUFnQixHQUFhLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFdkMsQ0FBQztJQUV0QyxhQUFhLENBQUMsS0FBWSxFQUFFLEtBQVksRUFBRSxNQUFjO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLEVBQUU7WUFDL0QsVUFBVSxFQUFFLHNDQUFzQztZQUNsRCxRQUFRLEVBQUUsSUFBSTtZQUNkLGtCQUFrQixFQUFFLFFBQVE7WUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFaVSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOztBQWdCWCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBYTtJQUN6RCxPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUseUJBQXlCO0lBQ25DLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmltcG9ydCB7IEVmZmVjdCwgU3RvcmUsIFN0YXRlLCBBY3Rpb24sIE5HU1NNX0VGRkVDVCB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgU2hlbGxBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBTaGVsbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TaG93aW5nRWZmZWN0IGltcGxlbWVudHMgRWZmZWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW1NoZWxsQWN0aW9uVHlwZS5kaXNwbGF5Tm90aWZpY2F0aW9uXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge31cblxuICBwdWJsaWMgcHJvY2Vzc0FjdGlvbihzdG9yZTogU3RvcmUsIHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFNoZWxsTm90aWZpY2F0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHBhbmVsQ2xhc3M6ICduZ3NzbS1zaGVsbC1ub3RpZmljYXRpb24tc25hY2stcGFuZWwnLFxuICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgdmVydGljYWxQb3NpdGlvbjogJ3RvcCdcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgbm90aWZpY2F0aW9uU2hvd2luZ0VmZmVjdFByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdTU01fRUZGRUNULFxuICB1c2VDbGFzczogTm90aWZpY2F0aW9uU2hvd2luZ0VmZmVjdCxcbiAgbXVsdGk6IHRydWVcbn07XG4iXX0=
|
|
@@ -2,4 +2,6 @@ export * from './shell-config';
|
|
|
2
2
|
export * from './sidenav-config';
|
|
3
3
|
export * from './sidenav-item';
|
|
4
4
|
export * from './sidenav-section';
|
|
5
|
-
|
|
5
|
+
export * from './shell-notification';
|
|
6
|
+
export * from './shell-notification-type';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGVsbC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlbmF2LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3NpZGVuYXYtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZGVuYXYtc2VjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsLW5vdGlmaWNhdGlvbi10eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var ShellNotificationType;
|
|
2
|
+
(function (ShellNotificationType) {
|
|
3
|
+
ShellNotificationType["success"] = "Success";
|
|
4
|
+
ShellNotificationType["error"] = "Error";
|
|
5
|
+
})(ShellNotificationType || (ShellNotificationType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL3NoZWxsLW5vdGlmaWNhdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNoZWxsTm90aWZpY2F0aW9uVHlwZSB7XG4gIHN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIGVycm9yID0gJ0Vycm9yJ1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaGVsbC1ub3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4vc2hlbGwtbm90aWZpY2F0aW9uLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoZWxsTm90aWZpY2F0aW9uIHtcbiAgdHlwZTogU2hlbGxOb3RpZmljYXRpb25UeXBlO1xuICB0aXRsZTogc3RyaW5nO1xuICB0aW1lc3RhbXA6IERhdGU7XG4gIGRldGFpbHM/OiBhbnk7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaWRlbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkl0ZW0ge1xuICAvKiogTGFiZWwgZGlzcGxheWVkIGluIHRoZSB7QGxpbmsgU2lkZU5hdkNvbXBvbmVudH0gZm9yIHRoZSBzZWN0aW9uIG9yIHRoZSBsaW5rICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIEh0bWwgY29kZSBmb3IgdGhlIGljb24gdG8gZGlzcGxheSBiZWZvcmUgdGhlIGxhYmVsICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqIFJvdXRlciBsaW5rIGFzc29jaWF0ZWQgdG8gdGhlIGl0ZW0gKi9cbiAgcm91dGU/OiBzdHJpbmc7XG5cbiAgLyoqIEFuZ3VsYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgYXQgdGhlIHJpZ2h0IG9mIHRoZSBsYWJlbCAqL1xuICBjb21wb25lbnQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaWRlbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkl0ZW0ge1xuICAvKiogTGFiZWwgZGlzcGxheWVkIGluIHRoZSB7QGxpbmsgU2lkZU5hdkNvbXBvbmVudH0gZm9yIHRoZSBzZWN0aW9uIG9yIHRoZSBsaW5rICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIEh0bWwgY29kZSBmb3IgdGhlIGljb24gdG8gZGlzcGxheSBiZWZvcmUgdGhlIGxhYmVsICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqIFJvdXRlciBsaW5rIGFzc29jaWF0ZWQgdG8gdGhlIGl0ZW0gKi9cbiAgcm91dGU/OiBzdHJpbmc7XG5cbiAgLyoqIEFuZ3VsYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgYXQgdGhlIHJpZ2h0IG9mIHRoZSBsYWJlbCAqL1xuICBjb21wb25lbnQ/OiBhbnk7XG5cbiAgLyoqIElmIHRydWUgdGhlIGxpbmsgaXMgY29uc2lkZXJlZCBhY3RpdmUgb25seSBpZiB0aGUgY3VycmVudCByb3V0ZSBpcyBlcXVhbCB0byB0aGUgaXRlbSByb3V0ZSAqL1xuICBsaW5rQWN0aXZlT25seUlmRXhhY3Q/OiBib29sZWFuO1xufVxuIl19
|