import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core'; import { Info, EventType } from '@ucap-webmessenger/protocol-event'; import { LoginResponse, UserInfo } from '@ucap-webmessenger/protocol-authentication'; import { NGXLogger } from 'ngx-logger'; import { SessionStorageService } from '@ucap-webmessenger/web-storage'; import { KEY_VER_INFO, VerInfo2 } from '@app/types/ver-info.type'; @Component({ selector: 'ucap-chat-messages', templateUrl: './messages.component.html', styleUrls: ['./messages.component.scss'] }) export class MessagesComponent implements OnInit { @Input() loginRes: LoginResponse; @Input() messages: Info[]; @Input() userInfos?: UserInfo[]; @Output() massDetail = new EventEmitter(); EventType = EventType; profileImageRoot: string; constructor( private logger: NGXLogger, private sessionStorageService: SessionStorageService ) {} ngOnInit() { const verInfo = this.sessionStorageService.get(KEY_VER_INFO); this.profileImageRoot = this.profileImageRoot || verInfo.profileRoot; } getUserName(seq: number): string { if (!this.userInfos) { return ''; } const userInfo: UserInfo[] = this.userInfos.filter( user => user.seq === seq ); if (!!userInfo && userInfo.length > 0) { return userInfo[0].name; } return '(알수없는 사용자)'; } getUserProfile(seq: number): string { if (!this.userInfos) { return ''; } const userInfo: UserInfo[] = this.userInfos.filter( user => user.seq === seq ); if (!!userInfo && userInfo.length > 0) { return this.profileImageRoot + userInfo[0].profileImageFile; } return ''; } onMassDetail(value: number) { this.massDetail.emit(value); } }