@propmix/profet-common-header 1.0.13 → 1.0.16
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/header/header.component.mjs +36 -34
- package/fesm2015/propmix-profet-common-header.mjs +38 -36
- package/fesm2015/propmix-profet-common-header.mjs.map +1 -1
- package/fesm2020/propmix-profet-common-header.mjs +35 -34
- package/fesm2020/propmix-profet-common-header.mjs.map +1 -1
- package/lib/header/header.component.d.ts +1 -2
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { CommonHeaderService } from '../common-header.service';
|
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
5
5
|
import { Amplify, Auth } from 'aws-amplify';
|
|
6
|
+
import { forkJoin } from 'rxjs';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/common";
|
|
8
9
|
import * as i2 from "@angular/material/toolbar";
|
|
@@ -50,12 +51,36 @@ export class HeaderComponent {
|
|
|
50
51
|
console.log(e);
|
|
51
52
|
}
|
|
52
53
|
});
|
|
53
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
54
|
-
this.
|
|
55
|
-
this.
|
|
54
|
+
Auth.currentAuthenticatedUser().then(async (user) => {
|
|
55
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
56
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
57
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
58
|
+
next: (res) => {
|
|
59
|
+
if (res && res[0]) {
|
|
60
|
+
this.userAuthData = res[0];
|
|
61
|
+
this.username = this.userAuthData.firstName;
|
|
62
|
+
if (this.userAuthData?._links?.profileImage?.href) {
|
|
63
|
+
this.getUserProfile();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (res && res[1]) {
|
|
67
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
68
|
+
this.userCompanies = res[1].data.companies;
|
|
69
|
+
if (this.userCompanies.length > 1) {
|
|
70
|
+
this.showSwitchCompanies = true;
|
|
71
|
+
for (var com of this.userCompanies) {
|
|
72
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
73
|
+
com.activeNow = true;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
56
82
|
})
|
|
57
83
|
.catch(() => console.log("User not logged in"));
|
|
58
|
-
this.getUserCompany();
|
|
59
84
|
}
|
|
60
85
|
menuAction() {
|
|
61
86
|
this.menuEvent.emit();
|
|
@@ -100,33 +125,10 @@ export class HeaderComponent {
|
|
|
100
125
|
}
|
|
101
126
|
});
|
|
102
127
|
}
|
|
103
|
-
|
|
104
|
-
this._ser.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
108
|
-
if (this.userCompanies.length > 1) {
|
|
109
|
-
this.showSwitchCompanies = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
error: (e) => {
|
|
114
|
-
console.log("Error in fetching companies for the user");
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getUserDetails(email) {
|
|
119
|
-
let req = {
|
|
120
|
-
email: email
|
|
121
|
-
};
|
|
122
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
123
|
-
this.userAuthData = res;
|
|
124
|
-
if (this.userAuthData?._links?.profileImage?.href) {
|
|
125
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
126
|
-
if (img?.locationUrl) {
|
|
127
|
-
this.userImageLink = img.locationUrl;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
128
|
+
getUserProfile() {
|
|
129
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
130
|
+
if (img?.locationUrl) {
|
|
131
|
+
this.userImageLink = img.locationUrl;
|
|
130
132
|
}
|
|
131
133
|
});
|
|
132
134
|
}
|
|
@@ -183,10 +185,10 @@ export class HeaderComponent {
|
|
|
183
185
|
}
|
|
184
186
|
}
|
|
185
187
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
188
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
187
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
188
190
|
type: Component,
|
|
189
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
191
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
190
192
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
191
193
|
type: Input
|
|
192
194
|
}], menuEvent: [{
|
|
@@ -194,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
194
196
|
}], infoEvent: [{
|
|
195
197
|
type: Output
|
|
196
198
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQVE1QyxNQUFNLE9BQU8sZUFBZTtJQWtCMUI7UUFoQkEsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUVaLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTlDLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekIsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFHZixZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFF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LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25IZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uLWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBbXBsaWZ5LCBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xuICBcbiAgdXNlcm5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBPdXRwdXQoKSBtZW51RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGluZm9FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzaWRlbmF2ITogTWF0U2lkZW5hdjtcbiAgYXBwTGlzdDogQXJyYXk8YW55PiA9IFtdO1xuICB1c2VyQ29tcGFuaWVzOiBhbnk7XG4gIHNob3dTd2l0Y2hDb21wYW5pZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29tcGFueVByb2ZpbGU6IGFueTtcbiAgcG9ydGFsVXJsOiBzdHJpbmcgPSAnJztcbiAgdXNlckF1dGhEYXRhOiBhbnk7XG4gIHVzZXJJbWFnZUxpbms6IGFueTtcbiAgcHJpdmF0ZSBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgX3NuYWNrYmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBfc2VyID0gaW5qZWN0KENvbW1vbkhlYWRlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCl7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoQ29tcGFueVByb2ZpbGUoKTtcbiAgICB0aGlzLl9zZXIuZ2V0QXBwcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodikgPT4ge1xuICAgICAgICB0aGlzLnBvcnRhbFVybCA9IHY/LmRhdGE/LnBvcnRhbFVybDtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgY29tcGFueUluZm86IHRoaXMuY29tcGFueVByb2ZpbGUsXG4gICAgICAgICAgcG9ydGFsVXJsOiB0aGlzLnBvcnRhbFVybFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmluZm9FdmVudC5lbWl0KGRhdGEpO1xuICAgICAgICBsZXQgY29uZmlnOiBhbnkgPSBBdXRoLmNvbmZpZ3VyZSgpO1xuICAgICAgICBsZXQgc2lnbm91dFVybCA9IGAke3RoaXMucG9ydGFsVXJsfS9sb2dpbmA7XG4gICAgICAgIGNvbmZpZy5vYXV0aCA9IHsuLi5jb25maWcub2F1dGgsLi4ue1wicmVkaXJlY3RTaWduT3V0XCI6IHNpZ25vdXRVcmx9fTtcbiAgICAgICAgQW1wbGlmeS5jb25maWd1cmUoY29uZmlnKTtcbiAgICAgICAgaWYodj8uZGF0YT8uYXBwbGljYXRpb25zICYmIHYuZGF0YS5hcHBsaWNhdGlvbnMubGVuZ3RoID4gMCl7XG4gICAgICAgICAgLy8gdGhpcy5mZXRjaENvbXBhbnlEYXRhKHYuZGF0YS5hcHBsaWNhdGlvbnMpO1xuICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFtdO1xuICAgICAgICAgIHYuZGF0YS5hcHBsaWNhdGlvbnMuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwTGlzdC5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogZWxlbWVudC5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICAgICAgICAgIGFwcFVybDogZWxlbWVudC5hcHBVcmxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpXG4gICAgICB9XG4gICAgfSk7XG4gICAgQXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKS50aGVuKHVzZXIgPT4ge1xuICAgICAgdGhpcy51c2VybmFtZSA9IHVzZXIuYXR0cmlidXRlcy5naXZlbl9uYW1lO1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscyh1c2VyLmF0dHJpYnV0ZXMuZW1haWwpXG4gICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiBjb25zb2xlLmxvZyhcIlVzZXIgbm90IGxvZ2dlZCBpblwiKSk7XG4gICAgdGhpcy5nZXRVc2VyQ29tcGFueSgpO1xuICB9XG5cbiAgbWVudUFjdGlvbigpe1xuICAgIHRoaXMubWVudUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGZldGNoQ29tcGFueVByb2ZpbGUoKXtcbiAgICBsZXQgcmVxID0ge1xuICAgICAgY29tcGFueU5hbWU6IGRvY3VtZW50LmxvY2F0aW9uLmhvc3Quc3BsaXQoJy4nKVswXVxuICAgIH07XG4gICAgdGhpcy5fc2VyLmZldGNoQ29tcGFueVByb2ZpbGUocmVxKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5jb21wYW55UHJvZmlsZSA9IHY7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB2LFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGZldGNoQ29tcGFueURhdGEoYWxsQXBwczpBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5fc2VyLmdldENvbXBhbnlBcHBsaWNhdGlvbnMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYgKHY/LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucykge1xuICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFtdO1xuICAgICAgICAgIGxldCBhcHBJbmZvID0gW107XG4gICAgICAgICAgbGV0IGZldGNoZWRBcHBsaWNhdGlvbnMgPSB2LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucy5zcGxpdCgnLCcpO1xuXG4gICAgICAgICAgaWYgKGZldGNoZWRBcHBsaWNhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmV0Y2hlZEFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgICBhcHBJbmZvID0gYWxsQXBwcy5maWx0ZXIoZWxlID0+IGVsZS5uYW1lID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgICBpZiAoYXBwSW5mbyAmJiBhcHBJbmZvLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZihhcHBJbmZvWzBdLm5hbWUgIT0gJ21jYScpe1xuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcHBJbmZvWzBdLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYXBwVXJsOiBhcHBJbmZvWzBdLmFwcFVybFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyQ29tcGFueSgpe1xuICAgIHRoaXMuX3Nlci5nZXRVc2VyQ29tcGFuaWVzKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh1c2VyQ29tcGFuaWVzRGF0YTogYW55KSA9PiB7XG4gICAgICAgIGlmICh1c2VyQ29tcGFuaWVzRGF0YSAmJiB1c2VyQ29tcGFuaWVzRGF0YS5kYXRhICYmIHVzZXJDb21wYW5pZXNEYXRhLmRhdGEuY29tcGFuaWVzKSB7XG4gICAgICAgICAgdGhpcy51c2VyQ29tcGFuaWVzID0gdXNlckNvbXBhbmllc0RhdGEuZGF0YS5jb21wYW5pZXM7XG4gICAgICAgICAgaWYgKHRoaXMudXNlckNvbXBhbmllcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dTd2l0Y2hDb21wYW5pZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yIGluIGZldGNoaW5nIGNvbXBhbmllcyBmb3IgdGhlIHVzZXJcIik7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldFVzZXJEZXRhaWxzKGVtYWlsOiBzdHJpbmcpe1xuICAgIGxldCByZXEgPSB7XG4gICAgICBlbWFpbDogZW1haWxcbiAgICB9O1xuICAgIHRoaXMuX3Nlci5nZXRVc2VyRGV0YWlsc0J5RW1haWwocmVxKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMudXNlckF1dGhEYXRhID0gcmVzO1xuICAgICAgaWYodGhpcy51c2VyQXV0aERhdGE/Ll9saW5rcz8ucHJvZmlsZUltYWdlPy5ocmVmKXtcbiAgICAgICAgdGhpcy5fc2VyLm9idGFpbkRhdGFCeVVybCh0aGlzLnVzZXJBdXRoRGF0YS5fbGlua3MucHJvZmlsZUltYWdlLmhyZWYpLnN1YnNjcmliZShpbWcgPT4ge1xuICAgICAgICAgIGlmKGltZz8ubG9jYXRpb25Vcmwpe1xuICAgICAgICAgICAgdGhpcy51c2VySW1hZ2VMaW5rID0gaW1nLmxvY2F0aW9uVXJsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYXBwUmVkaXJlY3QoYXBwOmFueSkge1xuICAgIC8vIGlmIChhcHAubmFtZSAhPSAnT3JkZXIgTWFuYWdlbWVudCcpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGFwcC5hcHBVcmwsIFwiX3NlbGZcIik7XG4gICAgLy8gfVxuICB9XG4gIHByb2ZpbGUoKSB7XG4gICAgLy8gdGhpcy5mZXRjaFVzZXJEYXRhKCk7XG4gICAgaWYodGhpcy5fc2VyLnBvcnRhbEZyb250ZW5kVXJsKXtcbiAgICAgIGxldCB1cmwgPSB0aGlzLnBvcnRhbFVybCsnL2FwcC9wcm9maWxlJztcbiAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2FwcC9wcm9maWxlJyk7XG4gICAgfVxuICB9XG4gIG9uTG9nb3V0Q2xpY2soKSB7XG4gICAgQXV0aC5zaWduT3V0KHsgZ2xvYmFsOiB0cnVlIH0pXG4gICAgICAudGhlbihkYXRhID0+IGNvbnNvbGUubG9nKGRhdGEpKVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycilcbiAgICAgICAgQXV0aC5zaWduT3V0KCk7XG4gICAgICB9KTtcbiAgfVxuICBzd2l0Y2hDb21wYW55KGNvbXBhbnk6IGFueSkge1xuICAgIC8vIHN3aXRjaCB0aGUgdXNlciB0byB0aGUgc2VsZWN0ZWMgY29tcGFueVxuXG4gICAgLy8gRmluZCB0aGUgZG9tYWluIGluZm9ybWF0aW9uXG4gICAgbGV0IGRvbWFpbkluZm8gPSB0aGlzLl9zZXIuZ2V0RG9tYWluSW5mbygpO1xuICAgIGlmKGRvbWFpbkluZm8pe1xuICAgICAgbGV0IHJlcTphbnkgPSB7IGNvbXBhbnlLZXk6IGNvbXBhbnkuY29tcGFueUtleSxhcHBOYW1lOiBkb21haW5JbmZvLmFwcENvZGUgfTtcbiAgICAgIHRoaXMuX3Nlci51cGRhdGVVc2VyQ29tcGFueShyZXEpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnR5cGUgJiYgcmVzcG9uc2UudHlwZSA9PSBcIk9LXCIpIHtcbiAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuYXBwbGljYXRpb25VUkwpe1xuICAgICAgICAgICAgICBsZXQgdXJsID0gcmVzcG9uc2UuZGF0YS5hcHBsaWNhdGlvblVSTCArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHJlZnJlc2ggdGhlIGN1cnJlbnQgcGFnZSB0byByZWxvYWQgdGhlIGNvbnRlbnRzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbXBhbnlcbiAgICAgICAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ0NvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3Qgc3VwcG9ydC4nLCAnT0snLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuICBcbn1cbiIsIjxtYXQtdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImNvbW1vbl9oZWFkZXIgc2hhZG93LXNtXCI+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtZW51QWN0aW9uKClcIiBhcmlhLWxhYmVsPVwibWFpbiBtZW51XCIgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJtZW51SGFtYmVyZ2VyIG1lLTRcIj5cbiAgICA8aW1nIHNyYz1cIi4uL2Fzc2V0cy9pbWFnZXMvaGFtYnVyZ2VyX21lbnUuc3ZnXCIgc3R5bGU9XCJ3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7XCI+XG4gIDwvYnV0dG9uPlxuICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZCBtZS1hdXRvXCIgaHJlZj1cIiNcIj5cbiAgICA8aW1nICpuZ0lmPVwiY29tcGFueVByb2ZpbGVcIiBbc3JjXT1cImNvbXBhbnlQcm9maWxlLmxvZ29cIiBhbHQ9XCJMb2dvXCIgc3R5bGU9XCJoZWlnaHQ6IDMwcHg7XCI+XG4gIDwvYT5cbiAgPHNwYW4gY2xhc3M9XCJleGFtcGxlLXNwYWNlclwiPjwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvbiAqbmdJZj1cImFwcExpc3QubGVuZ3RoID4gMFwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm1lLTMgc3dpdGNoQnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFwcHNcIj5cbiAgICA8aW1nIHNyYz1cIi4uL2Fzc2V0cy9pbWFnZXMvYXBwcy5wbmdcIiBhbHQ9XCJhcHBzIGljb25cIiBzdHlsZT1cIndpZHRoOjIwcHg7aGVpZ2h0OiAyMHB4O1wiPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNhcHBzPVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFwcFJlZGlyZWN0KGFwcClcIj57e2FwcC5uYW1lfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtbWVudT5cbiAgPGRpdiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxuICAgIDxwICpuZ0lmPVwidXNlcm5hbWVcIiBjbGFzcz1cInhzSGlkZGVuVXNlcm5hbWUgbWItMFwiPnt7dXNlcm5hbWV9fTwvcD5cbiAgICA8IS0tPHNwYW4gY2xhc3M9XCJ4c0hpZGRlblVzZXJuYW1lIG1iLTBcIiAqbmdGb3I9XCJsZXQgcm9sZSBvZiB1c2VyUm9sZVwiPnt7cm9sZSB8IGZvcm1hdFdvcmQ6IHRydWU6J18nfX08L3NwYW4+LS0+XG4gIDwvZGl2PlxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICA8aW1nIGNsYXNzPVwiYXZhdGFyTG9nb1wiIFtzcmNdPVwidXNlckltYWdlTGluaz91c2VySW1hZ2VMaW5rOicuLi9hc3NldHMvaW1hZ2VzL2RwLnBuZydcIiBhbHQ9XCJBdmF0YXIgTG9nb1wiIGNsYXNzPVwiYXZhdGFyTG9nbyByb3VuZGVkLXBpbGxcIj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjY291bnRzX2RycG1lbnVcIj5cbiAgICA8c3BhbiAqbmdJZj1cInVzZXJuYW1lXCIgY2xhc3M9XCJ4c1Nob3dVc2VybmFtZVwiPnt7dXNlcm5hbWV9fTwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInByb2ZpbGUoKVwiPlByb2ZpbGU8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd1N3aXRjaENvbXBhbmllc1wiIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbXBhbmllc1wiPlN3aXRjaCBDb21wYW55PC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNjb21wYW5pZXM9XCJtYXRNZW51XCIgY2xhc3M9XCJhY2NvdW50c19kcnBtZW51XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIHVzZXJDb21wYW5pZXNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzd2l0Y2hDb21wYW55KGNvbXBhbnkpXCI+e3tjb21wYW55Lm5hbWV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTG9nb3V0Q2xpY2soKVwiPkxvZ291dDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9tYXQtdG9vbGJhcj4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUWhDLE1BQU0sT0FBTyxlQUFlO0lBa0IxQjtRQWhCQSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRVosY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUMsWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUV6Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFckMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUdmLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFHM0Ms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QTtTQUNIO0lBQ0gsQ0FBQzs7NkdBaE1VLGVBQWU7aUdBQWYsZUFBZSxpSkNkNUIsNnpWQXNDYzs0RkR4QkQsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7MEVBSzVCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi1oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQW1wbGlmeSwgQXV0aCB9IGZyb20gJ2F3cy1hbXBsaWZ5JztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XG4gIFxuICB1c2VybmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQE91dHB1dCgpIG1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW5mb0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHNpZGVuYXYhOiBNYXRTaWRlbmF2O1xuICBhcHBMaXN0OiBBcnJheTxhbnk+ID0gW107XG4gIHVzZXJDb21wYW5pZXM6IGFueTtcbiAgc2hvd1N3aXRjaENvbXBhbmllczogYm9vbGVhbiA9IGZhbHNlO1xuICBjb21wYW55UHJvZmlsZTogYW55O1xuICBwb3J0YWxVcmw6IHN0cmluZyA9ICcnO1xuICB1c2VyQXV0aERhdGE6IGFueTtcbiAgdXNlckltYWdlTGluazogYW55O1xuICBwcml2YXRlIF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSBfc25hY2tiYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwcml2YXRlIF9zZXIgPSBpbmplY3QoQ29tbW9uSGVhZGVyU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKXtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hDb21wYW55UHJvZmlsZSgpO1xuICAgIHRoaXMuX3Nlci5nZXRBcHBzKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7XG4gICAgICAgIHRoaXMucG9ydGFsVXJsID0gdj8uZGF0YT8ucG9ydGFsVXJsO1xuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICBjb21wYW55SW5mbzogdGhpcy5jb21wYW55UHJvZmlsZSxcbiAgICAgICAgICBwb3J0YWxVcmw6IHRoaXMucG9ydGFsVXJsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaW5mb0V2ZW50LmVtaXQoZGF0YSk7XG4gICAgICAgIGxldCBjb25maWc6IGFueSA9IEF1dGguY29uZmlndXJlKCk7XG4gICAgICAgIGxldCBzaWdub3V0VXJsID0gYCR7dGhpcy5wb3J0YWxVcmx9L2xvZ2luYDtcbiAgICAgICAgY29uZmlnLm9hdXRoID0gey4uLmNvbmZpZy5vYXV0aCwuLi57XCJyZWRpcmVjdFNpZ25PdXRcIjogc2lnbm91dFVybH19O1xuICAgICAgICBBbXBsaWZ5LmNvbmZpZ3VyZShjb25maWcpO1xuICAgICAgICBpZih2Py5kYXRhPy5hcHBsaWNhdGlvbnMgJiYgdi5kYXRhLmFwcGxpY2F0aW9ucy5sZW5ndGggPiAwKXtcbiAgICAgICAgICAvLyB0aGlzLmZldGNoQ29tcGFueURhdGEodi5kYXRhLmFwcGxpY2F0aW9ucyk7XG4gICAgICAgICAgdGhpcy5hcHBMaXN0ID0gW107XG4gICAgICAgICAgdi5kYXRhLmFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50LmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgYXBwVXJsOiBlbGVtZW50LmFwcFVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICBBdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpLnRoZW4oYXN5bmMgdXNlciA9PiB7XG4gICAgICBcbiAgICAgIGxldCB1c2VyRGV0YWlscyA9IHRoaXMuX3Nlci5nZXRVc2VyRGV0YWlsc0J5RW1haWwoe2VtYWlsOiB1c2VyLmF0dHJpYnV0ZXMuZW1haWx9KTtcbiAgICAgIGxldCB1c2VyQ29tcGFueUluZm8gPSB0aGlzLl9zZXIuZ2V0VXNlckNvbXBhbmllcygpO1xuICAgICAgZm9ya0pvaW4oW3VzZXJEZXRhaWxzLHVzZXJDb21wYW55SW5mb10pLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICBpZihyZXMgJiYgcmVzWzBdKXtcbiAgICAgICAgICAgIHRoaXMudXNlckF1dGhEYXRhID0gcmVzWzBdO1xuICAgICAgICAgICAgdGhpcy51c2VybmFtZSA9IHRoaXMudXNlckF1dGhEYXRhLmZpcnN0TmFtZTtcbiAgICAgICAgICAgIGlmKHRoaXMudXNlckF1dGhEYXRhPy5fbGlua3M/LnByb2ZpbGVJbWFnZT8uaHJlZil7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0VXNlclByb2ZpbGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYocmVzICYmIHJlc1sxXSl7XG4gICAgICAgICAgICBpZiAocmVzWzFdICYmIHJlc1sxXS5kYXRhICYmIHJlc1sxXS5kYXRhLmNvbXBhbmllcykge1xuICAgICAgICAgICAgICB0aGlzLnVzZXJDb21wYW5pZXMgPSByZXNbMV0uZGF0YS5jb21wYW5pZXM7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnVzZXJDb21wYW5pZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1N3aXRjaENvbXBhbmllcyA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yKHZhciBjb20gb2YgdGhpcy51c2VyQ29tcGFuaWVzKXtcbiAgICAgICAgICAgICAgICAgIGlmKGNvbS5jb21wYW55S2V5ID09IHRoaXMudXNlckF1dGhEYXRhLmxhc3RBY2Nlc3NlZENvbXBhbnlLZXkpe1xuICAgICAgICAgICAgICAgICAgICBjb20uYWN0aXZlTm93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4gY29uc29sZS5sb2coXCJVc2VyIG5vdCBsb2dnZWQgaW5cIikpO1xuICB9XG5cbiAgbWVudUFjdGlvbigpe1xuICAgIHRoaXMubWVudUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGZldGNoQ29tcGFueVByb2ZpbGUoKXtcbiAgICBsZXQgcmVxID0ge1xuICAgICAgY29tcGFueU5hbWU6IGRvY3VtZW50LmxvY2F0aW9uLmhvc3Quc3BsaXQoJy4nKVswXVxuICAgIH07XG4gICAgdGhpcy5fc2VyLmZldGNoQ29tcGFueVByb2ZpbGUocmVxKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5jb21wYW55UHJvZmlsZSA9IHY7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB2LFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGZldGNoQ29tcGFueURhdGEoYWxsQXBwczpBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5fc2VyLmdldENvbXBhbnlBcHBsaWNhdGlvbnMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYgKHY/LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucykge1xuICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFtdO1xuICAgICAgICAgIGxldCBhcHBJbmZvID0gW107XG4gICAgICAgICAgbGV0IGZldGNoZWRBcHBsaWNhdGlvbnMgPSB2LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucy5zcGxpdCgnLCcpO1xuXG4gICAgICAgICAgaWYgKGZldGNoZWRBcHBsaWNhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmV0Y2hlZEFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgICBhcHBJbmZvID0gYWxsQXBwcy5maWx0ZXIoZWxlID0+IGVsZS5uYW1lID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgICBpZiAoYXBwSW5mbyAmJiBhcHBJbmZvLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZihhcHBJbmZvWzBdLm5hbWUgIT0gJ21jYScpe1xuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcHBJbmZvWzBdLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYXBwVXJsOiBhcHBJbmZvWzBdLmFwcFVybFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBcblxuICBnZXRVc2VyUHJvZmlsZSgpe1xuICAgIHRoaXMuX3Nlci5vYnRhaW5EYXRhQnlVcmwodGhpcy51c2VyQXV0aERhdGEuX2xpbmtzLnByb2ZpbGVJbWFnZS5ocmVmKS5zdWJzY3JpYmUoaW1nID0+IHtcbiAgICAgIGlmKGltZz8ubG9jYXRpb25Vcmwpe1xuICAgICAgICB0aGlzLnVzZXJJbWFnZUxpbmsgPSBpbWcubG9jYXRpb25Vcmw7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGFwcFJlZGlyZWN0KGFwcDphbnkpIHtcbiAgICAvLyBpZiAoYXBwLm5hbWUgIT0gJ09yZGVyIE1hbmFnZW1lbnQnKSB7XG4gICAgICB3aW5kb3cub3BlbihhcHAuYXBwVXJsLCBcIl9zZWxmXCIpO1xuICAgIC8vIH1cbiAgfVxuICBwcm9maWxlKCkge1xuICAgIC8vIHRoaXMuZmV0Y2hVc2VyRGF0YSgpO1xuICAgIGlmKHRoaXMuX3Nlci5wb3J0YWxGcm9udGVuZFVybCl7XG4gICAgICBsZXQgdXJsID0gdGhpcy5wb3J0YWxVcmwrJy9hcHAvcHJvZmlsZSc7XG4gICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJy9hcHAvcHJvZmlsZScpO1xuICAgIH1cbiAgfVxuICBvbkxvZ291dENsaWNrKCkge1xuICAgIEF1dGguc2lnbk91dCh7IGdsb2JhbDogdHJ1ZSB9KVxuICAgICAgLnRoZW4oZGF0YSA9PiBjb25zb2xlLmxvZyhkYXRhKSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpXG4gICAgICAgIEF1dGguc2lnbk91dCgpO1xuICAgICAgfSk7XG4gIH1cbiAgc3dpdGNoQ29tcGFueShjb21wYW55OiBhbnkpIHtcbiAgICAvLyBzd2l0Y2ggdGhlIHVzZXIgdG8gdGhlIHNlbGVjdGVjIGNvbXBhbnlcblxuICAgIC8vIEZpbmQgdGhlIGRvbWFpbiBpbmZvcm1hdGlvblxuICAgIGxldCBkb21haW5JbmZvID0gdGhpcy5fc2VyLmdldERvbWFpbkluZm8oKTtcbiAgICBpZihkb21haW5JbmZvKXtcbiAgICAgIGxldCByZXE6YW55ID0geyBjb21wYW55S2V5OiBjb21wYW55LmNvbXBhbnlLZXksYXBwTmFtZTogZG9tYWluSW5mby5hcHBDb2RlIH07XG4gICAgICB0aGlzLl9zZXIudXBkYXRlVXNlckNvbXBhbnkocmVxKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS50eXBlICYmIHJlc3BvbnNlLnR5cGUgPT0gXCJPS1wiKSB7XG4gICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLmFwcGxpY2F0aW9uVVJMKXtcbiAgICAgICAgICAgICAgbGV0IHVybCA9IHJlc3BvbnNlLmRhdGEuYXBwbGljYXRpb25VUkwgKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByZWZyZXNoIHRoZSBjdXJyZW50IHBhZ2UgdG8gcmVsb2FkIHRoZSBjb250ZW50cyBiYXNlZCBvbiB0aGUgY3VycmVudCBjb21wYW55XG4gICAgICAgICAgICAvLyB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gZGlzcGxheSBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgdGhhdCB0aGUgY29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuXG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgLy8gZGlzcGxheSBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgdGhhdCB0aGUgY29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuXG4gICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlbignQ29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuIFBsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LicsICdPSycsIHsgZHVyYXRpb246IDUwMDAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cbiAgXG59XG4iLCI8bWF0LXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJjb21tb25faGVhZGVyIHNoYWRvdy1zbVwiPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibWVudUFjdGlvbigpXCIgYXJpYS1sYWJlbD1cIm1haW4gbWVudVwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwibWVudUhhbWJlcmdlciBtZS00XCI+XG4gICAgPGltZyBzcmM9XCIuLi9hc3NldHMvaW1hZ2VzL2hhbWJ1cmdlcl9tZW51LnN2Z1wiIHN0eWxlPVwid2lkdGg6IDIwcHg7aGVpZ2h0OiAyMHB4O1wiPlxuICA8L2J1dHRvbj5cbiAgPGEgY2xhc3M9XCJuYXZiYXItYnJhbmQgbWUtYXV0b1wiIGhyZWY9XCIjXCI+XG4gICAgPGltZyAqbmdJZj1cImNvbXBhbnlQcm9maWxlXCIgW3NyY109XCJjb21wYW55UHJvZmlsZS5sb2dvXCIgYWx0PVwiTG9nb1wiIHN0eWxlPVwiaGVpZ2h0OiAzMHB4O1wiPlxuICA8L2E+XG4gIDxzcGFuIGNsYXNzPVwiZXhhbXBsZS1zcGFjZXJcIj48L3NwYW4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDxidXR0b24gKm5nSWY9XCJhcHBMaXN0Lmxlbmd0aCA+IDBcIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJtZS0zIHN3aXRjaEJ1dHRvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhcHBzXCI+XG4gICAgPGltZyBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURJQUFBQXlDQVlBQUFBZVA0aXhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQXBrbEVRVlI0bk8zWVFRNkVJQkJFMFRwTDQyR0VxeEV1NlJ4RUE2dFowQk5kT09ub2Z3azdJVEZhVWlJQnVNVFdWbEpwbjZXMC9kZm8xMWl1T2NMY3FUT0xmWTB0d3R5cEM0dU5FV0h1RkRjaW5zakFxK1VoSXlJajkyUWtQV1ZEdEZ4enYvRE1ZcW0wTmNKYzRKK01HcTlZWDYyRkdpLytSenJhcjRlTWlJd01aTVJEalJjMUh1OWcxSGhSNHpzMlJBK2xVWlRHZ1l4NHlJaUNaU1J4R2k5TzR3SEZkUUIxME4vaDA4ODBJZ0FBQUFCSlJVNUVya0pnZ2c9PVwiIGFsdD1cImFwcHMgaWNvblwiIHN0eWxlPVwid2lkdGg6MjBweDtoZWlnaHQ6IDIwcHg7XCI+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI2FwcHM9XCJtYXRNZW51XCIgY2xhc3M9XCJhY2NvdW50c19kcnBtZW51XCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYXBwIG9mIGFwcExpc3RcIj5cbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiYXBwUmVkaXJlY3QoYXBwKVwiPnt7YXBwLm5hbWV9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1tZW51PlxuICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+XG4gICAgPHAgKm5nSWY9XCJ1c2VybmFtZVwiIGNsYXNzPVwieHNIaWRkZW5Vc2VybmFtZSBtYi0wXCI+e3t1c2VybmFtZX19PC9wPlxuICAgIDwhLS08c3BhbiBjbGFzcz1cInhzSGlkZGVuVXNlcm5hbWUgbWItMFwiICpuZ0Zvcj1cImxldCByb2xlIG9mIHVzZXJSb2xlXCI+e3tyb2xlIHwgZm9ybWF0V29yZDogdHJ1ZTonXyd9fTwvc3Bhbj4tLT5cbiAgPC9kaXY+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuICAgIDxpbWcgY2xhc3M9XCJhdmF0YXJMb2dvXCIgW3NyY109XCJ1c2VySW1hZ2VMaW5rP3VzZXJJbWFnZUxpbms6Jy4uL2Fzc2V0cy9pbWFnZXMvZHAucG5nJ1wiIGFsdD1cIkF2YXRhciBMb2dvXCIgY2xhc3M9XCJhdmF0YXJMb2dvIHJvdW5kZWQtcGlsbFwiPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudVwiPlxuICAgIDxzcGFuICpuZ0lmPVwidXNlcm5hbWVcIiBjbGFzcz1cInhzU2hvd1VzZXJuYW1lXCI+e3t1c2VybmFtZX19PC9zcGFuPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicHJvZmlsZSgpXCI+UHJvZmlsZTwvYnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJzaG93U3dpdGNoQ29tcGFuaWVzXCIgbWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwiY29tcGFuaWVzXCI+U3dpdGNoIENvbXBhbnk8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI2NvbXBhbmllcz1cIm1hdE1lbnVcIiBjbGFzcz1cImFjY291bnRzX2RycG1lbnVcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbXBhbnkgb2YgdXNlckNvbXBhbmllc1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInN3aXRjaENvbXBhbnkoY29tcGFueSlcIj5cbiAgICAgICAgICB7e2NvbXBhbnkubmFtZX19XG4gICAgICAgICAgPGltZyAqbmdJZj1cImNvbXBhbnkuYWN0aXZlTm93XCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFnQUFBQUlBQ0FZQUFBRDBlTlQ2QUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUFORUFBQURSQUJ5bjcwL1FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCZytTVVJCVkhpYzdkMWRqT1gzZmRmeHovL00yc2JlaDhZT2NTTEZWYjEyQ2xVamFBb1hxSXFFakZBbEtJRkFWVnlaaUVCRmhCODJwQ0pWdWVBQ3JSQ2dTaFdwRkxwMktEVnFxQU9KVlZSUnRWV2JTQ2d0U0VHS2pOcUtRRlduM3QzS1BLUnhVOFU3YThkZTcveTRpSGU3WHM5ODU4ek1PZWYvOUhwZGVkZXpPNys3ei92M1ArZk1KZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3Q0IwZlI4QUFPYnFYUi8vZzFPdkhidjF1N3UwYjAvWDNadmt6dGE2Mjd1MEsxMlhsM2RhdnJabzNiUFo2cDY5czd2ak41OTV1THV5cXU4dEFBQmdnMDUvWXZ1N3VwMDhsSzU5YjJ2NXJpUmJ5LzNKN25MU3Z0QmE5NHZ0V1BmMHhZZVAvOStqbkVNQUFNQ2F2ZnZwZHV2TEwxejZRT3U2ZjVpV1A3V0N2L0pxYSsxWHMraCsvTUtqSno5L21MOUFBQURBdXJUV25YNzg4dC91dXZZdld2TE85WHlQZktITDRvZWZPM1A4aXdmNVl3SUFBTmJnOU9Ndi9zbWtlekxKZXpmdzdYYVMvUFFkN2VVZitkS1p1N2VYK1FNQ0FBQlc3UFM1N1ErbWErZVNuTmpzZCs0dXRGeDk2TUpqMy9MZjl2dkt4U2FPQXdDejBGcDMzK1BiUDVhdWZUSWJILzhrYWZkMldYeis5TGxMUDdEZlYzb0NBQUFyOE1EWmR1emkzWmVlVExvUDluMldKRmZUMnNQbno1eDZjcTh2RUFBQWNGUlB0NjNUWDkzK1pMcDhvTytqM0tDbDYvN08rVWRQL094dS8xTUFBTUFSZlBQbXYvMVVraC9zK3l5N2VLVjErVXU3ZlZSUUFBREFZUTN6NXY5R0xWOXA2ZDV6NGN5Si8zZmpiM3NUSUFBY3dnTm4yN0hUTDJ4L2F0RGpueVJkM3I3b2R2N3R6Yjh0QUFEZ29KNXVXeGZmdHYwekdlWmovemRwNmY3eTZTY3VQWGpqNzNrSkFBQU9ZT0N2K2UrdHkvTXZiVi8ranEvODZEc3VKNTRBQU1EeVJuYnpmNE9XZTI2LzQ4U0hydjNTRXdBQVdNWVkzdkMzbnk3UDMvSFdFL2QvNmNIdVZVOEFBR0FmbzNuRDMzNWE3cm44d3FYdlM3d0VBQUMxTVQvMjMwWFh1b2NTTHdFQXdKNUcrNGEvMmt0YnI1MjRhNnZ2VXdEQUlEM2R0cnBzZnpKZEh1cjdLQ3QyUzF1ODhsa0JBQUEzZWVCc085WjEyNSthNFBoL1UrdCtWd0FBd0kybWUvTy9yaTN5RlFFQUFOZE00YU4rUytoYWUwVUFBRUJtOE5qL1JsM1hDUUFBbU1Gai81c0pBQUJtYlZZMy96OXlUQUFBTUY4enZQbS83cklBQUdDV1pucnp2K1pyQWdDQStabnZ6ZjkxN2JmOVd3QUF6TXRNUHVwWGFlbWU5UVFBZ05tWStXUC82N3EwVDNzQ0FNQThUT3hmOVR1S3J1WFgvV3VBQUV6ZVJQOVZ2MFBxTG0rOWR2eXRuZ0FBTUcxdS9tL1F1dllMWC81STk4cXh2ZzhDQU92eXdObDI3T0lMMjArbE0vN1hkSzE5T2trOEFRQmdtdHo4ZDlGZCtMYmZQL25MaVFBQVlJcDgxRzkzWGZ1WG56L2J2WllrWGdJQVlGSTg5dDlMdTNqbDVaTlBYdnVWbndNQXdIVE0vaWY4N2EzcnVnOWQvTWh0djNYOTEzMGVCZ0JXeFVmOUt0MHZubi9zeEYrOThYZThCQURBK0QzZHRpNSsxUnYrZHRNbC8vdlkxczRQM2Z6N1hnSUFZTlQ4ZU4vU043clczdi9sUjAvOTlzMy9Rd0FBTUY1ZTg2L3NwT1Z2blQ5ejZsZDIrNThDQUlCUmN2TXZ0YlQyeVBrenA1N2E2d3NFQUFEajQrWmZhVjNMaDgrZk9mV3ZxeS95S1FBQXhzVVArYW0wcnVYRHo1MDUrZmgrWHlnQUFCZ1A0MTlaZXZ3VEFRREFXQmoveW9IR1B4RUFBSXlCOGE4Y2VQd1RBUURBMEJuL3lxSEdQeEVBQUF5WjhhOGNldndUQVFEQVVCbi95cEhHUHhFQUFBeVI4YThjZWZ3VEFRREEwQmoveWtyR1B4RUFBQXlKOGErc2JQd1RBUURBVUJqL3lrckhQeEVBQUF5QjhhK3NmUHdUQVFCQTM0eC9aUzNqbndnQUFQcGsvQ3RyRy85RUFBRFFGK05mV2V2NEp3SUFnRDRZLzhyYXh6OFJBQUJzbXZHdmJHVDhFd0VBd0NZWi84ckd4ajhSQUFCc2l2R3ZiSFQ4RXdFQXdDWVkvOHJHeHo4UkFBQ3NtL0d2OURMK2lRQUFZSjJNZjZXMzhVOEVBQURyWXZ3cnZZNS9JZ0FBV0FmalgrbDkvQk1CQU1DcUdmL0tJTVkvRVFBQXJKTHhyd3htL0JNQkFNQ3FHUC9Lb01ZL0VRQUFySUx4cnd4dS9CTUJBTUJSR2YvS0lNYy9FUUFBSElYeHJ3eDIvQk1CQU1CaEdmL0tvTWMvRVFBQUhJYnhyd3grL0JNQkFNQkJHZi9LS01ZL0VRQUFISVR4cjR4bS9CTUJBTUN5akg5bFZPT2ZDQUFBbG1IOEs2TWIvMFFBQUxBZjQxOFo1ZmduQWdDQWl2R3ZqSGI4RXdFQXdGNk1mMlhVNDU4SUFBQjJZL3dyb3gvL1JBQUFjRFBqWDVuRStDY0NBSUFiR2YvS1pNWS9FUUFBWEdQOEs1TWEvMFFBQUpBWS85cmt4ajhSQUFBWS84b2t4ejhSQUFEelp2d3JreDMvUkFBQXpKZnhyMHg2L0JNQkFEQlB4cjh5K2ZGUEJBREEvQmoveWl6R1B4RUFBUE5pL0N1ekdmOUVBQURNaC9HdnpHcjhFd0VBTUEvR3Z6Szc4VThFQU1EMEdmL0tMTWMvRVFBQTAyYjhLN01kLzBRQUFFeVg4YS9NZXZ3VEFRQXdUY2EvTXZ2eFR3UUF3UFFZLzRyeGY1MEFBSmdTNDE4eC9qY1FBQUJUWWZ3cnh2OG1BZ0JnQ294L3hmanZRZ0FBakozeHJ4ai9QUWdBZ0RFei9oWGpYeEFBQUdObC9DdkdmeDhDQUdDTWpIL0YrQzlCQUFDTWpmR3ZHUDhsQ1FDQU1USCtGZU4vQUFJQVlDeU1mOFg0SDVBQUFCZ0Q0MTh4L29jZ0FBQ0d6dmhYalA4aENRQ0FJVFArRmVOL0JBSUFZS2lNZjhYNEg1RUFBQmdpNDE4eC9pc2dBQUNHeHZoWGpQK0tDQUNBSVRIK0ZlTy9RZ0lBWUNpTWY4WDRyNWdBQUJnQzQxOHgvbXNnQUFENlp2d3J4bjlOQkFCQW40eC94Zml2a1FBQTZJdnhyeGovTlJNQUFIMHcvaFhqdndFQ0FHRFRqSC9GK0crSUFBRFlKT05mTWY0YkpBQUFOc1g0VjR6L2hna0FnRTB3L2hYajN3TUJBTEJ1eHI5aS9Ic2lBQURXeWZoWGpIK1BCQURBdWhqL2l2SHZtUUFBV0Fmalh6SCtBeUFBQUZiTitGZU0vMEFJQUlCVk12NFY0ejhnQWdCZ1ZZeC94ZmdQakFBQVdBWGpYekgrQXlRQUFJN0srRmVNLzBBSkFJQ2pNUDRWNHo5Z0FnRGdzSXgveGZnUG5BQUFPQXpqWHpIK0l5QUFBQTdLK0ZlTS8wZ0lBSUNETVA0VjR6OGlBZ0JnV2NhL1l2eEhSZ0FBTE1QNFY0ei9DQWtBZ1AwWS80cnhIeWtCQUZBeC9oWGpQMklDQUdBdnhyOWkvRWRPQUFEc3h2aFhqUDhFQ0FDQW14bi9pdkdmQ0FFQWNDUGpYekgrRXlJQUFLNHgvaFhqUHpFQ0FDQXgvalhqUDBFQ0FNRDRWNHovUkswMEFONzVreSsrOWJaalczOHVPKzA3V211bjArWHRTWGQ3MG01SjhtTFN2WmpzUEpkMHoxN04xV2QrNzdHM1BMZks3dzl3VUErY2JjY3UzcjM5VkpJZjdQc3NBOVNTUEhMK3NaTS8xZmRCV0wwakI4RHB4N2YvZEd0NXFPdmErNUs4KzBCL1o1Zm4yMDczMlc0cm56NS8xL0gvbkFlN3EwYzlEOEN5akgvSitFL2NvUUxnZ2JQdDJJVzNiLy9BSXZuUjF2Sm5WblNXLzlQU1ByN1lldTBUenoxODE5ZFg5SGNDN01yNGw0ei9EQnc0QU81NzRzWDN0ZFo5TE1tM3IrRThTZkwxTHQwL3ZYUHIrTDk2NXVIdXlwcStCekJqeHI5ay9HZGk2UUM0LzRsTGQrKzAvSnNrZjIyTjU3bXVTLzVuMnVMdlBuZm0rQmMzOGYyQWVURCtKZU0vSTR0bHZ1aStuOXoraXpzdHY1a05qWCtTdE9RN1c3ZnpYMDgvc2YwamFjMm5GWUFqTS80bDR6OHordzdyNlhQYkgwelhua3h5YkFQbjJVUDcyYnUyVHY0OUx3a0FoK2FqZmhVZjladWhNZ0R1UGZmaVArcTY3c2YyKzdyTjZIN3B5amVPLzgzblA5cTkzUGRKZ0hGeDh5KzUrYy9VbnNOKzcrT1hIdW1TSnpaNW1IMjFmTzdLS3lmZUx3S0FwYm41Vjl6OFoyelhBTGozOFJmL2VwZnU1NUpzYmZnOCt4TUJ3SkxjL0V0dS9qUDNwZ0M0Lzl4TDM3clRYZjJOSkhmMWNKN2xpQUJnUDI3K0ZUZC9idm9Vd05tMjJNblZ6MlRJNDU4a1hiNzNsdHUyLzlNOUgydTM5MzBVWUhnZU9OdU9uWDVoKzFQR2YxY3R5U1BHbnpjRXdMMTNiLy85ZFBtZXZnNXpJQ0lBMk0zVGJldmkyN1ovSmg3Nzc2WjFMUi8yMkova2hwY0E3dm5wcjk5MXk2dUwzMG55MWg3UGMzQmVEZ0JlNXpYL2t0ZjhlWVByVHdDT1hWbjhnNHh0L0JOUEFvQnZjdk92dVBuekpsMlMzUE94ZHZzdGYyejdZcEszOVh5ZXcvTWtBR2JMemIvazVzK3VGa2x5NisyWHZ6OWpIdi9Fa3dDWUt6Zi9pcHMvZTFva1NXdDVxTytEcklRSWdIbnhVYitLai9wUjZ0NTk3dmRQdk5UZC9yVWt0L1I5bUpYeGNnQk1uc2YrSlkvOTJkZmk4dUtPOTJaSzQ1OTRFZ0JUNTdGL3hXTi9sckxvZHRwNyt6N0VXb2dBbUNRLzVLZmtoL3l3dEVXNmZHZmZoMWdiRVFEVDR1WmZjZlBuUUJicDhpZjZQc1JhaVFDWUJtLzRxM2pESHdlMlNNczcrajdFMm9rQUdEZmpYekgrSE1vaXlmRytEN0VSSWdER3lmaFhqRCtIdGtoeVc5K0gyQmdSQUtQaURYOGxiL2pqU0JaSjV2VlplUkVBNCtBTmZ4VnYrT1BJRmtrdTlYMklqUk1CTUdodS9pVTNmMVppa2JUbit6NUVMMFFBREpPYmY4WE5uNVZadEhUUDluMkkzb2dBR0JaditLdDR3eDhydFVqYWIvVjlpRjZKQUJnRWovMUxIdnV6Y291dGx2L1M5eUY2SndLZ1h4NzdWenoyWnkwV2J6bDI4b3VaNHhzQmJ5WUNvQmR1L2lVM2Y5Wm04Y3pEM1pXay9YemZCeGtFRVFDYjVlWmZjZk5uclJaSjB0cmlQL1I5a01FUUFiQVJidjRsTjMvV2JwRWtGNzU2L0xOSi9sZlBaeGtPRVFEcjVlWmZjZk5uSXhaSmtyUGRUbHI3aVo3UE1pd2lBTmJEUi8wcVB1ckh4aXl1L2NjZGJ6djV5U1MvMCtOWmhrY0V3RXA1N0YveTJKK051aDRBWDNxd2V6V0w3c045SG1hUVJBQ3Noc2YrRlkvOTJiakZqYjg0LzhpSno3WGszL2QxbU1FU0FYQWtidjRsTjM5NnNiajVONDYzbHgrT2x3TGVUQVRBNGJqNVY5ejg2VTIzMjIvZWUyNzdQVjNYZmkzSnFRMmZaL2hhUG5mbGxSUHZmLzZqM2J6K0dXVTRoQWZPdG1NWDc5NStLc1ovTnkzSkk4YWZ2cnpwQ1VDU1hEaHo0amRhbC9jbmVXWEQ1eGsrVHdKZ09XNytGVGQvZXJkckFDVEpoVWRQZm42bmF3OGx1YkxCODR5RENJQ1MxL3hMWHZObkVQWU1nQ1M1K09pcG4rK3k4emZpU2NDYmlRRFluWnQveGMyZndkajFQUUEzdSsveHIvK1Zsc1YvVEhMYm1zOHpQdDRUQUgvRUQvbXArQ0UvRE1wU0FaQ0lnSklJQU9OZk0vNE16dElCa0lpQWtnaGd6b3gveGZnelNBY0tnRVFFbEVRQWMyVDhLOGFmd1Rwd0FDUWlvQ1FDbUJQalh6SCtETnFoQWlBUkFTVVJ3QndZLzRyeFovQU9IUUNKQ0NpSkFLYk0rRmVNUDZOd3BBQklSRUJKQkRCRnhyOWkvQm1OSXdkQUlnSktJb0FwTWY0VjQ4K29yQ1FBRWhGUUVnRk1nZkd2R0g5R1oyVUJrSWlBa2doZ3pJeC94Zmd6U2lzTmdFUUVsRVFBWTJUOEs4YWYwVnA1QUNRaW9DUUNHQlBqWHpIK2pOcGFBaUFSQVNVUndCZ1kvNHJ4Wi9UV0ZnQ0pDQ2lKQUliTStGZU1QNU93MWdCSVJFQkpCREJFeHI5aS9KbU10UWRBSWdKS0lvQWhNZjRWNDgra2JDUUFFaEZRRWdFTWdmR3ZHSDhtWjJNQmtJaUFrZ2lnVDhhL1l2eVpwSTBHUUNJQ1NpS0FQaGovaXZGbnNqWWVBSWtJS0lrQU5zbjRWNHcvazlaTEFDUWlvQ1FDMkFUalh6SCtURjV2QVpDSWdKSUlZSjJNZjhYNE13dTlCa0FpQWtvaWdIVXcvaFhqejJ6MEhnQ0pDQ2lKQUZiSitGZU1QN015aUFCSVJFQkpCTEFLeHI5aS9KbWR3UVJBSWdKS0lvQ2pNUDRWNDg4c0RTb0FFaEZRRWdFY2h2R3ZHSDltYTNBQmtJaUFrZ2pnSUl4L3hmZ3phNE1NZ0VRRWxFUUF5ekQrRmVQUDdBMDJBQklSVUJJQlZJeC94ZmhEQmg0QWlRZ29pUUIyWS93cnhoOWVOL2dBU0VSQVNRUndJK05mTWY1d2cxRUVRQ0lDU2lLQXhQalhqRC9jWkRRQmtJaUFrZ2lZTitOZk1mNndpMUVGUUNJQ1NpSmdub3gveGZqREhrWVhBSWtJS0ltQWVUSCtGZU1QaFZFR1FDSUNTaUpnSG94L3hmakRQa1liQUlrSUtJbUFhVFArRmVNUFN4aDFBQ1Fpb0NRQ3BzbjRWNHcvTEduMEFaQ0lnSklJbUJialh6SCtjQUNUQ0lCRUJKUkV3RFFZLzRyeGh3T2FUQUFrSXFBa0FzYk4rRmVNUHh6Q3BBSWdFUUVsRVRCT3hyOWkvT0dRSmhjQWlRZ29pWUJ4TWY0VjR3OUhNTWtBU0VSQVNRU01nL0d2R0g4NG9za0dRQ0lDU2lKZzJJeC94ZmpEQ2t3NkFCSVJVQklCdzJUOEs4WWZWbVR5QVpDSWdKSUlHQmJqWHpIK3NFS3pDSUJFQkpSRXdEQVkvNHJ4aHhXYlRRQWtJcUFrQXZwbC9DdkdIOVpnVmdHUWlJQ1NDT2lIOGE4WWYxaVQyUVZBSWdKS0ltQ3pqSC9GK01NYXpUSUFFaEZRRWdHYllmd3J4aC9XYkxZQmtJaUFrZ2hZTCtOZk1mNndBYk1PZ0VRRWxFVEFlaGovaXZHSERabDlBQ1Fpb0NRQ1ZzdjRWNHcvYkpBQWVKMElLSWlBMVREK0ZlTVBHeVlBYmlBQ0NpTGdhSXgveGZoRER3VEFUVVJBUVFRY2p2R3ZHSC9vaVFEWWhRZ29pSUNETWY0VjR3ODlFZ0I3RUFFRkViQWM0MTh4L3RBekFWQVFBUVVSVURQK0ZlTVBBeUFBOWlFQ0NpSmdkOGEvWXZ4aElBVEFFa1JBUVFTOGtmR3ZHSDhZRUFHd0pCRlFFQUhmWlB3cnhoOEdSZ0FjZ0Fnb3pEMENqSC9GK01NQUNZQURFZ0dGdVVhQThhOFlmeGdvQVhBSUlxQXd0d2d3L2hYakR3TW1BQTVKQkJUbUVnSEd2Mkw4WWVBRXdCR0lnTUxVSThENFY0dy9qSUFBT0NJUlVKaHFCQmovaXZHSGtSQUFLeUFDQ2xPTEFPTmZNZjR3SWdKZ1JVUkFZU29SWVB3cnhoOUdSZ0Nza0Fnb2pEMENqSC9GK01NSUNZQVZFd0dGc1VhQThhOFlmeGdwQWJBR0lxQXd0Z2d3L2hYakR5TW1BTlpFQkJUR0VnSEd2Mkw4WWVRRXdCcUpnTUxRSThENFY0dy9USUFBV0RNUlVCaHFCQmovaXZHSGlSQUFHeUFDQ2tPTEFPTmZNZjR3SVFKZ1EwUkFZU2dSWVB3cnhoOG1SZ0Jza0FnbzlCMEJ4cjlpL0dHQ0JNQ0dpWUJDWHhGZy9DdkdIeVpLQVBSQUJCUTJIUUhHdjJMOFljSUVRRTlFUUdGVEVXRDhLOFlmSms0QTlFZ0VGTllkQWNhL1l2eGhCZ1JBejBSQVlWMFJZUHdyeGg5bVFnQU1nQWdvckRvQ2pIL0YrTU9NQ0lDQkVBR0ZWVVdBOGE4WWY1Z1pBVEFnSXFCdzFBZ3cvaFhqRHpNa0FBWkdCQlFPR3dIR3YyTDhZYVlFd0FDSmdNSkJJOEQ0VjR3L3pKZ0FHQ2dSVUZnMkFveC94ZmpEekFtQUFSTUJoZjBpd1BoWGpEOGdBSVpPQkJUMmlnRGpYekgrUUJJQk1Bb2lvSEJ6QkJqL2l2RUhyaE1BSXlFQ0N0Y2k0SjY4YXZ6M1pQeUJOeEFBSTNMZnVVdmYzN3A4T3NrdGZaOWxjRm8rbCtRUDArWEJ2bzh5UUMzSkkrY2ZPL2xUZlI4RUdBNEJNRElpZ0FOeTh3ZDJKUUJHU0FTd0pPTVA3RWtBakpRSVlCL0dIeWdKZ0JFVEFlekIrQVA3RWdBakp3SzRpZkVIbGlJQUprQUU4RHJqRHl4TkFFeUVDSmc5NHc4Y2lBQ1lFQkV3VzhZZk9EQUJNREVpWUhhTVAzQW9BbUNDUk1Cc0dIL2cwQVRBUkltQXlUUCt3SkVJZ0FrVEFaTmwvSUVqRXdBVEp3SW14L2dES3lFQVprQUVUSWJ4QjFaR0FNeUVDQmc5NHcrc2xBQ1lFUkV3V3NZZldEa0JNRE1pWUhTTVA3QVdBbUNHUk1Cb0dIOWdiUVRBVEltQXdUUCt3Rm9KZ0JrVEFZTmwvSUcxRXdBekp3SUd4L2dER3lFQUVBSERZZnlCalJFQUpCRUJBMkQ4Z1kwU0FGd25BbnBqL0lHTkV3QzhnUWpZT09NUDlFSUE4Q1lpWUdPTVA5QWJBY0N1Uk1EYUdYK2dWd0tBUFltQXRUSCtRTzhFQUNVUnNITEdIeGdFQWNDK1JNREtHSDlnTUFRQVN4RUJSMmI4Z1VFUkFDeE5CQnlhOFFjR1J3QndJQ0xnd0l3L01FZ0NnQU1UQVVzei9zQmdDUUFPUlFUc3kvZ0RneVlBT0RRUnNDZmpEd3llQU9CSVJNQ2JHSDlnRkFRQVJ5WUNyalArd0dnSUFGWkNCQmgvWUZ3RUFDc3o0d2d3L3NEb0NBQldhb1lSWVB5QlVSSUFyTnlNSXNENEE2TWxBRmlMR1VTQThRZEdUUUN3TmhPT0FPTVBqSjRBWUswbUdBSEdINWdFQWNEYVRTZ0NqRDh3R1FLQWpaaEFCQmgvWUZJRUFCc3o0Z2d3L3NEa0NBQTJhb1FSWVB5QlNSSUFiTnlJSXNENEE1TWxBT2pGQ0NMQStBT1RKZ0RvellBandQZ0RreWNBNk5VQUk4RDRBN01nQU9qZGZVKzgrTDdXdXM4a3VhUG5vMXhKNno1MC9zeUpmOWZ6T1FEV1RnQXdDTi8yaVJlL1o3SFQvVUtTUDk3VEVTNjExajE0NGN5SlgrbnArd05zMUtMdkEwQ1NYSHprMUJlMlh0djY3blQ1OVUxLzc2N0xmKzhXTzMvVytBTno0Z2tBdy9KMDJ6cjl3cVdQSnQwL1NYSml6ZC90RzJuNThhMnJKLzc1bHovU3ZiTG03d1V3S0FLQVFicm5pWmZlZVd0Mi9sbHI3UU5aL1JzRXJ5YjV1YXU1K285Lzc3RzNQTGZpdnh0Z0ZBUUFnM2IvdVplK2RTZXYvWEM2N2dOSjNuSEV2KzRQMHVVemk1MmRuL2pkTTkveTVWV2NEMkNzQkFEajhIVGJ1dStGeTM5aHA5djV2cTUxZno3SmU1SnM3Zk9uZHBMOGp5Uy8xbVhuVisvY092WFpaeDd1cnF6OXJBQWpJQUFZcFhkOXZOMzI2cTNiOTIvdHRIZTFMTzVjZE8yTzFySm9yVjFPeXg4dTJ1SzVuUlBIbjczd1E5MDMrajRyQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTUN5L2o4bGlXZ01uOWJhVFFBQUFBQkpSVTVFcmtKZ2dnPT1cIiBhbHQ9XCJkb25lIGljb25cIiBzdHlsZT1cIndpZHRoOjE4cHg7aGVpZ2h0OiAxOHB4O21hcmdpbi1sZWZ0OiA1cHg7XCI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTG9nb3V0Q2xpY2soKVwiPkxvZ291dDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9tYXQtdG9vbGJhcj4iXX0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, Inject, EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { Observable, reduce } from 'rxjs';
|
|
4
|
+
import { Observable, reduce, forkJoin } from 'rxjs';
|
|
5
|
+
import { __awaiter } from 'tslib';
|
|
5
6
|
import { Router } from '@angular/router';
|
|
6
7
|
import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
7
8
|
import { Auth, Amplify } from 'aws-amplify';
|
|
@@ -251,12 +252,37 @@ class HeaderComponent {
|
|
|
251
252
|
console.log(e);
|
|
252
253
|
}
|
|
253
254
|
});
|
|
254
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
255
|
-
this.
|
|
256
|
-
this.
|
|
257
|
-
|
|
255
|
+
Auth.currentAuthenticatedUser().then((user) => __awaiter(this, void 0, void 0, function* () {
|
|
256
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
257
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
258
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
259
|
+
next: (res) => {
|
|
260
|
+
var _a, _b, _c;
|
|
261
|
+
if (res && res[0]) {
|
|
262
|
+
this.userAuthData = res[0];
|
|
263
|
+
this.username = this.userAuthData.firstName;
|
|
264
|
+
if ((_c = (_b = (_a = this.userAuthData) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.profileImage) === null || _c === void 0 ? void 0 : _c.href) {
|
|
265
|
+
this.getUserProfile();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (res && res[1]) {
|
|
269
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
270
|
+
this.userCompanies = res[1].data.companies;
|
|
271
|
+
if (this.userCompanies.length > 1) {
|
|
272
|
+
this.showSwitchCompanies = true;
|
|
273
|
+
for (var com of this.userCompanies) {
|
|
274
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
275
|
+
com.activeNow = true;
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}))
|
|
258
285
|
.catch(() => console.log("User not logged in"));
|
|
259
|
-
this.getUserCompany();
|
|
260
286
|
}
|
|
261
287
|
menuAction() {
|
|
262
288
|
this.menuEvent.emit();
|
|
@@ -301,34 +327,10 @@ class HeaderComponent {
|
|
|
301
327
|
}
|
|
302
328
|
});
|
|
303
329
|
}
|
|
304
|
-
|
|
305
|
-
this._ser.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
309
|
-
if (this.userCompanies.length > 1) {
|
|
310
|
-
this.showSwitchCompanies = true;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
},
|
|
314
|
-
error: (e) => {
|
|
315
|
-
console.log("Error in fetching companies for the user");
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
getUserDetails(email) {
|
|
320
|
-
let req = {
|
|
321
|
-
email: email
|
|
322
|
-
};
|
|
323
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
324
|
-
var _a, _b, _c;
|
|
325
|
-
this.userAuthData = res;
|
|
326
|
-
if ((_c = (_b = (_a = this.userAuthData) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.profileImage) === null || _c === void 0 ? void 0 : _c.href) {
|
|
327
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
328
|
-
if (img === null || img === void 0 ? void 0 : img.locationUrl) {
|
|
329
|
-
this.userImageLink = img.locationUrl;
|
|
330
|
-
}
|
|
331
|
-
});
|
|
330
|
+
getUserProfile() {
|
|
331
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
332
|
+
if (img === null || img === void 0 ? void 0 : img.locationUrl) {
|
|
333
|
+
this.userImageLink = img.locationUrl;
|
|
332
334
|
}
|
|
333
335
|
});
|
|
334
336
|
}
|
|
@@ -385,10 +387,10 @@ class HeaderComponent {
|
|
|
385
387
|
}
|
|
386
388
|
}
|
|
387
389
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
388
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
390
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
389
391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
390
392
|
type: Component,
|
|
391
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
393
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
392
394
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
393
395
|
type: Input
|
|
394
396
|
}], menuEvent: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(user => {\n this.username = user.attributes.given_name;\n this.getUserDetails(user.attributes.email)\n })\n .catch(() => console.log(\"User not logged in\"));\n this.getUserCompany();\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n getUserCompany(){\n this._ser.getUserCompanies().subscribe({\n next: (userCompaniesData: any) => {\n if (userCompaniesData && userCompaniesData.data && userCompaniesData.data.companies) {\n this.userCompanies = userCompaniesData.data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n }\n }\n },\n error: (e) => {\n console.log(\"Error in fetching companies for the user\");\n }\n })\n }\n\n getUserDetails(email: string){\n let req = {\n email: email\n };\n this._ser.getUserDetailsByEmail(req).subscribe(res => {\n this.userAuthData = res;\n if(this.userAuthData?._links?.profileImage?.href){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(async user => {\n \n let userDetails = this._ser.getUserDetailsByEmail({email: user.attributes.email});\n let userCompanyInfo = this._ser.getUserCompanies();\n forkJoin([userDetails,userCompanyInfo]).subscribe({\n next: (res) => {\n if(res && res[0]){\n this.userAuthData = res[0];\n this.username = this.userAuthData.firstName;\n if(this.userAuthData?._links?.profileImage?.href){\n this.getUserProfile();\n }\n }\n if(res && res[1]){\n if (res[1] && res[1].data && res[1].data.companies) {\n this.userCompanies = res[1].data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n for(var com of this.userCompanies){\n if(com.companyKey == this.userAuthData.lastAccessedCompanyKey){\n com.activeNow = true;\n break;\n }\n }\n }\n }\n }\n }\n })\n })\n .catch(() => console.log(\"User not logged in\"));\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n \n\n getUserProfile(){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, Inject, EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { Observable, reduce } from 'rxjs';
|
|
4
|
+
import { Observable, reduce, forkJoin } from 'rxjs';
|
|
5
5
|
import { Router } from '@angular/router';
|
|
6
6
|
import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
7
7
|
import { Auth, Amplify } from 'aws-amplify';
|
|
@@ -248,12 +248,36 @@ class HeaderComponent {
|
|
|
248
248
|
console.log(e);
|
|
249
249
|
}
|
|
250
250
|
});
|
|
251
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
252
|
-
this.
|
|
253
|
-
this.
|
|
251
|
+
Auth.currentAuthenticatedUser().then(async (user) => {
|
|
252
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
253
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
254
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
255
|
+
next: (res) => {
|
|
256
|
+
if (res && res[0]) {
|
|
257
|
+
this.userAuthData = res[0];
|
|
258
|
+
this.username = this.userAuthData.firstName;
|
|
259
|
+
if (this.userAuthData?._links?.profileImage?.href) {
|
|
260
|
+
this.getUserProfile();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (res && res[1]) {
|
|
264
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
265
|
+
this.userCompanies = res[1].data.companies;
|
|
266
|
+
if (this.userCompanies.length > 1) {
|
|
267
|
+
this.showSwitchCompanies = true;
|
|
268
|
+
for (var com of this.userCompanies) {
|
|
269
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
270
|
+
com.activeNow = true;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
});
|
|
254
279
|
})
|
|
255
280
|
.catch(() => console.log("User not logged in"));
|
|
256
|
-
this.getUserCompany();
|
|
257
281
|
}
|
|
258
282
|
menuAction() {
|
|
259
283
|
this.menuEvent.emit();
|
|
@@ -298,33 +322,10 @@ class HeaderComponent {
|
|
|
298
322
|
}
|
|
299
323
|
});
|
|
300
324
|
}
|
|
301
|
-
|
|
302
|
-
this._ser.
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
306
|
-
if (this.userCompanies.length > 1) {
|
|
307
|
-
this.showSwitchCompanies = true;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
error: (e) => {
|
|
312
|
-
console.log("Error in fetching companies for the user");
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
getUserDetails(email) {
|
|
317
|
-
let req = {
|
|
318
|
-
email: email
|
|
319
|
-
};
|
|
320
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
321
|
-
this.userAuthData = res;
|
|
322
|
-
if (this.userAuthData?._links?.profileImage?.href) {
|
|
323
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
324
|
-
if (img?.locationUrl) {
|
|
325
|
-
this.userImageLink = img.locationUrl;
|
|
326
|
-
}
|
|
327
|
-
});
|
|
325
|
+
getUserProfile() {
|
|
326
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
327
|
+
if (img?.locationUrl) {
|
|
328
|
+
this.userImageLink = img.locationUrl;
|
|
328
329
|
}
|
|
329
330
|
});
|
|
330
331
|
}
|
|
@@ -381,10 +382,10 @@ class HeaderComponent {
|
|
|
381
382
|
}
|
|
382
383
|
}
|
|
383
384
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
384
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
385
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
385
386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
386
387
|
type: Component,
|
|
387
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
388
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
388
389
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
389
390
|
type: Input
|
|
390
391
|
}], menuEvent: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(user => {\n this.username = user.attributes.given_name;\n this.getUserDetails(user.attributes.email)\n })\n .catch(() => console.log(\"User not logged in\"));\n this.getUserCompany();\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n getUserCompany(){\n this._ser.getUserCompanies().subscribe({\n next: (userCompaniesData: any) => {\n if (userCompaniesData && userCompaniesData.data && userCompaniesData.data.companies) {\n this.userCompanies = userCompaniesData.data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n }\n }\n },\n error: (e) => {\n console.log(\"Error in fetching companies for the user\");\n }\n })\n }\n\n getUserDetails(email: string){\n let req = {\n email: email\n };\n this._ser.getUserDetailsByEmail(req).subscribe(res => {\n this.userAuthData = res;\n if(this.userAuthData?._links?.profileImage?.href){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(async user => {\n \n let userDetails = this._ser.getUserDetailsByEmail({email: user.attributes.email});\n let userCompanyInfo = this._ser.getUserCompanies();\n forkJoin([userDetails,userCompanyInfo]).subscribe({\n next: (res) => {\n if(res && res[0]){\n this.userAuthData = res[0];\n this.username = this.userAuthData.firstName;\n if(this.userAuthData?._links?.profileImage?.href){\n this.getUserProfile();\n }\n }\n if(res && res[1]){\n if (res[1] && res[1].data && res[1].data.companies) {\n this.userCompanies = res[1].data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n for(var com of this.userCompanies){\n if(com.companyKey == this.userAuthData.lastAccessedCompanyKey){\n com.activeNow = true;\n break;\n }\n }\n }\n }\n }\n }\n })\n })\n .catch(() => console.log(\"User not logged in\"));\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n \n\n getUserProfile(){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,7 @@ export declare class HeaderComponent implements OnInit {
|
|
|
22
22
|
menuAction(): void;
|
|
23
23
|
fetchCompanyProfile(): void;
|
|
24
24
|
fetchCompanyData(allApps: Array<any>): void;
|
|
25
|
-
|
|
26
|
-
getUserDetails(email: string): void;
|
|
25
|
+
getUserProfile(): void;
|
|
27
26
|
appRedirect(app: any): void;
|
|
28
27
|
profile(): void;
|
|
29
28
|
onLogoutClick(): void;
|