diff --git a/projects/common/src/fm/components/avatar/avatar.component.css b/projects/common/src/fm/components/avatar/avatar.component.css index e69de29..43063a0 100644 --- a/projects/common/src/fm/components/avatar/avatar.component.css +++ b/projects/common/src/fm/components/avatar/avatar.component.css @@ -0,0 +1,13 @@ +.avatar-container { + position: relative; +} +.avatar-text { + position: absolute; + top: 25px; + left: 10px; + bottom: 20px; + right: 20px; + color: white; + padding-left: 20px; + padding-right: 20px; +} \ No newline at end of file diff --git a/projects/common/src/fm/components/avatar/avatar.component.html b/projects/common/src/fm/components/avatar/avatar.component.html index 89b465e..013152f 100644 --- a/projects/common/src/fm/components/avatar/avatar.component.html +++ b/projects/common/src/fm/components/avatar/avatar.component.html @@ -1 +1,9 @@ - + + + + \ No newline at end of file diff --git a/projects/common/src/fm/components/avatar/avatar.component.ts b/projects/common/src/fm/components/avatar/avatar.component.ts index ab343e2..5672e66 100644 --- a/projects/common/src/fm/components/avatar/avatar.component.ts +++ b/projects/common/src/fm/components/avatar/avatar.component.ts @@ -1,5 +1,6 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core'; import { IUser } from '../../models/user'; +import { AppConfig } from '../../shared/app.config'; @Component({ selector: 'fm-avatar', @@ -11,24 +12,37 @@ export class AvatarComponent implements OnInit { @Input() user: IUser; @Input() bgColor: string; @Input() fgColor: string; - @Input() size: number; - @Input() round: boolean; + @Input() size: number = 75; + @Input() round: boolean = true; @Output() click = new EventEmitter(); - constructor() { } + src : string = null; + name : string = null; + + constructor(private appConfig: AppConfig) { + } ngOnInit(): void { } - getName():string { - if (!this.user) return null; - if (this.user.firstName && this.user.lastName) - return this.user.firstName + ' ' + this.user.lastName; - return this.user.name; + ngOnChanges(changes: SimpleChanges): void { + if (changes['user']) { + const user: IUser = changes['user'].currentValue; + this.refresh(user); + } } - onClick() { + onClick(event: MouseEvent) { + event.stopPropagation(); this.click.emit(); } -} + + refresh(user: IUser) { + if (!user) return null; + const apiEndpoint = this.appConfig.getConfig("apiEndPoint"); + this.src = `${apiEndpoint}/api/v1/users/${user.code}/avatar`; + this.name = user.firstName && user.lastName ? + user.firstName + ' ' + user.lastName : user.name; + } +} \ No newline at end of file diff --git a/projects/common/src/fm/components/user-menu/user-menu.component.html b/projects/common/src/fm/components/user-menu/user-menu.component.html index c625332..50fc52d 100644 --- a/projects/common/src/fm/components/user-menu/user-menu.component.html +++ b/projects/common/src/fm/components/user-menu/user-menu.component.html @@ -1,6 +1,6 @@