@cccteam/ccc-lib 0.0.10 → 0.0.11

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.
@@ -1,63 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, DestroyRef, inject, Input } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatExpansionModule } from '@angular/material/expansion';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatSidenavModule } from '@angular/material/sidenav';
8
- import { RouterModule } from '@angular/router';
9
- import { Store } from '@ngxs/store';
10
- import { tap } from 'rxjs';
11
- import { HasPermissionDirective } from '../../../auth/directives/has-permission.directive';
12
- import { CoreState } from '../../state/core.state';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/material/icon";
15
- import * as i2 from "@angular/router";
16
- import * as i3 from "@angular/common";
17
- export class SidenavComponent {
18
- store = inject(Store);
19
- destroyRef = inject(DestroyRef);
20
- navGroups;
21
- currentNav = [];
22
- ngOnInit() {
23
- this.store
24
- .select(CoreState.currentSidenavIdentifier)
25
- .pipe(tap((identifier) => {
26
- this.currentNav = this.updateNavItems(identifier);
27
- }), takeUntilDestroyed(this.destroyRef))
28
- .subscribe();
29
- }
30
- /**
31
- * Updates the currentNav based on the identifier
32
- * @param identifier
33
- * @returns NavItem[]
34
- * @memberof SidenavComponent
35
- */
36
- updateNavItems(identifier) {
37
- if (!this.navGroups) {
38
- return [];
39
- }
40
- if (!this.navGroups[identifier]) {
41
- // pick the first one if the identifier is not found so we don't break the UI
42
- identifier = Object.keys(this.navGroups)[0];
43
- }
44
- return this.navGroups[identifier];
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SidenavComponent, isStandalone: true, selector: "ccc-sidenav", inputs: { navGroups: "navGroups" }, ngImport: i0, template: "<div class=\"nav-container\">\n <nav>\n @for (navItem of currentNav; track navItem.label) {\n <ng-container *ngTemplateOutlet=\"typeRendererTemplate; context: { navItem: navItem }\"></ng-container>\n }\n </nav>\n</div>\n<ng-template #typeRendererTemplate let-navItem=\"navItem\">\n @switch (navItem.type) {\n @case ('header') {\n <ng-container [ngTemplateOutlet]=\"headerTemplate\" [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n @case ('link') {\n <ng-container [ngTemplateOutlet]=\"linkTemplate\" [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n @case ('expandable') {\n <ng-container\n [ngTemplateOutlet]=\"expandableTemplate\"\n [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n }\n</ng-template>\n<ng-template #headerTemplate let-navItem=\"navItem\">\n <div class=\"link-header\">{{ navItem.label }}</div>\n</ng-template>\n<ng-template #linkTemplate let-navItem=\"navItem\">\n <a [routerLink]=\"navItem.routerLink\" *cccHasPermission=\"navItem.permission\">\n <div class=\"nav-item\" routerLinkActive=\"active-link\">\n <div class=\"link-button\">\n <div class=\"icon\">\n <mat-icon class=\"material-icons-outlined\" [inline]=\"true\">\n {{ navItem.icon }}\n </mat-icon>\n </div>\n <div class=\"text\">\n {{ navItem.label | titlecase }}\n </div>\n </div>\n </div>\n </a>\n</ng-template>\n<ng-template #expandableTemplate let-navItem=\"navItem\">\n <div class=\"nav-item\" aria-hidden=\"true\" (click)=\"navItem.isExpanded = !navItem.isExpanded\">\n <div class=\"link-button\">\n <div class=\"icon\">\n <mat-icon class=\"material-icons-outlined\" [inline]=\"true\">\n {{ navItem.isExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n <div class=\"text\">{{ navItem.label }}</div>\n </div>\n </div>\n @if (navItem.isExpanded) {\n <div class=\"expandable-links\">\n @for (navItemChild of navItem.children; track navItemChild) {\n <ng-container *ngTemplateOutlet=\"typeRendererTemplate; context: { navItem: navItemChild }\"> </ng-container>\n }\n </div>\n }\n</ng-template>\n", styles: [".nav-container{padding:0;height:100%}nav{max-width:100%;margin:0 10px}.nav-item{width:100%;height:48px;font-size:18px;display:flex;flex-direction:column;justify-content:center;color:#003b49;padding:0 15px;position:relative}.nav-item:hover{background-color:#0000000a;transition:background-color .1s ease}.nav-item:active{background-color:#0000001a;transition:background-color .1s ease}.link-header{color:#003b49;text-transform:uppercase;font-weight:700;font-size:12px;margin:20px 0 0 5px}.link-button{display:flex;flex-direction:row;width:100%}.link-button .icon{min-width:20px;margin-right:10px;display:flex;flex-direction:column;justify-content:center}.link-button .text{margin-right:10px;text-align:left;display:flex;flex-direction:row;justify-content:left;text-decoration:capitalize}.expandable-links{display:flex;flex-direction:column;width:100%;padding-left:30px}a:active,a:link,a:visited{color:#003b49!important}a{text-decoration:none}.active-link:before{content:\"\";position:absolute;left:3px;width:5px;height:38px;background-color:#003b49}.active-link{background-color:#0000000a;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "directive", type: HasPermissionDirective, selector: "[cccHasPermission]", inputs: ["cccHasPermission"] }] });
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SidenavComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'ccc-sidenav', standalone: true, imports: [
52
- MatIconModule,
53
- RouterModule,
54
- CommonModule,
55
- MatExpansionModule,
56
- MatButtonModule,
57
- MatSidenavModule,
58
- HasPermissionDirective,
59
- ], template: "<div class=\"nav-container\">\n <nav>\n @for (navItem of currentNav; track navItem.label) {\n <ng-container *ngTemplateOutlet=\"typeRendererTemplate; context: { navItem: navItem }\"></ng-container>\n }\n </nav>\n</div>\n<ng-template #typeRendererTemplate let-navItem=\"navItem\">\n @switch (navItem.type) {\n @case ('header') {\n <ng-container [ngTemplateOutlet]=\"headerTemplate\" [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n @case ('link') {\n <ng-container [ngTemplateOutlet]=\"linkTemplate\" [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n @case ('expandable') {\n <ng-container\n [ngTemplateOutlet]=\"expandableTemplate\"\n [ngTemplateOutletContext]=\"{ navItem: navItem }\"></ng-container>\n }\n }\n</ng-template>\n<ng-template #headerTemplate let-navItem=\"navItem\">\n <div class=\"link-header\">{{ navItem.label }}</div>\n</ng-template>\n<ng-template #linkTemplate let-navItem=\"navItem\">\n <a [routerLink]=\"navItem.routerLink\" *cccHasPermission=\"navItem.permission\">\n <div class=\"nav-item\" routerLinkActive=\"active-link\">\n <div class=\"link-button\">\n <div class=\"icon\">\n <mat-icon class=\"material-icons-outlined\" [inline]=\"true\">\n {{ navItem.icon }}\n </mat-icon>\n </div>\n <div class=\"text\">\n {{ navItem.label | titlecase }}\n </div>\n </div>\n </div>\n </a>\n</ng-template>\n<ng-template #expandableTemplate let-navItem=\"navItem\">\n <div class=\"nav-item\" aria-hidden=\"true\" (click)=\"navItem.isExpanded = !navItem.isExpanded\">\n <div class=\"link-button\">\n <div class=\"icon\">\n <mat-icon class=\"material-icons-outlined\" [inline]=\"true\">\n {{ navItem.isExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </div>\n <div class=\"text\">{{ navItem.label }}</div>\n </div>\n </div>\n @if (navItem.isExpanded) {\n <div class=\"expandable-links\">\n @for (navItemChild of navItem.children; track navItemChild) {\n <ng-container *ngTemplateOutlet=\"typeRendererTemplate; context: { navItem: navItemChild }\"> </ng-container>\n }\n </div>\n }\n</ng-template>\n", styles: [".nav-container{padding:0;height:100%}nav{max-width:100%;margin:0 10px}.nav-item{width:100%;height:48px;font-size:18px;display:flex;flex-direction:column;justify-content:center;color:#003b49;padding:0 15px;position:relative}.nav-item:hover{background-color:#0000000a;transition:background-color .1s ease}.nav-item:active{background-color:#0000001a;transition:background-color .1s ease}.link-header{color:#003b49;text-transform:uppercase;font-weight:700;font-size:12px;margin:20px 0 0 5px}.link-button{display:flex;flex-direction:row;width:100%}.link-button .icon{min-width:20px;margin-right:10px;display:flex;flex-direction:column;justify-content:center}.link-button .text{margin-right:10px;text-align:left;display:flex;flex-direction:row;justify-content:left;text-decoration:capitalize}.expandable-links{display:flex;flex-direction:column;width:100%;padding-left:30px}a:active,a:link,a:visited{color:#003b49!important}a{text-decoration:none}.active-link:before{content:\"\";position:absolute;left:3px;width:5px;height:38px;background-color:#003b49}.active-link{background-color:#0000000a;position:relative}\n"] }]
60
- }], propDecorators: { navGroups: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2MtbGliL3NyYy9saWIvdWkvY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NjLWxpYi9zcmMvbGliL3VpL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBOEJuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQixTQUFTLENBQWE7SUFDL0IsVUFBVSxHQUFjLEVBQUUsQ0FBQztJQUUzQixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUs7YUFDUCxNQUFNLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDO2FBQzFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLEVBQ0Ysa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxVQUFrQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsNkVBQTZFO1lBQzdFLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7dUdBbENVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLDJHQzNDN0IsNHVFQTREQSw2b0NEMUJJLGFBQWEsbUxBQ2IsWUFBWSxnZkFDWixZQUFZLGtRQUNaLGtCQUFrQiw4QkFDbEIsZUFBZSw4QkFDZixnQkFBZ0IsK0JBQ2hCLHNCQUFzQjs7MkZBR2IsZ0JBQWdCO2tCQWY1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3FCQUN2Qjs4QkFNUSxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIYXNQZXJtaXNzaW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aC9kaXJlY3RpdmVzL2hhcy1wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2NvcGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBDb3JlU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9jb3JlLnN0YXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZJdGVtIHtcbiAgdHlwZTogJ2xpbmsnIHwgJ2hlYWRlcicgfCAnZXhwYW5kYWJsZSc7XG4gIHJvdXRlckxpbms/OiBzdHJpbmdbXTtcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgcGVybWlzc2lvbj86IFBlcm1pc3Npb25TY29wZTtcbiAgY2hpbGRyZW4/OiBOYXZJdGVtW107XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBhdHRlbnRpb25Db3VudD86IE9ic2VydmFibGU8bnVtYmVyPjtcbn1cblxuZXhwb3J0IHR5cGUgTmF2R3JvdXBzID0gUmVjb3JkPHN0cmluZywgTmF2SXRlbVtdPjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NjLXNpZGVuYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgSGFzUGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZW5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpO1xuICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgQElucHV0KCkgbmF2R3JvdXBzPzogTmF2R3JvdXBzO1xuICBjdXJyZW50TmF2OiBOYXZJdGVtW10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvcmVTdGF0ZS5jdXJyZW50U2lkZW5hdklkZW50aWZpZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChpZGVudGlmaWVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50TmF2ID0gdGhpcy51cGRhdGVOYXZJdGVtcyhpZGVudGlmaWVyKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnROYXYgYmFzZWQgb24gdGhlIGlkZW50aWZpZXJcbiAgICogQHBhcmFtIGlkZW50aWZpZXJcbiAgICogQHJldHVybnMgTmF2SXRlbVtdXG4gICAqIEBtZW1iZXJvZiBTaWRlbmF2Q29tcG9uZW50XG4gICAqL1xuICB1cGRhdGVOYXZJdGVtcyhpZGVudGlmaWVyOiBzdHJpbmcpOiBOYXZJdGVtW10ge1xuICAgIGlmICghdGhpcy5uYXZHcm91cHMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm5hdkdyb3Vwc1tpZGVudGlmaWVyXSkge1xuICAgICAgLy8gcGljayB0aGUgZmlyc3Qgb25lIGlmIHRoZSBpZGVudGlmaWVyIGlzIG5vdCBmb3VuZCBzbyB3ZSBkb24ndCBicmVhayB0aGUgVUlcbiAgICAgIGlkZW50aWZpZXIgPSBPYmplY3Qua2V5cyh0aGlzLm5hdkdyb3VwcylbMF07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hdkdyb3Vwc1tpZGVudGlmaWVyXTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5hdi1jb250YWluZXJcIj5cbiAgPG5hdj5cbiAgICBAZm9yIChuYXZJdGVtIG9mIGN1cnJlbnROYXY7IHRyYWNrIG5hdkl0ZW0ubGFiZWwpIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0eXBlUmVuZGVyZXJUZW1wbGF0ZTsgY29udGV4dDogeyBuYXZJdGVtOiBuYXZJdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvbmF2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3R5cGVSZW5kZXJlclRlbXBsYXRlIGxldC1uYXZJdGVtPVwibmF2SXRlbVwiPlxuICBAc3dpdGNoIChuYXZJdGVtLnR5cGUpIHtcbiAgICBAY2FzZSAoJ2hlYWRlcicpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBuYXZJdGVtOiBuYXZJdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGNhc2UgKCdsaW5rJykge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBuYXZJdGVtOiBuYXZJdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGNhc2UgKCdleHBhbmRhYmxlJykge1xuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJleHBhbmRhYmxlVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBuYXZJdGVtOiBuYXZJdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlIGxldC1uYXZJdGVtPVwibmF2SXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwibGluay1oZWFkZXJcIj57eyBuYXZJdGVtLmxhYmVsIH19PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNsaW5rVGVtcGxhdGUgbGV0LW5hdkl0ZW09XCJuYXZJdGVtXCI+XG4gIDxhIFtyb3V0ZXJMaW5rXT1cIm5hdkl0ZW0ucm91dGVyTGlua1wiICpjY2NIYXNQZXJtaXNzaW9uPVwibmF2SXRlbS5wZXJtaXNzaW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZS1saW5rXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGluay1idXR0b25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiIFtpbmxpbmVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAge3sgbmF2SXRlbS5pY29uIH19XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgICAge3sgbmF2SXRlbS5sYWJlbCB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2E+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNleHBhbmRhYmxlVGVtcGxhdGUgbGV0LW5hdkl0ZW09XCJuYXZJdGVtXCI+XG4gIDxkaXYgY2xhc3M9XCJuYXYtaXRlbVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIChjbGljayk9XCJuYXZJdGVtLmlzRXhwYW5kZWQgPSAhbmF2SXRlbS5pc0V4cGFuZGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImxpbmstYnV0dG9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiIFtpbmxpbmVdPVwidHJ1ZVwiPlxuICAgICAgICAgIHt7IG5hdkl0ZW0uaXNFeHBhbmRlZCA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3sgbmF2SXRlbS5sYWJlbCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChuYXZJdGVtLmlzRXhwYW5kZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXhwYW5kYWJsZS1saW5rc1wiPlxuICAgICAgQGZvciAobmF2SXRlbUNoaWxkIG9mIG5hdkl0ZW0uY2hpbGRyZW47IHRyYWNrIG5hdkl0ZW1DaGlsZCkge1xuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHlwZVJlbmRlcmVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgbmF2SXRlbTogbmF2SXRlbUNoaWxkIH1cIj4gPC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,43 +0,0 @@
1
- import { inject, Injectable, NgZone } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { Store } from '@ngxs/store';
4
- import { catchError, finalize, throwError } from 'rxjs';
5
- import { CUSTOM_HTTP_REQUEST_OPTIONS } from '../../auth/services/request-options';
6
- import { BASE_URL } from '../../types/base/tokens';
7
- import { AlertLevel } from '../../types/notification-message';
8
- import { ApiInterceptorAction } from '../state/core.actions';
9
- import * as i0 from "@angular/core";
10
- export class ApiInterceptor {
11
- store = inject(Store);
12
- router = inject(Router);
13
- ngZone = inject(NgZone);
14
- baseUrl = inject(BASE_URL);
15
- intercept(request, next) {
16
- this.store.dispatch(new ApiInterceptorAction.BeginActivity(request.method + ' ' + request.url));
17
- return next.handle(request).pipe(catchError((error) => {
18
- if (error.status === 401) {
19
- this.ngZone.run(() => {
20
- this.store.dispatch(new ApiInterceptorAction.SetRedirectUrl(this.baseUrl + this.router.url));
21
- this.router.navigate(['/login']);
22
- });
23
- }
24
- if (!request.context.get(CUSTOM_HTTP_REQUEST_OPTIONS).suppressGlobalError) {
25
- const message = error.error?.message ?? error.message ?? error.error;
26
- this.store.dispatch(new ApiInterceptorAction.PublishError({
27
- message: message,
28
- level: AlertLevel.ERROR,
29
- link: '',
30
- }));
31
- }
32
- return throwError(() => error);
33
- }), finalize(() => {
34
- this.store.dispatch(new ApiInterceptorAction.EndActivity(request.method + ' ' + request.url));
35
- }));
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiInterceptor });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiInterceptor, decorators: [{
41
- type: Injectable
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NjLWxpYi9zcmMvbGliL3VpL2ludGVyY2VwdG9yL2FwaS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzdELE1BQU0sT0FBTyxjQUFjO0lBQ2pCLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFaEcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBa0MsRUFBRTtZQUN0RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzdGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDMUUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsSUFBSSxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxPQUFPO29CQUNoQixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7b0JBQ3ZCLElBQUksRUFBRSxFQUFFO2lCQUNULENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0FsQ1UsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENVU1RPTV9IVFRQX1JFUVVFU1RfT1BUSU9OUyB9IGZyb20gJy4uLy4uL2F1dGgvc2VydmljZXMvcmVxdWVzdC1vcHRpb25zJztcbmltcG9ydCB7IEJBU0VfVVJMIH0gZnJvbSAnLi4vLi4vdHlwZXMvYmFzZS90b2tlbnMnO1xuaW1wb3J0IHsgQWxlcnRMZXZlbCB9IGZyb20gJy4uLy4uL3R5cGVzL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcbmltcG9ydCB7IEFwaUludGVyY2VwdG9yQWN0aW9uIH0gZnJvbSAnLi4vc3RhdGUvY29yZS5hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwaUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZSk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgYmFzZVVybCA9IGluamVjdChCQVNFX1VSTCk7XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQXBpSW50ZXJjZXB0b3JBY3Rpb24uQmVnaW5BY3Rpdml0eShyZXF1ZXN0Lm1ldGhvZCArICcgJyArIHJlcXVlc3QudXJsKSk7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBcGlJbnRlcmNlcHRvckFjdGlvbi5TZXRSZWRpcmVjdFVybCh0aGlzLmJhc2VVcmwgKyB0aGlzLnJvdXRlci51cmwpKTtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVxdWVzdC5jb250ZXh0LmdldChDVVNUT01fSFRUUF9SRVFVRVNUX09QVElPTlMpLnN1cHByZXNzR2xvYmFsRXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgPz8gZXJyb3IubWVzc2FnZSA/PyBlcnJvci5lcnJvcjtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwaUludGVyY2VwdG9yQWN0aW9uLlB1Ymxpc2hFcnJvcih7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgICAgICAgIGxldmVsOiBBbGVydExldmVsLkVSUk9SLFxuICAgICAgICAgICAgICBsaW5rOiAnJyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQXBpSW50ZXJjZXB0b3JBY3Rpb24uRW5kQWN0aXZpdHkocmVxdWVzdC5tZXRob2QgKyAnICcgKyByZXF1ZXN0LnVybCkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- import { Injectable, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NotificationService {
4
- notificationId = 0;
5
- _notifications = signal([]);
6
- notifications = this._notifications.asReadonly();
7
- /**
8
- * Adds a new global notification.
9
- * @param notification The notification message to add.
10
- * @returns The unique ID assigned to the notification.
11
- */
12
- addGlobalNotification(notification) {
13
- const newNotification = {
14
- ...notification,
15
- id: this.notificationId++,
16
- };
17
- this._notifications.update((current) => [...current, newNotification]);
18
- return newNotification.id;
19
- }
20
- /**
21
- * Dismisses a global notification by its ID.
22
- * @param notificationId The ID of the notification to dismiss.
23
- */
24
- dismissGlobalNotificationById(notificationId) {
25
- this._notifications.update((current) => current.filter((notification) => notification.id !== notificationId));
26
- }
27
- /**
28
- * Dismisses a specific global notification.
29
- * @param notification The notification to dismiss.
30
- */
31
- dismissGlobalNotification(notification) {
32
- this.dismissGlobalNotificationById(notification.id);
33
- }
34
- /**
35
- * Updates an existing notification.
36
- * @param updatedNotification The notification with updated information.
37
- */
38
- updateNotification(updatedNotification) {
39
- this._notifications.update((current) => current.map((notification) => notification.id === updatedNotification.id ? { ...notification, ...updatedNotification } : notification));
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, providedIn: 'root' });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationService, decorators: [{
45
- type: Injectable,
46
- args: [{
47
- providedIn: 'root',
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2MtbGliL3NyYy9saWIvdWkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixjQUFjLEdBQUcsTUFBTSxDQUF3QixFQUFFLENBQUMsQ0FBQztJQUMzRCxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVqRDs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsWUFBdUM7UUFDM0QsTUFBTSxlQUFlLEdBQXdCO1lBQzNDLEdBQUcsWUFBWTtZQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQzFCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sZUFBZSxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCLENBQUMsY0FBc0I7UUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gseUJBQXlCLENBQUMsWUFBaUM7UUFDekQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsbUJBQXdDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQzNCLFlBQVksQ0FBQyxFQUFFLEtBQUssbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUN4RyxDQUNGLENBQUM7SUFDSixDQUFDO3VHQTdDVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVOb3RpZmljYXRpb25NZXNzYWdlLCBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgbm90aWZpY2F0aW9uSWQgPSAwO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25zID0gc2lnbmFsPE5vdGlmaWNhdGlvbk1lc3NhZ2VbXT4oW10pO1xuICBub3RpZmljYXRpb25zID0gdGhpcy5fbm90aWZpY2F0aW9ucy5hc1JlYWRvbmx5KCk7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZ2xvYmFsIG5vdGlmaWNhdGlvbi5cbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiBUaGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgdW5pcXVlIElEIGFzc2lnbmVkIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAqL1xuICBhZGRHbG9iYWxOb3RpZmljYXRpb24obm90aWZpY2F0aW9uOiBDcmVhdGVOb3RpZmljYXRpb25NZXNzYWdlKTogbnVtYmVyIHtcbiAgICBjb25zdCBuZXdOb3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSB7XG4gICAgICAuLi5ub3RpZmljYXRpb24sXG4gICAgICBpZDogdGhpcy5ub3RpZmljYXRpb25JZCsrLFxuICAgIH07XG4gICAgdGhpcy5fbm90aWZpY2F0aW9ucy51cGRhdGUoKGN1cnJlbnQpID0+IFsuLi5jdXJyZW50LCBuZXdOb3RpZmljYXRpb25dKTtcbiAgICByZXR1cm4gbmV3Tm90aWZpY2F0aW9uLmlkO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhIGdsb2JhbCBub3RpZmljYXRpb24gYnkgaXRzIElELlxuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uSWQgVGhlIElEIG9mIHRoZSBub3RpZmljYXRpb24gdG8gZGlzbWlzcy5cbiAgICovXG4gIGRpc21pc3NHbG9iYWxOb3RpZmljYXRpb25CeUlkKG5vdGlmaWNhdGlvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zLnVwZGF0ZSgoY3VycmVudCkgPT4gY3VycmVudC5maWx0ZXIoKG5vdGlmaWNhdGlvbikgPT4gbm90aWZpY2F0aW9uLmlkICE9PSBub3RpZmljYXRpb25JZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhIHNwZWNpZmljIGdsb2JhbCBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSBub3RpZmljYXRpb24gVGhlIG5vdGlmaWNhdGlvbiB0byBkaXNtaXNzLlxuICAgKi9cbiAgZGlzbWlzc0dsb2JhbE5vdGlmaWNhdGlvbihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1lc3NhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmRpc21pc3NHbG9iYWxOb3RpZmljYXRpb25CeUlkKG5vdGlmaWNhdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSB1cGRhdGVkTm90aWZpY2F0aW9uIFRoZSBub3RpZmljYXRpb24gd2l0aCB1cGRhdGVkIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgdXBkYXRlTm90aWZpY2F0aW9uKHVwZGF0ZWROb3RpZmljYXRpb246IE5vdGlmaWNhdGlvbk1lc3NhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQubWFwKChub3RpZmljYXRpb24pID0+XG4gICAgICAgIG5vdGlmaWNhdGlvbi5pZCA9PT0gdXBkYXRlZE5vdGlmaWNhdGlvbi5pZCA/IHsgLi4ubm90aWZpY2F0aW9uLCAuLi51cGRhdGVkTm90aWZpY2F0aW9uIH0gOiBub3RpZmljYXRpb24sXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,49 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-namespace */
2
- // no-namespace rule is disabled because action hygiene prevents import pollution
3
- export var ApiInterceptorAction;
4
- (function (ApiInterceptorAction) {
5
- class BeginActivity {
6
- process;
7
- static type = '[ApiInterceptor] Add Loading Activity';
8
- constructor(process) {
9
- this.process = process;
10
- }
11
- }
12
- ApiInterceptorAction.BeginActivity = BeginActivity;
13
- class EndActivity {
14
- process;
15
- static type = '[ApiInterceptor] Remove Loading Activity';
16
- constructor(process) {
17
- this.process = process;
18
- }
19
- }
20
- ApiInterceptorAction.EndActivity = EndActivity;
21
- class PublishError {
22
- message;
23
- static type = '[ApiInterceptor] Publish Error';
24
- constructor(message) {
25
- this.message = message;
26
- }
27
- }
28
- ApiInterceptorAction.PublishError = PublishError;
29
- class SetRedirectUrl {
30
- redirectUrl;
31
- static type = '[ApiInterceptor] Set Redirect Url';
32
- constructor(redirectUrl) {
33
- this.redirectUrl = redirectUrl;
34
- }
35
- }
36
- ApiInterceptorAction.SetRedirectUrl = SetRedirectUrl;
37
- })(ApiInterceptorAction || (ApiInterceptorAction = {}));
38
- export var HeaderAction;
39
- (function (HeaderAction) {
40
- class ToggleSidenav {
41
- static type = '[Header] Toggle Sidenav';
42
- }
43
- HeaderAction.ToggleSidenav = ToggleSidenav;
44
- class Logout {
45
- static type = '[Header] User Logout';
46
- }
47
- HeaderAction.Logout = Logout;
48
- })(HeaderAction || (HeaderAction = {}));
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NjLWxpYi9zcmMvbGliL3VpL3N0YXRlL2NvcmUuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvREFBb0Q7QUFDcEQsaUZBQWlGO0FBSWpGLE1BQU0sS0FBVyxvQkFBb0IsQ0FpQnBDO0FBakJELFdBQWlCLG9CQUFvQjtJQUNuQyxNQUFhLGFBQWE7UUFFTDtRQURuQixNQUFNLENBQVUsSUFBSSxHQUFHLHVDQUF1QyxDQUFDO1FBQy9ELFlBQW1CLE9BQWU7WUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQUcsQ0FBQzs7SUFGM0Isa0NBQWEsZ0JBR3pCLENBQUE7SUFDRCxNQUFhLFdBQVc7UUFFSDtRQURuQixNQUFNLENBQVUsSUFBSSxHQUFHLDBDQUEwQyxDQUFDO1FBQ2xFLFlBQW1CLE9BQWU7WUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQUcsQ0FBQzs7SUFGM0IsZ0NBQVcsY0FHdkIsQ0FBQTtJQUNELE1BQWEsWUFBWTtRQUVKO1FBRG5CLE1BQU0sQ0FBVSxJQUFJLEdBQUcsZ0NBQWdDLENBQUM7UUFDeEQsWUFBbUIsT0FBa0M7WUFBbEMsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFBRyxDQUFDOztJQUY5QyxpQ0FBWSxlQUd4QixDQUFBO0lBQ0QsTUFBYSxjQUFjO1FBRU47UUFEbkIsTUFBTSxDQUFVLElBQUksR0FBRyxtQ0FBbUMsQ0FBQztRQUMzRCxZQUFtQixXQUFtQjtZQUFuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUFHLENBQUM7O0lBRi9CLG1DQUFjLGlCQUcxQixDQUFBO0FBQ0gsQ0FBQyxFQWpCZ0Isb0JBQW9CLEtBQXBCLG9CQUFvQixRQWlCcEM7QUFFRCxNQUFNLEtBQVcsWUFBWSxDQVE1QjtBQVJELFdBQWlCLFlBQVk7SUFDM0IsTUFBYSxhQUFhO1FBQ3hCLE1BQU0sQ0FBVSxJQUFJLEdBQUcseUJBQXlCLENBQUM7O0lBRHRDLDBCQUFhLGdCQUV6QixDQUFBO0lBRUQsTUFBYSxNQUFNO1FBQ2pCLE1BQU0sQ0FBVSxJQUFJLEdBQUcsc0JBQXNCLENBQUM7O0lBRG5DLG1CQUFNLFNBRWxCLENBQUE7QUFDSCxDQUFDLEVBUmdCLFlBQVksS0FBWixZQUFZLFFBUTVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZSAqL1xuLy8gbm8tbmFtZXNwYWNlIHJ1bGUgaXMgZGlzYWJsZWQgYmVjYXVzZSBhY3Rpb24gaHlnaWVuZSBwcmV2ZW50cyBpbXBvcnQgcG9sbHV0aW9uXG5cbmltcG9ydCB7IENyZWF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi90eXBlcy9ub3RpZmljYXRpb24tbWVzc2FnZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXBpSW50ZXJjZXB0b3JBY3Rpb24ge1xuICBleHBvcnQgY2xhc3MgQmVnaW5BY3Rpdml0eSB7XG4gICAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0FwaUludGVyY2VwdG9yXSBBZGQgTG9hZGluZyBBY3Rpdml0eSc7XG4gICAgY29uc3RydWN0b3IocHVibGljIHByb2Nlc3M6IHN0cmluZykge31cbiAgfVxuICBleHBvcnQgY2xhc3MgRW5kQWN0aXZpdHkge1xuICAgIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tBcGlJbnRlcmNlcHRvcl0gUmVtb3ZlIExvYWRpbmcgQWN0aXZpdHknO1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwcm9jZXNzOiBzdHJpbmcpIHt9XG4gIH1cbiAgZXhwb3J0IGNsYXNzIFB1Ymxpc2hFcnJvciB7XG4gICAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0FwaUludGVyY2VwdG9yXSBQdWJsaXNoIEVycm9yJztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbWVzc2FnZTogQ3JlYXRlTm90aWZpY2F0aW9uTWVzc2FnZSkge31cbiAgfVxuICBleHBvcnQgY2xhc3MgU2V0UmVkaXJlY3RVcmwge1xuICAgIHN0YXRpYyByZWFkb25seSB0eXBlID0gJ1tBcGlJbnRlcmNlcHRvcl0gU2V0IFJlZGlyZWN0IFVybCc7XG4gICAgY29uc3RydWN0b3IocHVibGljIHJlZGlyZWN0VXJsOiBzdHJpbmcpIHt9XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBIZWFkZXJBY3Rpb24ge1xuICBleHBvcnQgY2xhc3MgVG9nZ2xlU2lkZW5hdiB7XG4gICAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0hlYWRlcl0gVG9nZ2xlIFNpZGVuYXYnO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIExvZ291dCB7XG4gICAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW0hlYWRlcl0gVXNlciBMb2dvdXQnO1xuICB9XG59XG4iXX0=
@@ -1,95 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable, inject } from '@angular/core';
3
- import { Action, Selector, State } from '@ngxs/store';
4
- import { patch } from '@ngxs/store/operators';
5
- import { AppAction, LoginAction } from '../../auth/state/auth.actions';
6
- import { NotificationService } from '../services/notification.service';
7
- import { ApiInterceptorAction, HeaderAction } from './core.actions';
8
- import * as i0 from "@angular/core";
9
- const initState = {
10
- loading: [],
11
- sidenavOpened: true,
12
- currentSidenavIdentifier: '',
13
- };
14
- let CoreState = class CoreState {
15
- notifications = inject(NotificationService);
16
- static sidenavOpened(state) {
17
- return state?.sidenavOpened;
18
- }
19
- static isLoading(state) {
20
- return state.loading.length > 0;
21
- }
22
- static currentSidenavIdentifier(state) {
23
- return state.currentSidenavIdentifier;
24
- }
25
- setNavIdentifier(ctx, action) {
26
- ctx.setState(patch({
27
- currentSidenavIdentifier: action.identifier,
28
- }));
29
- }
30
- publishError(ctx, action) {
31
- this.notifications.addGlobalNotification(action.message);
32
- }
33
- beginActivity(ctx, action) {
34
- const state = ctx.getState();
35
- ctx.patchState({
36
- loading: [action.process, ...state.loading],
37
- });
38
- return ctx.getState();
39
- }
40
- endActivity(ctx, action) {
41
- const loading = ctx.getState().loading;
42
- // There can be multiple activities running with the same process signature
43
- const index = loading.findIndex((activity) => activity === action.process);
44
- if (index !== -1) {
45
- const newLoading = [...loading.slice(0, index), ...loading.slice(index + 1)];
46
- ctx.patchState({
47
- loading: newLoading,
48
- });
49
- return ctx.getState();
50
- }
51
- return null;
52
- }
53
- toggleSidenav(ctx) {
54
- ctx.setState(patch({
55
- sidenavOpened: !ctx.getState().sidenavOpened,
56
- }));
57
- }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CoreState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
59
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CoreState });
60
- };
61
- __decorate([
62
- Action([AppAction.SetNavIdentifier])
63
- ], CoreState.prototype, "setNavIdentifier", null);
64
- __decorate([
65
- Action([ApiInterceptorAction.PublishError, LoginAction.PublishError])
66
- ], CoreState.prototype, "publishError", null);
67
- __decorate([
68
- Action([ApiInterceptorAction.BeginActivity])
69
- ], CoreState.prototype, "beginActivity", null);
70
- __decorate([
71
- Action([ApiInterceptorAction.EndActivity])
72
- ], CoreState.prototype, "endActivity", null);
73
- __decorate([
74
- Action([HeaderAction.ToggleSidenav])
75
- ], CoreState.prototype, "toggleSidenav", null);
76
- __decorate([
77
- Selector()
78
- ], CoreState, "sidenavOpened", null);
79
- __decorate([
80
- Selector()
81
- ], CoreState, "isLoading", null);
82
- __decorate([
83
- Selector()
84
- ], CoreState, "currentSidenavIdentifier", null);
85
- CoreState = __decorate([
86
- State({
87
- name: 'coreState',
88
- defaults: initState,
89
- })
90
- ], CoreState);
91
- export { CoreState };
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CoreState, decorators: [{
93
- type: Injectable
94
- }], propDecorators: { setNavIdentifier: [], publishError: [], beginActivity: [], endActivity: [], toggleSidenav: [] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjYy1saWIvc3JjL2xpYi91aS9zdGF0ZS9jb3JlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRcEUsTUFBTSxTQUFTLEdBQW1CO0lBQ2hDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsYUFBYSxFQUFFLElBQUk7SUFDbkIsd0JBQXdCLEVBQUUsRUFBRTtDQUM3QixDQUFDO0FBT0ssSUFBTSxTQUFTLEdBQWYsTUFBTSxTQUFTO0lBQ1osYUFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRzdDLEFBQVAsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFxQjtRQUN4QyxPQUFPLEtBQUssRUFBRSxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUdNLEFBQVAsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFxQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBR00sQUFBUCxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBcUI7UUFDbkQsT0FBTyxLQUFLLENBQUMsd0JBQXdCLENBQUM7SUFDeEMsQ0FBQztJQUdELGdCQUFnQixDQUFDLEdBQWlDLEVBQUUsTUFBa0M7UUFDcEYsR0FBRyxDQUFDLFFBQVEsQ0FDVixLQUFLLENBQUM7WUFDSix3QkFBd0IsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM1QyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFHRCxZQUFZLENBQUMsR0FBaUMsRUFBRSxNQUE4QztRQUM1RixJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBR0QsYUFBYSxDQUFDLEdBQWlDLEVBQUUsTUFBMkI7UUFDMUUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDYixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUM1QyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR0QsV0FBVyxDQUFDLEdBQWlDLEVBQUUsTUFBMkI7UUFDeEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN2QywyRUFBMkU7UUFDM0UsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDYixPQUFPLEVBQUUsVUFBVTthQUNwQixDQUFDLENBQUM7WUFDSCxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR0QsYUFBYSxDQUFDLEdBQWlDO1FBQzdDLEdBQUcsQ0FBQyxRQUFRLENBQ1YsS0FBSyxDQUFDO1lBQ0osYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWE7U0FDN0MsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQS9EVSxTQUFTOzJHQUFULFNBQVM7O0FBbUJwQjtJQURDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lEQU9wQztBQUdEO0lBREMsTUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQzs2Q0FHckU7QUFHRDtJQURDLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDOzhDQU81QztBQUdEO0lBREMsTUFBTSxDQUFDLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7NENBYTFDO0FBR0Q7SUFEQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7OENBT3BDO0FBM0RNO0lBRE4sUUFBUSxFQUFFO29DQUdWO0FBR007SUFETixRQUFRLEVBQUU7Z0NBR1Y7QUFHTTtJQUROLFFBQVEsRUFBRTsrQ0FHVjtBQWhCVSxTQUFTO0lBTHJCLEtBQUssQ0FBaUI7UUFDckIsSUFBSSxFQUFFLFdBQVc7UUFDakIsUUFBUSxFQUFFLFNBQVM7S0FDcEIsQ0FBQztHQUVXLFNBQVMsQ0FnRXJCOzsyRkFoRVksU0FBUztrQkFEckIsVUFBVTs4QkFvQlQsZ0JBQWdCLE1BU2hCLFlBQVksTUFLWixhQUFhLE1BU2IsV0FBVyxNQWVYLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBwYXRjaCB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBBY3Rpb24sIExvZ2luQWN0aW9uIH0gZnJvbSAnLi4vLi4vYXV0aC9zdGF0ZS9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ3JlYXRlTm90aWZpY2F0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uL3R5cGVzL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcGlJbnRlcmNlcHRvckFjdGlvbiwgSGVhZGVyQWN0aW9uIH0gZnJvbSAnLi9jb3JlLmFjdGlvbnMnO1xuXG5pbnRlcmZhY2UgQ29yZVN0YXRlTW9kZWwge1xuICBsb2FkaW5nOiBzdHJpbmdbXTtcbiAgc2lkZW5hdk9wZW5lZDogYm9vbGVhbjtcbiAgY3VycmVudFNpZGVuYXZJZGVudGlmaWVyOiBzdHJpbmc7XG59XG5cbmNvbnN0IGluaXRTdGF0ZTogQ29yZVN0YXRlTW9kZWwgPSB7XG4gIGxvYWRpbmc6IFtdLFxuICBzaWRlbmF2T3BlbmVkOiB0cnVlLFxuICBjdXJyZW50U2lkZW5hdklkZW50aWZpZXI6ICcnLFxufTtcblxuQFN0YXRlPENvcmVTdGF0ZU1vZGVsPih7XG4gIG5hbWU6ICdjb3JlU3RhdGUnLFxuICBkZWZhdWx0czogaW5pdFN0YXRlLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3JlU3RhdGUge1xuICBwcml2YXRlIG5vdGlmaWNhdGlvbnMgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIHNpZGVuYXZPcGVuZWQoc3RhdGU6IENvcmVTdGF0ZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXRlPy5zaWRlbmF2T3BlbmVkO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGlzTG9hZGluZyhzdGF0ZTogQ29yZVN0YXRlTW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhdGUubG9hZGluZy5sZW5ndGggPiAwO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIGN1cnJlbnRTaWRlbmF2SWRlbnRpZmllcihzdGF0ZTogQ29yZVN0YXRlTW9kZWwpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdGF0ZS5jdXJyZW50U2lkZW5hdklkZW50aWZpZXI7XG4gIH1cblxuICBAQWN0aW9uKFtBcHBBY3Rpb24uU2V0TmF2SWRlbnRpZmllcl0pXG4gIHNldE5hdklkZW50aWZpZXIoY3R4OiBTdGF0ZUNvbnRleHQ8Q29yZVN0YXRlTW9kZWw+LCBhY3Rpb246IEFwcEFjdGlvbi5TZXROYXZJZGVudGlmaWVyKTogdm9pZCB7XG4gICAgY3R4LnNldFN0YXRlKFxuICAgICAgcGF0Y2goe1xuICAgICAgICBjdXJyZW50U2lkZW5hdklkZW50aWZpZXI6IGFjdGlvbi5pZGVudGlmaWVyLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oW0FwaUludGVyY2VwdG9yQWN0aW9uLlB1Ymxpc2hFcnJvciwgTG9naW5BY3Rpb24uUHVibGlzaEVycm9yXSlcbiAgcHVibGlzaEVycm9yKGN0eDogU3RhdGVDb250ZXh0PENvcmVTdGF0ZU1vZGVsPiwgYWN0aW9uOiB7IG1lc3NhZ2U6IENyZWF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2UgfSk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucy5hZGRHbG9iYWxOb3RpZmljYXRpb24oYWN0aW9uLm1lc3NhZ2UpO1xuICB9XG5cbiAgQEFjdGlvbihbQXBpSW50ZXJjZXB0b3JBY3Rpb24uQmVnaW5BY3Rpdml0eV0pXG4gIGJlZ2luQWN0aXZpdHkoY3R4OiBTdGF0ZUNvbnRleHQ8Q29yZVN0YXRlTW9kZWw+LCBhY3Rpb246IHsgcHJvY2Vzczogc3RyaW5nIH0pOiBDb3JlU3RhdGVNb2RlbCB7XG4gICAgY29uc3Qgc3RhdGUgPSBjdHguZ2V0U3RhdGUoKTtcbiAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICBsb2FkaW5nOiBbYWN0aW9uLnByb2Nlc3MsIC4uLnN0YXRlLmxvYWRpbmddLFxuICAgIH0pO1xuICAgIHJldHVybiBjdHguZ2V0U3RhdGUoKTtcbiAgfVxuXG4gIEBBY3Rpb24oW0FwaUludGVyY2VwdG9yQWN0aW9uLkVuZEFjdGl2aXR5XSlcbiAgZW5kQWN0aXZpdHkoY3R4OiBTdGF0ZUNvbnRleHQ8Q29yZVN0YXRlTW9kZWw+LCBhY3Rpb246IHsgcHJvY2Vzczogc3RyaW5nIH0pOiBDb3JlU3RhdGVNb2RlbCB8IG51bGwge1xuICAgIGNvbnN0IGxvYWRpbmcgPSBjdHguZ2V0U3RhdGUoKS5sb2FkaW5nO1xuICAgIC8vIFRoZXJlIGNhbiBiZSBtdWx0aXBsZSBhY3Rpdml0aWVzIHJ1bm5pbmcgd2l0aCB0aGUgc2FtZSBwcm9jZXNzIHNpZ25hdHVyZVxuICAgIGNvbnN0IGluZGV4ID0gbG9hZGluZy5maW5kSW5kZXgoKGFjdGl2aXR5KSA9PiBhY3Rpdml0eSA9PT0gYWN0aW9uLnByb2Nlc3MpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IG5ld0xvYWRpbmcgPSBbLi4ubG9hZGluZy5zbGljZSgwLCBpbmRleCksIC4uLmxvYWRpbmcuc2xpY2UoaW5kZXggKyAxKV07XG4gICAgICBjdHgucGF0Y2hTdGF0ZSh7XG4gICAgICAgIGxvYWRpbmc6IG5ld0xvYWRpbmcsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjdHguZ2V0U3RhdGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBAQWN0aW9uKFtIZWFkZXJBY3Rpb24uVG9nZ2xlU2lkZW5hdl0pXG4gIHRvZ2dsZVNpZGVuYXYoY3R4OiBTdGF0ZUNvbnRleHQ8Q29yZVN0YXRlTW9kZWw+KTogdm9pZCB7XG4gICAgY3R4LnNldFN0YXRlKFxuICAgICAgcGF0Y2goe1xuICAgICAgICBzaWRlbmF2T3BlbmVkOiAhY3R4LmdldFN0YXRlKCkuc2lkZW5hdk9wZW5lZCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- /*
2
- * Public API Surface of ccc-lib
3
- */
4
- // Auth directives
5
- export * from './lib/auth/directives/has-permission.directive';
6
- // Auth forms
7
- export * from './lib/auth/forms/ccc-field/ccc-field.component';
8
- export * from './lib/auth/forms/form-helpers';
9
- // Auth guards
10
- export * from './lib/auth/guards/authentication.guard';
11
- export * from './lib/auth/guards/authorization.guard';
12
- // Auth services
13
- export * from './lib/auth/services/auth.service';
14
- export * from './lib/auth/services/request-options';
15
- // Auth state
16
- export * from './lib/auth/state/auth.actions';
17
- export * from './lib/auth/state/auth.state';
18
- // Types tokens
19
- export * from './lib/types/base/tokens';
20
- // Types
21
- export * from './lib/types/notification-message';
22
- export * from './lib/types/permissions';
23
- export * from './lib/types/session-info';
24
- // Ui components
25
- export * from './lib/ui/components/alert/alert.component';
26
- export * from './lib/ui/components/sidenav/sidenav.component';
27
- // Ui interceptor
28
- export * from './lib/ui/interceptor/api.interceptor';
29
- // Ui services
30
- export * from './lib/ui/services/notification.service';
31
- // Ui state
32
- export * from './lib/ui/state/core.actions';
33
- export * from './lib/ui/state/core.state';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NjYy1saWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxrQkFBa0I7QUFDbEIsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxhQUFhO0FBQ2IsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWM7QUFDZCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsZ0JBQWdCO0FBQ2hCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxhQUFhO0FBQ2IsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGVBQWU7QUFDZixjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFFBQVE7QUFDUixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxnQkFBZ0I7QUFDaEIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGlCQUFpQjtBQUNqQixjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWM7QUFDZCxjQUFjLHdDQUF3QyxDQUFDO0FBRXZELFdBQVc7QUFDWCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNjYy1saWJcbiAqL1xuXG4vLyBBdXRoIGRpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvZGlyZWN0aXZlcy9oYXMtcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuXG4vLyBBdXRoIGZvcm1zXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoL2Zvcm1zL2NjYy1maWVsZC9jY2MtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvZm9ybXMvZm9ybS1oZWxwZXJzJztcblxuLy8gQXV0aCBndWFyZHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvZ3VhcmRzL2F1dGhlbnRpY2F0aW9uLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvZ3VhcmRzL2F1dGhvcml6YXRpb24uZ3VhcmQnO1xuXG4vLyBBdXRoIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoL3NlcnZpY2VzL3JlcXVlc3Qtb3B0aW9ucyc7XG5cbi8vIEF1dGggc3RhdGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvc3RhdGUvYXV0aC5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGgvc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbi8vIFR5cGVzIHRva2Vuc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvYmFzZS90b2tlbnMnO1xuXG4vLyBUeXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvcGVybWlzc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMvc2Vzc2lvbi1pbmZvJztcblxuLy8gVWkgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWkvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWkvY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50JztcblxuLy8gVWkgaW50ZXJjZXB0b3JcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpL2ludGVyY2VwdG9yL2FwaS5pbnRlcmNlcHRvcic7XG5cbi8vIFVpIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbi8vIFVpIHN0YXRlXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS9zdGF0ZS9jb3JlLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWkvc3RhdGUvY29yZS5zdGF0ZSc7XG4iXX0=