From 3a9be3ff9301518ec0786c7550bed8ca8c1124f2 Mon Sep 17 00:00:00 2001 From: leejinho Date: Tue, 21 Jan 2020 16:36:30 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EB=8C=80=ED=99=94=EB=B0=A9=20>=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=95=84=20>=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=ED=8C=9D=EC=97=85=20=EC=98=A4=ED=94=88=20=EC=95=88=EB=90=98?= =?UTF-8?q?=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messenger/components/messages.component.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts index 3672db1a..ba4ec505 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts @@ -1666,14 +1666,13 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { } onClickOpenProfile(userSeq: number) { + const roomType = this.roomInfoSubject.value.roomType; if ( - [ - RoomType.Allim, - RoomType.Bot, - RoomType.Link, - RoomType.Allim_Elephant, - RoomType.Allim_TMS - ].some(v => v === this.roomInfoSubject.value.roomType) + roomType !== RoomType.Allim && + roomType !== RoomType.Bot && + roomType !== RoomType.Link && + roomType !== RoomType.Allim_Elephant && + roomType !== RoomType.Allim_TMS ) { this.openProfile.emit({ userSeq }); } From aed1c7fb6710dcc757caa693c2aa5bc1a822607c Mon Sep 17 00:00:00 2001 From: leejinho Date: Tue, 21 Jan 2020 16:36:48 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=97=AC=EA=B8=B0=EA=B9=8C=EC=A7=80=20?= =?UTF-8?q?=EC=9D=BD=EC=9D=8C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/components/messages.component.html | 2 +- .../src/lib/components/messages.component.ts | 27 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html index d2fbc690..c718c1c0 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.html @@ -58,7 +58,7 @@ [mine]="message.senderSeq === loginRes.userSeq" [highlight]="isHighlightedEvent(message.seq)" [existReadToHere]=" - readToHereEvent && readToHereEvent.seq === message.seq + !!readToHereEvent && readToHereEvent.seq === message.seq " [dateChanged]="getDateSplitter(message)" [senderName]="getUserName(message.senderSeq)" diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts index 4c20b283..dc65835c 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/messages.component.ts @@ -169,20 +169,26 @@ export class MessagesComponent implements OnInit, OnDestroy { this.roomInfo = roomInfo; }); this.eventListSubscription = this.eventList$.subscribe(eventList => { + if (!!eventList && eventList.length > 0 && this.baseEventSeq === 0) { + this.initRoomLastEventSeq = eventList[eventList.length - 1].seq; + } + if ( !!eventList && eventList.length > 0 && + this.baseEventSeq > 0 && !!this.roomInfo && !!this.roomInfo.lastReadEventSeq && this.baseEventSeq <= this.roomInfo.lastReadEventSeq ) { - // 조회된 내용중에 read here 가 있을 경우. + // 기존 대화 내용이 있는 상태에서 추가로 조회된 내용중에 read here 가 있을 경우. this.firstCheckReadHere = false; } - this.readToHereEvent = eventList.find(e => this.getReadHere(e)); - this.eventList = eventList; + + this.readToHereEvent = this.getReadHere(); + this.changeDetectorRef.detectChanges(); if (this.searchingMode) { @@ -339,7 +345,7 @@ export class MessagesComponent implements OnInit, OnDestroy { return false; } - getReadHere(message: Info): boolean { + getReadHere(): Info | undefined { if ( !!this.roomInfo && !!this.roomInfo.lastReadEventSeq && @@ -351,20 +357,13 @@ export class MessagesComponent implements OnInit, OnDestroy { this.roomInfo.roomType === RoomType.Multi ) { if (!this.roomInfo.isTimeRoom) { - const messageIndex = this.eventList.findIndex( - v => v.seq === message.seq + return this.eventList.find( + v => v.seq === this.roomInfo.lastReadEventSeq + 1 ); - - if ( - this.eventList[messageIndex].seq === - this.roomInfo.lastReadEventSeq + 1 - ) { - return true; - } } } } - return false; + return undefined; } getStringReadHereMore(): string {