@muraai/mnl-commons 0.1.0-alpha-a04cfbd → 0.1.0-alpha-0abf887
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/commons.module.mjs +140 -0
- package/esm2020/lib/components/header/header.component.mjs +32 -0
- package/esm2020/lib/components/highlighter/highlighter.component.mjs +24 -0
- package/esm2020/lib/components/language-menu/language-menu.component.mjs +36 -0
- package/esm2020/lib/components/login/login.component.mjs +56 -0
- package/esm2020/lib/components/menu/menu.component.mjs +69 -0
- package/esm2020/lib/components/profile/profile.component.mjs +44 -0
- package/esm2020/lib/material.module.mjs +60 -0
- package/{esm2015/lib/model/log-levels.model.js → esm2020/lib/model/log-levels.model.mjs} +0 -0
- package/{esm2015/lib/model/menu-data.model.js → esm2020/lib/model/menu-data.model.mjs} +0 -0
- package/{esm2015/lib/model/translation-resource.js → esm2020/lib/model/translation-resource.mjs} +0 -0
- package/{esm2015/lib/model/user-model.js → esm2020/lib/model/user-model.mjs} +0 -0
- package/esm2020/lib/pipes/app-config-pipe.mjs +20 -0
- package/esm2020/lib/pipes/time-ago-pipe.mjs +43 -0
- package/esm2020/lib/pipes/user-fullname-pipe.mjs +34 -0
- package/esm2020/lib/pipes/user-initials-pipe.mjs +48 -0
- package/esm2020/lib/services/app.config.service.mjs +41 -0
- package/esm2020/lib/services/local-storage.service.mjs +48 -0
- package/esm2020/lib/services/locale.service.mjs +89 -0
- package/esm2020/lib/services/log.service.mjs +89 -0
- package/esm2020/lib/services/user-profile.service.mjs +36 -0
- package/{esm2015/lib/utils/object-utils.js → esm2020/lib/utils/object-utils.mjs} +0 -0
- package/{esm2015/muraai-mnl-commons.js → esm2020/muraai-mnl-commons.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/muraai-mnl-commons.mjs +914 -0
- package/fesm2015/muraai-mnl-commons.mjs.map +1 -0
- package/fesm2020/muraai-mnl-commons.mjs +911 -0
- package/fesm2020/muraai-mnl-commons.mjs.map +1 -0
- package/{muraai-mnl-commons.d.ts → index.d.ts} +1 -0
- package/lib/commons.module.d.ts +19 -0
- package/lib/components/header/header.component.d.ts +3 -0
- package/lib/components/highlighter/highlighter.component.d.ts +3 -0
- package/lib/components/language-menu/language-menu.component.d.ts +3 -0
- package/lib/components/login/login.component.d.ts +5 -2
- package/lib/components/menu/menu.component.d.ts +3 -0
- package/lib/components/profile/profile.component.d.ts +3 -0
- package/lib/material.module.d.ts +14 -2
- package/lib/pipes/app-config-pipe.d.ts +3 -0
- package/lib/pipes/time-ago-pipe.d.ts +3 -0
- package/lib/pipes/user-fullname-pipe.d.ts +3 -0
- package/lib/pipes/user-initials-pipe.d.ts +3 -0
- package/lib/services/app.config.service.d.ts +3 -0
- package/lib/services/local-storage.service.d.ts +7 -0
- package/lib/services/locale.service.d.ts +3 -0
- package/lib/services/log.service.d.ts +4 -1
- package/lib/services/user-profile.service.d.ts +3 -0
- package/package.json +22 -10
- package/theming.scss +6 -6
- package/bundles/muraai-mnl-commons.umd.js +0 -1270
- package/bundles/muraai-mnl-commons.umd.js.map +0 -1
- package/bundles/muraai-mnl-commons.umd.min.js +0 -17
- package/bundles/muraai-mnl-commons.umd.min.js.map +0 -1
- package/esm2015/lib/commons.module.js +0 -104
- package/esm2015/lib/components/header/header.component.js +0 -27
- package/esm2015/lib/components/highlighter/highlighter.component.js +0 -21
- package/esm2015/lib/components/language-menu/language-menu.component.js +0 -35
- package/esm2015/lib/components/login/login.component.js +0 -48
- package/esm2015/lib/components/menu/menu.component.js +0 -62
- package/esm2015/lib/components/profile/profile.component.js +0 -35
- package/esm2015/lib/material.module.js +0 -31
- package/esm2015/lib/pipes/app-config-pipe.js +0 -19
- package/esm2015/lib/pipes/time-ago-pipe.js +0 -43
- package/esm2015/lib/pipes/user-fullname-pipe.js +0 -30
- package/esm2015/lib/pipes/user-initials-pipe.js +0 -44
- package/esm2015/lib/services/app.config.service.js +0 -44
- package/esm2015/lib/services/local-storage.service.js +0 -17
- package/esm2015/lib/services/locale.service.js +0 -94
- package/esm2015/lib/services/log.service.js +0 -91
- package/esm2015/lib/services/user-profile.service.js +0 -40
- package/fesm2015/muraai-mnl-commons.js +0 -813
- package/fesm2015/muraai-mnl-commons.js.map +0 -1
- package/muraai-mnl-commons.metadata.json +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { LocaleService } from '../../services/locale.service';
|
|
3
|
-
export class LanguageMenuComponent {
|
|
4
|
-
constructor(localeService) {
|
|
5
|
-
this.localeService = localeService;
|
|
6
|
-
this.showLocaleKeyAsLabel = false;
|
|
7
|
-
this.showLocaleAsLabel = false;
|
|
8
|
-
this.languages = [];
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.languages = this.localeService.getLanguages();
|
|
12
|
-
this.localeService.setActiveLocale(this.locale);
|
|
13
|
-
}
|
|
14
|
-
onChangeLanguage(language) {
|
|
15
|
-
this.localeService.setActiveLocale(language);
|
|
16
|
-
}
|
|
17
|
-
get locale() {
|
|
18
|
-
return this.localeService.getActiveLocale() || this.localeService.getDefaultLocale();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
LanguageMenuComponent.decorators = [
|
|
22
|
-
{ type: Component, args: [{
|
|
23
|
-
selector: 'mnl-language-menu',
|
|
24
|
-
template: "<button id=\"mnl-locale-button\" mat-menu-item [matMenuTriggerFor]=\"languageMenu\">\n <ng-container *ngIf=\"showLocaleKeyAsLabel || showLocaleAsLabel; else defaultLabel\">\n <div *ngIf=\"showLocaleKeyAsLabel\">{{ locale.key | uppercase }}</div>\n <div *ngIf=\"showLocaleAsLabel\">{{ locale.label }}</div>\n </ng-container>\n <ng-template #defaultLabel>\n <mat-icon>language</mat-icon>\n {{ \"MNL.LANGUAGE-SELECTOR.LANGUAGES\" | translate }}\n </ng-template>\n</button>\n<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let language of languages\"\n (click)=\"onChangeLanguage(language)\"\n id=\"langMenu\"\n >\n {{ language.label }}\n </button>\n</mat-menu>\n",
|
|
25
|
-
styles: [""]
|
|
26
|
-
},] }
|
|
27
|
-
];
|
|
28
|
-
LanguageMenuComponent.ctorParameters = () => [
|
|
29
|
-
{ type: LocaleService }
|
|
30
|
-
];
|
|
31
|
-
LanguageMenuComponent.propDecorators = {
|
|
32
|
-
showLocaleKeyAsLabel: [{ type: Input }],
|
|
33
|
-
showLocaleAsLabel: [{ type: Input }]
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9sYW5ndWFnZS1tZW51L2xhbmd1YWdlLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sK0JBQStCLENBQUM7QUFPNUUsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU5oRCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFHN0Isc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBQ2UsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBc0I7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkYsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwydEJBQTZDOzthQUU5Qzs7O1lBTlEsYUFBYTs7O21DQVNuQixLQUFLO2dDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UsIExhbmd1YWdlSXRlbSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLWxhbmd1YWdlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGFuZ3VhZ2UtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhbmd1YWdlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBzaG93TG9jYWxlS2V5QXNMYWJlbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dMb2NhbGVBc0xhYmVsID0gZmFsc2U7XG5cbiAgbGFuZ3VhZ2VzOiBBcnJheTxMYW5ndWFnZUl0ZW0+ID0gW107XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxhbmd1YWdlcyA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMYW5ndWFnZXMoKTtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2Uuc2V0QWN0aXZlTG9jYWxlKHRoaXMubG9jYWxlKTtcbiAgfVxuXG4gIG9uQ2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlSXRlbSkge1xuICAgIHRoaXMubG9jYWxlU2VydmljZS5zZXRBY3RpdmVMb2NhbGUobGFuZ3VhZ2UpO1xuICB9XG5cbiAgZ2V0IGxvY2FsZSgpOiBMYW5ndWFnZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0QWN0aXZlTG9jYWxlKCkgfHwgdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlZmF1bHRMb2NhbGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { FormGroup, FormControl, Validators } from '@angular/forms';
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
export class LoginComponent {
|
|
5
|
-
constructor(sanitizer) {
|
|
6
|
-
this.sanitizer = sanitizer;
|
|
7
|
-
this.title = '';
|
|
8
|
-
this.logoImageUrl = './assets/images/logo.png';
|
|
9
|
-
this.backgroundImageUrl = './assets/images/background.jpg';
|
|
10
|
-
this.disabled = false;
|
|
11
|
-
this.login = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
this.initForm();
|
|
15
|
-
}
|
|
16
|
-
initForm() {
|
|
17
|
-
this.formGroup = new FormGroup({
|
|
18
|
-
username: new FormControl('', [Validators.required]),
|
|
19
|
-
password: new FormControl('', [Validators.required])
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
onSubmit() {
|
|
23
|
-
if (this.formGroup.valid) {
|
|
24
|
-
this.login.emit(this.formGroup.value);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
getBackgroundImageUrl() {
|
|
28
|
-
return this.sanitizer.bypassSecurityTrustStyle(`url(${this.backgroundImageUrl})`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
LoginComponent.decorators = [
|
|
32
|
-
{ type: Component, args: [{
|
|
33
|
-
selector: 'mnl-login',
|
|
34
|
-
template: "<div fxLayoutAlign=\"center center\" class=\"mnl-login-container\" fxFlexFill [style.background-image]=\"getBackgroundImageUrl()\">\n <mat-card class=\"mnl-login-card\">\n <form fxLayoutAlign=\"stretch\" fxLayout=\"column\" [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <mat-card-header fxLayoutAlign=\"center center\">\n <mat-card-title>\n <img *ngIf=\"logoImageUrl\" src=\"{{logoImageUrl}}\">\n </mat-card-title>\n </mat-card-header>\n <h3 fxLayoutAlign=\"center center\" class=\"mnl-login-title\" *ngIf=\"title\">{{title | translate}}</h3>\n <mat-form-field fxFlex=\"100\">\n <input id=\"username\" matInput placeholder=\"{{'MNL.LOGIN.USERNAME' | translate}}\"\n formControlName=\"username\">\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100\">\n <input id=\"password\" matInput type=\"password\" placeholder=\"{{'MNL.LOGIN.PASSWORD' | translate}}\"\n formControlName=\"password\">\n </mat-form-field>\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button id=\"loginButton\" mat-raised-button color=\"accent\" [disabled]=\"disabled || !formGroup.valid\"\n type=\"submit\"> {{'MNL.LOGIN.LOGIN_BUTTON' | translate}}</button>\n </mat-card-actions>\n\n </form>\n </mat-card>\n</div>",
|
|
35
|
-
styles: [".mnl-login-card{min-width:260px}.mnl-login-container{background-size:cover}.mnl-login-title{opacity:.6}"]
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
LoginComponent.ctorParameters = () => [
|
|
39
|
-
{ type: DomSanitizer }
|
|
40
|
-
];
|
|
41
|
-
LoginComponent.propDecorators = {
|
|
42
|
-
title: [{ type: Input }],
|
|
43
|
-
logoImageUrl: [{ type: Input }],
|
|
44
|
-
backgroundImageUrl: [{ type: Input }],
|
|
45
|
-
disabled: [{ type: Input }],
|
|
46
|
-
login: [{ type: Output }]
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBTXBFLE1BQU0sT0FBTyxjQUFjO0lBbUJ6QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBZDNDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFHWCxpQkFBWSxHQUFHLDBCQUEwQixDQUFDO1FBRzFDLHVCQUFrQixHQUFHLGdDQUFnQyxDQUFDO1FBR3RELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsVUFBSyxHQUFJLElBQUksWUFBWSxFQUFhLENBQUM7SUFJdkMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzdCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztJQUN0RixDQUFDOzs7WUE1Q0EsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw2OENBQXFDOzthQUV0Qzs7O1lBTFEsWUFBWTs7O29CQVVsQixLQUFLOzJCQUdMLEtBQUs7aUNBR0wsS0FBSzt1QkFHTCxLQUFLO29CQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvdXNlci1tb2RlbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLWxvZ2luJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgdGl0bGUgPSAnJztcblxuICBASW5wdXQoKVxuICBsb2dvSW1hZ2VVcmwgPSAnLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nJztcblxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kSW1hZ2VVcmwgPSAnLi9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQuanBnJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBsb2dpbiAgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXJNb2RlbD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG5cbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICB1c2VybmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgIH0pO1xuICB9XG4gIG9uU3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5sb2dpbiAuZW1pdCh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuICB9XG4gIGdldEJhY2tncm91bmRJbWFnZVVybCgpOiBTYWZlU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke3RoaXMuYmFja2dyb3VuZEltYWdlVXJsfSlgKTtcbn1cblxufVxuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
export class MenuComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.menuClick = new EventEmitter();
|
|
5
|
-
}
|
|
6
|
-
onMenuClick(menu) {
|
|
7
|
-
if (this.hasSubMenu(menu)) {
|
|
8
|
-
this.openMenu(menu);
|
|
9
|
-
this.onSubMenuClick(menu.subMenus[0], menu);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
this.deSelectMenus(this.menuData);
|
|
13
|
-
this.selectMenu(menu);
|
|
14
|
-
this.menuClick.emit(menu);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
onSubMenuClick(subMenu, menu) {
|
|
18
|
-
this.deSelectMenus(this.menuData);
|
|
19
|
-
this.selectMenu(menu);
|
|
20
|
-
this.selectMenu(subMenu);
|
|
21
|
-
this.menuClick.emit(subMenu);
|
|
22
|
-
}
|
|
23
|
-
deSelectMenus(menus) {
|
|
24
|
-
if (menus) {
|
|
25
|
-
for (const menu of menus) {
|
|
26
|
-
if (menu.selected) {
|
|
27
|
-
menu.selected = false;
|
|
28
|
-
}
|
|
29
|
-
this.deSelectMenus(menu.subMenus);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
selectMenu(menu) {
|
|
34
|
-
if (menu) {
|
|
35
|
-
menu.selected = true;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
hasSubMenu(menu) {
|
|
39
|
-
return menu.subMenus && menu.subMenus.length > 0;
|
|
40
|
-
}
|
|
41
|
-
toggleMenu(menu, event) {
|
|
42
|
-
menu.expanded = !menu.expanded;
|
|
43
|
-
if (event) {
|
|
44
|
-
event.stopPropagation();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
openMenu(menu) {
|
|
48
|
-
menu.expanded = true;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
MenuComponent.decorators = [
|
|
52
|
-
{ type: Component, args: [{
|
|
53
|
-
selector: 'mnl-menu',
|
|
54
|
-
template: "<mat-nav-list *ngFor=\"let menu of menuData\">\n <a mat-list-item fxLayout=\"row\" (click)=\"onMenuClick(menu)\" id=\"mnl-menu-anchor\">\n <mnl-highlighter [enabled]=\"menu.selected\"></mnl-highlighter>\n <mat-icon *ngIf=\"menu.icon; else svgTemplate \">{{menu.icon}}</mat-icon>\n <ng-template #svgTemplate>\n <mat-icon svgIcon=\"{{menu.svgIcon}}\"> </mat-icon>\n </ng-template>\n <span class=\"mnl-menu\" id=\"mnl-menu\">{{menu.name | translate }}</span>\n <mat-icon class=\"mnl-menu-button\" *ngIf=\"menu.subMenus\" (click)=\"toggleMenu(menu, $event)\"\n [ngClass]=\"{'mnl-rotated' : menu.expanded}\">expand_more</mat-icon>\n </a>\n <ng-container *ngFor=\"let sub of menu.subMenus\">\n <a mat-list-item fxLayout=\"row\" class=\"mnl-submenu\" [class.mnl-expanded]=\"menu.expanded\" *ngIf=\"menu.expanded\"\n (click)=\"onSubMenuClick(sub, menu)\" fxLayout=\"row\" id=\"mnl-submenu-anchor\">\n <mnl-highlighter [enabled]=\"sub.selected\"></mnl-highlighter>\n <mat-icon>{{sub.icon}}</mat-icon>\n <span class=\"mnl-menu\" id=\"mnl-submenu\">{{sub.name | translate }}</span>\n </a>\n </ng-container>\n</mat-nav-list>",
|
|
55
|
-
styles: [".mnl-submenu{overflow-y:hidden;transition:transform .3s ease;transform:scaleY(0);transform-origin:top;padding-left:15px!important}.mnl-submenu.mnl-expanded{transform:scaleY(1)}.mnl-menu{margin-top:5px;margin-left:10px;margin-right:10px}.mnl-menu-button{transition:.3s ease-in-out;transform:rotate(0deg);margin-top:3px;margin-left:25px}.mnl-menu-button.mnl-rotated{transform:rotate(180deg)}"]
|
|
56
|
-
},] }
|
|
57
|
-
];
|
|
58
|
-
MenuComponent.propDecorators = {
|
|
59
|
-
menuData: [{ type: Input }],
|
|
60
|
-
menuClick: [{ type: Output }]
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRdkUsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFVRSxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFvRHpELENBQUM7SUFsREMsV0FBVyxDQUFDLElBQWU7UUFDekIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFrQixFQUFFLElBQWU7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBa0I7UUFDOUIsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7Z0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkM7U0FDRjtJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsSUFBZTtRQUNoQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlLEVBQUUsS0FBWTtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUvQixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsSUFBZTtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDOzs7WUE3REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQiwwdUNBQW9DOzthQUVyQzs7O3VCQUVFLEtBQUs7d0JBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9tZW51LWRhdGEubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtbmwtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgbWVudURhdGE6IEFycmF5PE1lbnVNb2RlbD47XG5cbiAgQE91dHB1dCgpXG4gIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBvbk1lbnVDbGljayhtZW51OiBNZW51TW9kZWwpIHtcbiAgICBpZiAodGhpcy5oYXNTdWJNZW51KG1lbnUpKSB7XG4gICAgICB0aGlzLm9wZW5NZW51KG1lbnUpO1xuICAgICAgdGhpcy5vblN1Yk1lbnVDbGljayhtZW51LnN1Yk1lbnVzWzBdLCBtZW51KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZVNlbGVjdE1lbnVzKHRoaXMubWVudURhdGEpO1xuICAgICAgdGhpcy5zZWxlY3RNZW51KG1lbnUpO1xuICAgICAgdGhpcy5tZW51Q2xpY2suZW1pdChtZW51KTtcbiAgICB9XG4gIH1cblxuICBvblN1Yk1lbnVDbGljayhzdWJNZW51OiBNZW51TW9kZWwsIG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIHRoaXMuZGVTZWxlY3RNZW51cyh0aGlzLm1lbnVEYXRhKTtcbiAgICB0aGlzLnNlbGVjdE1lbnUobWVudSk7XG4gICAgdGhpcy5zZWxlY3RNZW51KHN1Yk1lbnUpO1xuICAgIHRoaXMubWVudUNsaWNrLmVtaXQoc3ViTWVudSk7XG4gIH1cblxuICBkZVNlbGVjdE1lbnVzKG1lbnVzOiBNZW51TW9kZWxbXSkge1xuICAgIGlmIChtZW51cykge1xuICAgICAgZm9yIChjb25zdCBtZW51IG9mIG1lbnVzKSB7XG4gICAgICAgIGlmIChtZW51LnNlbGVjdGVkKSB7XG4gICAgICAgICAgbWVudS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVTZWxlY3RNZW51cyhtZW51LnN1Yk1lbnVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdE1lbnUobWVudTogTWVudU1vZGVsKSB7XG4gICAgaWYgKG1lbnUpIHtcbiAgICAgIG1lbnUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzU3ViTWVudShtZW51OiBNZW51TW9kZWwpIHtcbiAgICByZXR1cm4gbWVudS5zdWJNZW51cyAmJiBtZW51LnN1Yk1lbnVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICB0b2dnbGVNZW51KG1lbnU6IE1lbnVNb2RlbCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgbWVudS5leHBhbmRlZCA9ICFtZW51LmV4cGFuZGVkO1xuXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5NZW51KG1lbnU6IE1lbnVNb2RlbCkge1xuICAgIG1lbnUuZXhwYW5kZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
export class ProfileComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.showDisplayName = true;
|
|
5
|
-
this.userInitialClick = new EventEmitter();
|
|
6
|
-
this.profileMenuClick = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
onUserInitialClick(event) {
|
|
9
|
-
this.userInitialClick.emit(event);
|
|
10
|
-
}
|
|
11
|
-
ngOnChanges(changes) {
|
|
12
|
-
if (changes && changes.userProfileDetails && changes.userProfileDetails.currentValue
|
|
13
|
-
&& changes.userProfileDetails.currentValue.firstName && changes.userProfileDetails.currentValue.lastName
|
|
14
|
-
&& changes.userProfileDetails.currentValue.email) {
|
|
15
|
-
this.hasUserDetails = true;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
this.hasUserDetails = false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
ProfileComponent.decorators = [
|
|
23
|
-
{ type: Component, args: [{
|
|
24
|
-
selector: 'mnl-user-profile',
|
|
25
|
-
template: "<div id=\"mnl-profile-container\" fxLayoutGap=\"10px\">\n <span\n *ngIf=\"showDisplayName && hasUserDetails\"\n id=\"mnl-userinfo-name\"\n fxHide.xs\n >{{ userProfileDetails | mnlUserFullName }}</span\n >\n <button\n *ngIf=\"hasUserDetails\"\n id=\"mnl-initials-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n mat-icon-button\n >\n {{ userProfileDetails | mnlUserInitialPipe }}\n </button>\n\n <button\n *ngIf=\"!hasUserDetails\"\n id=\"mnl-user-icon-button\"\n mat-raised-button\n (click)=\"onUserInitialClick($event)\"\n mat-icon-button\n >\n <mat-icon>person</mat-icon>\n </button>\n</div>\n",
|
|
26
|
-
styles: ["#mnl-initials-button{border-radius:20px}"]
|
|
27
|
-
},] }
|
|
28
|
-
];
|
|
29
|
-
ProfileComponent.propDecorators = {
|
|
30
|
-
userProfileDetails: [{ type: Input }],
|
|
31
|
-
showDisplayName: [{ type: Input }],
|
|
32
|
-
userInitialClick: [{ type: Output }],
|
|
33
|
-
profileMenuClick: [{ type: Output }]
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBUWpHLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFVRSxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUd2QixxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUc5RCxxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWlCaEUsQ0FBQztJQWJDLGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWTtlQUMvRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVE7ZUFDckcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qiw4cUJBQXVDOzthQUV4Qzs7O2lDQUVFLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxNQUFNOytCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC91c2VyLW1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW5sLXVzZXItcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICB1c2VyUHJvZmlsZURldGFpbHM6IFVzZXJNb2RlbDtcblxuICBASW5wdXQoKVxuICBzaG93RGlzcGxheU5hbWUgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICB1c2VySW5pdGlhbENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwcm9maWxlTWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGhhc1VzZXJEZXRhaWxzOiBib29sZWFuO1xuXG4gIG9uVXNlckluaXRpYWxDbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy51c2VySW5pdGlhbENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXMudXNlclByb2ZpbGVEZXRhaWxzICYmIGNoYW5nZXMudXNlclByb2ZpbGVEZXRhaWxzLmN1cnJlbnRWYWx1ZVxuICAgICAgJiYgY2hhbmdlcy51c2VyUHJvZmlsZURldGFpbHMuY3VycmVudFZhbHVlLmZpcnN0TmFtZSAmJiBjaGFuZ2VzLnVzZXJQcm9maWxlRGV0YWlscy5jdXJyZW50VmFsdWUubGFzdE5hbWVcbiAgICAgICYmIGNoYW5nZXMudXNlclByb2ZpbGVEZXRhaWxzLmN1cnJlbnRWYWx1ZS5lbWFpbCkge1xuICAgICAgICB0aGlzLmhhc1VzZXJEZXRhaWxzID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNVc2VyRGV0YWlscyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
-
import { MatListModule } from '@angular/material/list';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatInputModule } from '@angular/material/input';
|
|
6
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
-
import { MatCardModule } from '@angular/material/card';
|
|
8
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
10
|
-
export function modules() {
|
|
11
|
-
return [
|
|
12
|
-
MatButtonModule,
|
|
13
|
-
MatCardModule,
|
|
14
|
-
MatFormFieldModule,
|
|
15
|
-
MatIconModule,
|
|
16
|
-
MatInputModule,
|
|
17
|
-
MatListModule,
|
|
18
|
-
FormsModule,
|
|
19
|
-
ReactiveFormsModule,
|
|
20
|
-
MatMenuModule,
|
|
21
|
-
];
|
|
22
|
-
}
|
|
23
|
-
export class MaterialModule {
|
|
24
|
-
}
|
|
25
|
-
MaterialModule.decorators = [
|
|
26
|
-
{ type: NgModule, args: [{
|
|
27
|
-
imports: modules(),
|
|
28
|
-
exports: modules()
|
|
29
|
-
},] }
|
|
30
|
-
];
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL21hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPO1FBQ0wsZUFBZTtRQUNmLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFLRCxNQUFNLE9BQU8sY0FBYzs7O1lBSjFCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsT0FBTyxFQUFFO2dCQUNsQixPQUFPLEVBQUUsT0FBTyxFQUFFO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5leHBvcnQgZnVuY3Rpb24gbW9kdWxlcygpIHtcbiAgcmV0dXJuIFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgXTtcbn1cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IG1vZHVsZXMoKSxcbiAgZXhwb3J0czogbW9kdWxlcygpXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { AppConfigService } from '../services/app.config.service';
|
|
3
|
-
export class AppConfigPipe {
|
|
4
|
-
constructor(config) {
|
|
5
|
-
this.config = config;
|
|
6
|
-
}
|
|
7
|
-
transform(value, defaultValue) {
|
|
8
|
-
return this.config.get(value) || defaultValue || '';
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
AppConfigPipe.decorators = [
|
|
12
|
-
{ type: Pipe, args: [{
|
|
13
|
-
name: 'mnlAppConfig'
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
AppConfigPipe.ctorParameters = () => [
|
|
17
|
-
{ type: AppConfigService }
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL3BpcGVzL2FwcC1jb25maWctcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUtsRSxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUFvQixNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUFHLENBQUM7SUFFaEQsU0FBUyxDQUFDLEtBQWEsRUFBRSxZQUFrQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7O1lBUkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxjQUFjO2FBQ3ZCOzs7WUFKUSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwLmNvbmZpZy5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdtbmxBcHBDb25maWcnXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnU2VydmljZSkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0KHZhbHVlKSB8fCBkZWZhdWx0VmFsdWUgfHwgJyc7XG4gICAgfVxufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { Pipe } from '@angular/core';
|
|
3
|
-
import { formatDistance } from 'date-fns';
|
|
4
|
-
import differenceInDays from 'date-fns/differenceInDays';
|
|
5
|
-
import { AppConfigService } from '../services/app.config.service';
|
|
6
|
-
import { UserProfileService } from '../services/user-profile.service';
|
|
7
|
-
export class TimeAgoPipe {
|
|
8
|
-
constructor(appConfigService, userProfileService) {
|
|
9
|
-
this.appConfigService = appConfigService;
|
|
10
|
-
this.userProfileService = userProfileService;
|
|
11
|
-
this.defaultLocale = TimeAgoPipe.DEFAULT_LOCALE;
|
|
12
|
-
this.defaultDateTimeFormat = TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT;
|
|
13
|
-
}
|
|
14
|
-
transform(value, dateTimeFormat, locale) {
|
|
15
|
-
if (value) {
|
|
16
|
-
const currentLocale = this.userProfileService.getLocale();
|
|
17
|
-
const currentDateTimeFormat = this.appConfigService.get('dateTimeFormat');
|
|
18
|
-
const requiredLocale = locale || currentLocale || this.defaultLocale;
|
|
19
|
-
const requiredDateTimeFormat = dateTimeFormat || currentDateTimeFormat || this.defaultDateTimeFormat;
|
|
20
|
-
if (differenceInDays(new Date(), new Date(value)) > 7) {
|
|
21
|
-
const datePipe = new DatePipe(requiredLocale);
|
|
22
|
-
return datePipe.transform(value, requiredDateTimeFormat);
|
|
23
|
-
}
|
|
24
|
-
return formatDistance(new Date(value), new Date(), {
|
|
25
|
-
includeSeconds: true,
|
|
26
|
-
addSuffix: true,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return '';
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
TimeAgoPipe.DEFAULT_LOCALE = 'en-US';
|
|
33
|
-
TimeAgoPipe.DEFAULT_DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm';
|
|
34
|
-
TimeAgoPipe.decorators = [
|
|
35
|
-
{ type: Pipe, args: [{
|
|
36
|
-
name: 'mnlTimeAgo',
|
|
37
|
-
},] }
|
|
38
|
-
];
|
|
39
|
-
TimeAgoPipe.ctorParameters = () => [
|
|
40
|
-
{ type: AppConfigService },
|
|
41
|
-
{ type: UserProfileService }
|
|
42
|
-
];
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZ28tcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbnMvc3JjL2xpYi9waXBlcy90aW1lLWFnby1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sZ0JBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFLdEUsTUFBTSxPQUFPLFdBQVc7SUFPdEIsWUFDVSxnQkFBa0MsRUFDbEMsa0JBQXNDO1FBRHRDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUU5QyxJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQztJQUNwRSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVcsRUFBRSxjQUF1QixFQUFFLE1BQWU7UUFDN0QsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUNyRCxnQkFBZ0IsQ0FDUCxDQUFDO1lBQ1osTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3JFLE1BQU0sc0JBQXNCLEdBQzFCLGNBQWMsSUFBSSxxQkFBcUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDeEUsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNyRCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDeEQsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO2FBQzFEO1lBQ0QsT0FBTyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRTtnQkFDakQsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQWpDTSwwQkFBYyxHQUFHLE9BQU8sQ0FBQztBQUN6QixvQ0FBd0IsR0FBRyxrQkFBa0IsQ0FBQzs7WUFMdEQsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxZQUFZO2FBQ25COzs7WUFMUSxnQkFBZ0I7WUFDaEIsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0RGlzdGFuY2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgZGlmZmVyZW5jZUluRGF5cyBmcm9tICdkYXRlLWZucy9kaWZmZXJlbmNlSW5EYXlzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAuY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXNlci1wcm9maWxlLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtbmxUaW1lQWdvJyxcbn0pXG5leHBvcnQgY2xhc3MgVGltZUFnb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgc3RhdGljIERFRkFVTFRfTE9DQUxFID0gJ2VuLVVTJztcbiAgc3RhdGljIERFRkFVTFRfREFURV9USU1FX0ZPUk1BVCA9ICdkZC9NTS95eXl5IEhIOm1tJztcblxuICBkZWZhdWx0TG9jYWxlOiBzdHJpbmc7XG4gIGRlZmF1bHREYXRlVGltZUZvcm1hdDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJQcm9maWxlU2VydmljZTogVXNlclByb2ZpbGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGVmYXVsdExvY2FsZSA9IFRpbWVBZ29QaXBlLkRFRkFVTFRfTE9DQUxFO1xuICAgIHRoaXMuZGVmYXVsdERhdGVUaW1lRm9ybWF0ID0gVGltZUFnb1BpcGUuREVGQVVMVF9EQVRFX1RJTUVfRk9STUFUO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlLCBkYXRlVGltZUZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gdGhpcy51c2VyUHJvZmlsZVNlcnZpY2UuZ2V0TG9jYWxlKCk7XG4gICAgICBjb25zdCBjdXJyZW50RGF0ZVRpbWVGb3JtYXQgPSB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0KFxuICAgICAgICAnZGF0ZVRpbWVGb3JtYXQnXG4gICAgICApIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IHJlcXVpcmVkTG9jYWxlID0gbG9jYWxlIHx8IGN1cnJlbnRMb2NhbGUgfHwgdGhpcy5kZWZhdWx0TG9jYWxlO1xuICAgICAgY29uc3QgcmVxdWlyZWREYXRlVGltZUZvcm1hdCA9XG4gICAgICAgIGRhdGVUaW1lRm9ybWF0IHx8IGN1cnJlbnREYXRlVGltZUZvcm1hdCB8fCB0aGlzLmRlZmF1bHREYXRlVGltZUZvcm1hdDtcbiAgICAgIGlmIChkaWZmZXJlbmNlSW5EYXlzKG5ldyBEYXRlKCksIG5ldyBEYXRlKHZhbHVlKSkgPiA3KSB7XG4gICAgICAgIGNvbnN0IGRhdGVQaXBlOiBEYXRlUGlwZSA9IG5ldyBEYXRlUGlwZShyZXF1aXJlZExvY2FsZSk7XG4gICAgICAgIHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIHJlcXVpcmVkRGF0ZVRpbWVGb3JtYXQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKG5ldyBEYXRlKHZhbHVlKSwgbmV3IERhdGUoKSwge1xuICAgICAgICBpbmNsdWRlU2Vjb25kczogdHJ1ZSxcbiAgICAgICAgYWRkU3VmZml4OiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class UserFullnamePipe {
|
|
3
|
-
transform(value) {
|
|
4
|
-
let fullName = '';
|
|
5
|
-
if (!this.isEmptyObject(value)) {
|
|
6
|
-
if (value.firstName && value.lastName) {
|
|
7
|
-
fullName = value.firstName + ' ' + value.lastName;
|
|
8
|
-
}
|
|
9
|
-
else if (!value.firstName && value.lastName) {
|
|
10
|
-
fullName = value.lastName;
|
|
11
|
-
}
|
|
12
|
-
else if (value.firstName && !value.lastName) {
|
|
13
|
-
fullName = value.firstName;
|
|
14
|
-
}
|
|
15
|
-
else if (!value.firstName && !value.lastName) {
|
|
16
|
-
fullName = value.email;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return fullName;
|
|
20
|
-
}
|
|
21
|
-
isEmptyObject(data) {
|
|
22
|
-
return (data && (Object.keys(data).length === 0));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
UserFullnamePipe.decorators = [
|
|
26
|
-
{ type: Pipe, args: [{
|
|
27
|
-
name: 'mnlUserFullName'
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1mdWxsbmFtZS1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL3BpcGVzL3VzZXItZnVsbG5hbWUtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFNBQVMsQ0FBQyxLQUFnQjtRQUN4QixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ3JDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ25EO2lCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzdDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQzNCO2lCQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzdDLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2FBQzVCO2lCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDOUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7YUFDeEI7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBZTtRQUMzQixPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUF2QkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxpQkFBaUI7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi9tb2RlbC91c2VyLW1vZGVsJztcblxuQFBpcGUoe1xuICBuYW1lOiAnbW5sVXNlckZ1bGxOYW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyRnVsbG5hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBVc2VyTW9kZWwpOiBhbnkge1xuICAgIGxldCBmdWxsTmFtZSA9ICcnO1xuICAgIGlmICghdGhpcy5pc0VtcHR5T2JqZWN0KHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlLmZpcnN0TmFtZSAmJiB2YWx1ZS5sYXN0TmFtZSkge1xuICAgICAgICBmdWxsTmFtZSA9IHZhbHVlLmZpcnN0TmFtZSArICcgJyArIHZhbHVlLmxhc3ROYW1lO1xuICAgICAgfSBlbHNlIGlmICghdmFsdWUuZmlyc3ROYW1lICYmIHZhbHVlLmxhc3ROYW1lKSB7XG4gICAgICAgIGZ1bGxOYW1lID0gdmFsdWUubGFzdE5hbWU7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmZpcnN0TmFtZSAmJiAhdmFsdWUubGFzdE5hbWUpIHtcbiAgICAgICAgZnVsbE5hbWUgPSB2YWx1ZS5maXJzdE5hbWU7XG4gICAgICB9IGVsc2UgaWYgKCF2YWx1ZS5maXJzdE5hbWUgJiYgIXZhbHVlLmxhc3ROYW1lKSB7XG4gICAgICAgIGZ1bGxOYW1lID0gdmFsdWUuZW1haWw7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdWxsTmFtZTtcbiAgfVxuXG4gIGlzRW1wdHlPYmplY3QoZGF0YTogVXNlck1vZGVsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChkYXRhICYmIChPYmplY3Qua2V5cyhkYXRhKS5sZW5ndGggPT09IDApKTtcbiAgfVxufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
export class UserInitialPipe {
|
|
3
|
-
transform(value) {
|
|
4
|
-
let userInitials = '';
|
|
5
|
-
if (!this.isEmptyObject(value)) {
|
|
6
|
-
if (value.firstName && value.lastName) {
|
|
7
|
-
userInitials = value.firstName.substring(0, 1).toUpperCase() + value.lastName.substring(0, 1).toUpperCase();
|
|
8
|
-
}
|
|
9
|
-
else if (!value.firstName && value.lastName) {
|
|
10
|
-
userInitials = this.getUserInitials(value.lastName);
|
|
11
|
-
}
|
|
12
|
-
else if (value.firstName && !value.lastName) {
|
|
13
|
-
userInitials = this.getUserInitials(value.firstName);
|
|
14
|
-
}
|
|
15
|
-
else if (!value.firstName && !value.lastName) {
|
|
16
|
-
userInitials = value.email.substring(0, 1).toUpperCase();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return userInitials;
|
|
20
|
-
}
|
|
21
|
-
isEmptyObject(data) {
|
|
22
|
-
return (data && (Object.keys(data).length === 0));
|
|
23
|
-
}
|
|
24
|
-
getUserInitials(name) {
|
|
25
|
-
let userInitial = '';
|
|
26
|
-
if (this.hasWhiteSpace(name.trim())) {
|
|
27
|
-
const data = name.split(/\s+/);
|
|
28
|
-
userInitial = data[0].substring(0, 1).toUpperCase() + data[1].substring(0, 1).toUpperCase();
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
userInitial = name.trim().substring(0, 1).toUpperCase();
|
|
32
|
-
}
|
|
33
|
-
return userInitial;
|
|
34
|
-
}
|
|
35
|
-
hasWhiteSpace(data) {
|
|
36
|
-
return /\s/g.test(data);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
UserInitialPipe.decorators = [
|
|
40
|
-
{ type: Pipe, args: [{
|
|
41
|
-
name: 'mnlUserInitialPipe'
|
|
42
|
-
},] }
|
|
43
|
-
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbml0aWFscy1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL3BpcGVzL3VzZXItaW5pdGlhbHMtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixTQUFTLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNyQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUM3RztpQkFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUM3QyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckQ7aUJBQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDN0MsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3REO2lCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDOUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUMxRDtTQUNGO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFlO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdGO2FBQU07WUFDTCxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekQ7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7OztZQXRDRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjthQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uL21vZGVsL3VzZXItbW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtbmxVc2VySW5pdGlhbFBpcGUnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJJbml0aWFsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogVXNlck1vZGVsKSB7XG4gICAgbGV0IHVzZXJJbml0aWFscyA9ICcnO1xuICAgIGlmICghdGhpcy5pc0VtcHR5T2JqZWN0KHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlLmZpcnN0TmFtZSAmJiB2YWx1ZS5sYXN0TmFtZSkge1xuICAgICAgICB1c2VySW5pdGlhbHMgPSB2YWx1ZS5maXJzdE5hbWUuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyB2YWx1ZS5sYXN0TmFtZS5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKTtcbiAgICAgIH0gZWxzZSBpZiAoIXZhbHVlLmZpcnN0TmFtZSAmJiB2YWx1ZS5sYXN0TmFtZSkge1xuICAgICAgICB1c2VySW5pdGlhbHMgPSB0aGlzLmdldFVzZXJJbml0aWFscyh2YWx1ZS5sYXN0TmFtZSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmZpcnN0TmFtZSAmJiAhdmFsdWUubGFzdE5hbWUpIHtcbiAgICAgICAgdXNlckluaXRpYWxzID0gdGhpcy5nZXRVc2VySW5pdGlhbHModmFsdWUuZmlyc3ROYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAoIXZhbHVlLmZpcnN0TmFtZSAmJiAhdmFsdWUubGFzdE5hbWUpIHtcbiAgICAgICAgdXNlckluaXRpYWxzID0gdmFsdWUuZW1haWwuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1c2VySW5pdGlhbHM7XG4gIH1cblxuICBpc0VtcHR5T2JqZWN0KGRhdGE6IFVzZXJNb2RlbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZGF0YSAmJiAoT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoID09PSAwKSk7XG4gIH1cblxuICBnZXRVc2VySW5pdGlhbHMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXNlckluaXRpYWwgPSAnJztcbiAgICBpZiAodGhpcy5oYXNXaGl0ZVNwYWNlKG5hbWUudHJpbSgpKSkge1xuICAgICAgY29uc3QgZGF0YSA9IG5hbWUuc3BsaXQoL1xccysvKTtcbiAgICAgIHVzZXJJbml0aWFsID0gZGF0YVswXS5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIGRhdGFbMV0uc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVzZXJJbml0aWFsID0gbmFtZS50cmltKCkuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiB1c2VySW5pdGlhbDtcbiAgfVxuXG4gIGhhc1doaXRlU3BhY2UoZGF0YTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9cXHMvZy50ZXN0KGRhdGEpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { ObjectUtils } from '../utils/object-utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class AppConfigService {
|
|
8
|
-
constructor(http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.config = null;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Use to get the data found in the file (config file)
|
|
14
|
-
*/
|
|
15
|
-
get(key, defaultValue) {
|
|
16
|
-
const result = ObjectUtils.getValue(this.config, key);
|
|
17
|
-
return (result === undefined ? defaultValue : result);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* This method:
|
|
21
|
-
* Loads "config.json" to get all variables (e.g.: 'app.config.json')
|
|
22
|
-
*/
|
|
23
|
-
load() {
|
|
24
|
-
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const configUrl = `assets/app.config.json`;
|
|
26
|
-
yield this.http.get(configUrl).subscribe((data) => {
|
|
27
|
-
this.config = Object.assign({}, this.config, data || {});
|
|
28
|
-
resolve(this.config);
|
|
29
|
-
}, () => {
|
|
30
|
-
resolve(this.config);
|
|
31
|
-
});
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
AppConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppConfigService_Factory() { return new AppConfigService(i0.ɵɵinject(i1.HttpClient)); }, token: AppConfigService, providedIn: "root" });
|
|
36
|
-
AppConfigService.decorators = [
|
|
37
|
-
{ type: Injectable, args: [{
|
|
38
|
-
providedIn: 'root',
|
|
39
|
-
},] }
|
|
40
|
-
];
|
|
41
|
-
AppConfigService.ctorParameters = () => [
|
|
42
|
-
{ type: HttpClient }
|
|
43
|
-
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2FwcC5jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFLcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLFdBQU0sR0FBVyxJQUFJLENBQUM7SUFFUyxDQUFDO0lBRXhDOztPQUVHO0lBQ0ksR0FBRyxDQUFJLEdBQVcsRUFBRSxZQUFrQjtRQUMzQyxNQUFNLE1BQU0sR0FBUSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFNLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLENBQU8sT0FBTyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUM7WUFDM0MsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQ3RDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztZQWpDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUxRLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi91dGlscy9vYmplY3QtdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBvYmplY3QgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICogVXNlIHRvIGdldCB0aGUgZGF0YSBmb3VuZCBpbiB0aGUgZmlsZSAoY29uZmlnIGZpbGUpXG4gICAqL1xuICBwdWJsaWMgZ2V0PFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBUIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IE9iamVjdFV0aWxzLmdldFZhbHVlKHRoaXMuY29uZmlnLCBrZXkpO1xuICAgIHJldHVybiAocmVzdWx0ID09PSB1bmRlZmluZWQgPyBkZWZhdWx0VmFsdWUgOiByZXN1bHQpIGFzIFQ7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Q6XG4gICAqICAgTG9hZHMgXCJjb25maWcuanNvblwiIHRvIGdldCBhbGwgdmFyaWFibGVzIChlLmcuOiAnYXBwLmNvbmZpZy5qc29uJylcbiAgICovXG4gIGxvYWQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZ1VybCA9IGBhc3NldHMvYXBwLmNvbmZpZy5qc29uYDtcbiAgICAgIGF3YWl0IHRoaXMuaHR0cC5nZXQoY29uZmlnVXJsKS5zdWJzY3JpYmUoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnLCBkYXRhIHx8IHt9KTtcbiAgICAgICAgICByZXNvbHZlKHRoaXMuY29uZmlnKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUodGhpcy5jb25maWcpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class LocalStorageService {
|
|
4
|
-
set(key, value) {
|
|
5
|
-
localStorage.setItem(key, value);
|
|
6
|
-
}
|
|
7
|
-
get(key) {
|
|
8
|
-
return localStorage.getItem(key);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
LocalStorageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalStorageService_Factory() { return new LocalStorageService(); }, token: LocalStorageService, providedIn: "root" });
|
|
12
|
-
LocalStorageService.decorators = [
|
|
13
|
-
{ type: Injectable, args: [{
|
|
14
|
-
providedIn: 'root'
|
|
15
|
-
},] }
|
|
16
|
-
];
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUNWLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRztRQUNILE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7O1lBVEosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICAgIHNldChrZXksIHZhbHVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICBnZXQoa2V5KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
2
|
-
import { AppConfigService } from './app.config.service';
|
|
3
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import { UserProfileService } from './user-profile.service';
|
|
5
|
-
import { DOCUMENT } from '@angular/common';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./app.config.service";
|
|
8
|
-
import * as i2 from "@ngx-translate/core";
|
|
9
|
-
import * as i3 from "./user-profile.service";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
/** @dynamic */
|
|
12
|
-
export class LocaleService {
|
|
13
|
-
constructor(config, translate, userProfileService, document) {
|
|
14
|
-
this.config = config;
|
|
15
|
-
this.translate = translate;
|
|
16
|
-
this.userProfileService = userProfileService;
|
|
17
|
-
this.document = document;
|
|
18
|
-
this.languages = [];
|
|
19
|
-
this.initUserLanguage();
|
|
20
|
-
}
|
|
21
|
-
initUserLanguage() {
|
|
22
|
-
this.setActiveLocale(this.getActiveLocale() || this.getDefaultLocale());
|
|
23
|
-
}
|
|
24
|
-
setTextOrientation(direction) {
|
|
25
|
-
document.body.setAttribute('dir', direction);
|
|
26
|
-
}
|
|
27
|
-
getTextOrientation() {
|
|
28
|
-
return document.body.getAttribute('dir');
|
|
29
|
-
}
|
|
30
|
-
getLanguages() {
|
|
31
|
-
this.languages = this.config.get('languages');
|
|
32
|
-
if (!this.languages) {
|
|
33
|
-
this.languages = [
|
|
34
|
-
{
|
|
35
|
-
key: 'fr',
|
|
36
|
-
label: 'French',
|
|
37
|
-
direction: 'ltr',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
key: 'de',
|
|
41
|
-
label: 'German',
|
|
42
|
-
direction: 'ltr',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: 'en',
|
|
46
|
-
label: 'English',
|
|
47
|
-
direction: 'ltr',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
key: 'ar',
|
|
51
|
-
label: 'Arabic',
|
|
52
|
-
direction: 'rtl',
|
|
53
|
-
},
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
return this.languages;
|
|
57
|
-
}
|
|
58
|
-
getDefaultLocale() {
|
|
59
|
-
this.locale = this.userProfileService.getLocale();
|
|
60
|
-
if (!this.locale) {
|
|
61
|
-
this.locale = this.config.get('locale')
|
|
62
|
-
? this.config.get('locale')
|
|
63
|
-
: this.translate.getBrowserLang()
|
|
64
|
-
? this.translate.getBrowserLang()
|
|
65
|
-
: 'en';
|
|
66
|
-
}
|
|
67
|
-
return this.getLanguages().find((e) => e.key === this.locale);
|
|
68
|
-
}
|
|
69
|
-
getActiveLocale() {
|
|
70
|
-
if (this.userProfileService.getLocale()) {
|
|
71
|
-
return this.getLanguages().find((e) => e.key === this.userProfileService.getLocale());
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
setActiveLocale(locale) {
|
|
75
|
-
if (locale) {
|
|
76
|
-
this.translate.use(locale.key);
|
|
77
|
-
this.setTextOrientation(locale.direction);
|
|
78
|
-
this.userProfileService.setLocale(locale.key);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
LocaleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocaleService_Factory() { return new LocaleService(i0.ɵɵinject(i1.AppConfigService), i0.ɵɵinject(i2.TranslateService), i0.ɵɵinject(i3.UserProfileService), i0.ɵɵinject(i4.DOCUMENT)); }, token: LocaleService, providedIn: "root" });
|
|
83
|
-
LocaleService.decorators = [
|
|
84
|
-
{ type: Injectable, args: [{
|
|
85
|
-
providedIn: 'root',
|
|
86
|
-
},] }
|
|
87
|
-
];
|
|
88
|
-
LocaleService.ctorParameters = () => [
|
|
89
|
-
{ type: AppConfigService },
|
|
90
|
-
{ type: TranslateService },
|
|
91
|
-
{ type: UserProfileService },
|
|
92
|
-
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
93
|
-
];
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb25zL3NyYy9saWIvc2VydmljZXMvbG9jYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFHM0MsZUFBZTtBQUlmLE1BQU0sT0FBTyxhQUFhO0lBR3hCLFlBQ1UsTUFBd0IsRUFDeEIsU0FBMkIsRUFDM0Isa0JBQXNDLEVBQ3BCLFFBQWtCO1FBSHBDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUw5QyxjQUFTLEdBQXdCLEVBQUUsQ0FBQztRQU9sQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBUztRQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHO2dCQUNmO29CQUNFLEdBQUcsRUFBRSxJQUFJO29CQUNULEtBQUssRUFBRSxRQUFRO29CQUNmLFNBQVMsRUFBRSxLQUFLO2lCQUNqQjtnQkFDRDtvQkFDRSxHQUFHLEVBQUUsSUFBSTtvQkFDVCxLQUFLLEVBQUUsUUFBUTtvQkFDZixTQUFTLEVBQUUsS0FBSztpQkFDakI7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLElBQUk7b0JBQ1QsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLFNBQVMsRUFBRSxLQUFLO2lCQUNqQjtnQkFDRDtvQkFDRSxHQUFHLEVBQUUsSUFBSTtvQkFDVCxLQUFLLEVBQUUsUUFBUTtvQkFDZixTQUFTLEVBQUUsS0FBSztpQkFDakI7YUFDRixDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUU7b0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRTtvQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUNyRCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQW9CO1FBQ2xDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzs7O1lBakZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVFEsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFlYSxRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9hcHAuY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXByb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5cbi8qKiBAZHluYW1pYyAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsZVNlcnZpY2Uge1xuICBsb2NhbGU6IHN0cmluZztcbiAgbGFuZ3VhZ2VzOiBBcnJheTxMYW5ndWFnZUl0ZW0+ID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclByb2ZpbGVTZXJ2aWNlOiBVc2VyUHJvZmlsZVNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7XG4gICAgdGhpcy5pbml0VXNlckxhbmd1YWdlKCk7XG4gIH1cblxuICBpbml0VXNlckxhbmd1YWdlKCkge1xuICAgIHRoaXMuc2V0QWN0aXZlTG9jYWxlKHRoaXMuZ2V0QWN0aXZlTG9jYWxlKCkgfHwgdGhpcy5nZXREZWZhdWx0TG9jYWxlKCkpO1xuICB9XG5cbiAgc2V0VGV4dE9yaWVudGF0aW9uKGRpcmVjdGlvbikge1xuICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCdkaXInLCBkaXJlY3Rpb24pO1xuICB9XG5cbiAgZ2V0VGV4dE9yaWVudGF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCdkaXInKTtcbiAgfVxuXG4gIGdldExhbmd1YWdlcygpOiBBcnJheTxMYW5ndWFnZUl0ZW0+IHtcbiAgICB0aGlzLmxhbmd1YWdlcyA9IHRoaXMuY29uZmlnLmdldCgnbGFuZ3VhZ2VzJyk7XG4gICAgaWYgKCF0aGlzLmxhbmd1YWdlcykge1xuICAgICAgdGhpcy5sYW5ndWFnZXMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICdmcicsXG4gICAgICAgICAgbGFiZWw6ICdGcmVuY2gnLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICdkZScsXG4gICAgICAgICAgbGFiZWw6ICdHZXJtYW4nLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICdlbicsXG4gICAgICAgICAgbGFiZWw6ICdFbmdsaXNoJyxcbiAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnYXInLFxuICAgICAgICAgIGxhYmVsOiAnQXJhYmljJyxcbiAgICAgICAgICBkaXJlY3Rpb246ICdydGwnLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzO1xuICB9XG4gIGdldERlZmF1bHRMb2NhbGUoKTogTGFuZ3VhZ2VJdGVtIHtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMudXNlclByb2ZpbGVTZXJ2aWNlLmdldExvY2FsZSgpO1xuICAgIGlmICghdGhpcy5sb2NhbGUpIHtcbiAgICAgIHRoaXMubG9jYWxlID0gdGhpcy5jb25maWcuZ2V0KCdsb2NhbGUnKVxuICAgICAgICA/IHRoaXMuY29uZmlnLmdldCgnbG9jYWxlJylcbiAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpXG4gICAgICAgID8gdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckxhbmcoKVxuICAgICAgICA6ICdlbic7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldExhbmd1YWdlcygpLmZpbmQoKGUpID0+IGUua2V5ID09PSB0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBnZXRBY3RpdmVMb2NhbGUoKTogTGFuZ3VhZ2VJdGVtIHtcbiAgICBpZiAodGhpcy51c2VyUHJvZmlsZVNlcnZpY2UuZ2V0TG9jYWxlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldExhbmd1YWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiBlLmtleSA9PT0gdGhpcy51c2VyUHJvZmlsZVNlcnZpY2UuZ2V0TG9jYWxlKClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlTG9jYWxlKGxvY2FsZTogTGFuZ3VhZ2VJdGVtKSB7XG4gICAgaWYgKGxvY2FsZSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxvY2FsZS5rZXkpO1xuICAgICAgdGhpcy5zZXRUZXh0T3JpZW50YXRpb24obG9jYWxlLmRpcmVjdGlvbik7XG4gICAgICB0aGlzLnVzZXJQcm9maWxlU2VydmljZS5zZXRMb2NhbGUobG9jYWxlLmtleSk7XG4gICAgfVxuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlSXRlbSB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG59XG4iXX0=
|