여기까지 읽음 수정.

This commit is contained in:
leejinho 2020-01-21 16:36:48 +09:00
parent 3a9be3ff93
commit aed1c7fb67
2 changed files with 14 additions and 15 deletions

View File

@ -58,7 +58,7 @@
[mine]="message.senderSeq === loginRes.userSeq" [mine]="message.senderSeq === loginRes.userSeq"
[highlight]="isHighlightedEvent(message.seq)" [highlight]="isHighlightedEvent(message.seq)"
[existReadToHere]=" [existReadToHere]="
readToHereEvent && readToHereEvent.seq === message.seq !!readToHereEvent && readToHereEvent.seq === message.seq
" "
[dateChanged]="getDateSplitter(message)" [dateChanged]="getDateSplitter(message)"
[senderName]="getUserName(message.senderSeq)" [senderName]="getUserName(message.senderSeq)"

View File

@ -169,20 +169,26 @@ export class MessagesComponent implements OnInit, OnDestroy {
this.roomInfo = roomInfo; this.roomInfo = roomInfo;
}); });
this.eventListSubscription = this.eventList$.subscribe(eventList => { this.eventListSubscription = this.eventList$.subscribe(eventList => {
if (!!eventList && eventList.length > 0 && this.baseEventSeq === 0) {
this.initRoomLastEventSeq = eventList[eventList.length - 1].seq;
}
if ( if (
!!eventList && !!eventList &&
eventList.length > 0 && eventList.length > 0 &&
this.baseEventSeq > 0 &&
!!this.roomInfo && !!this.roomInfo &&
!!this.roomInfo.lastReadEventSeq && !!this.roomInfo.lastReadEventSeq &&
this.baseEventSeq <= this.roomInfo.lastReadEventSeq this.baseEventSeq <= this.roomInfo.lastReadEventSeq
) { ) {
// 조회된 내용중에 read here 가 있을 경우. // 기존 대화 내용이 있는 상태에서 추가로 조회된 내용중에 read here 가 있을 경우.
this.firstCheckReadHere = false; this.firstCheckReadHere = false;
} }
this.readToHereEvent = eventList.find(e => this.getReadHere(e));
this.eventList = eventList; this.eventList = eventList;
this.readToHereEvent = this.getReadHere();
this.changeDetectorRef.detectChanges(); this.changeDetectorRef.detectChanges();
if (this.searchingMode) { if (this.searchingMode) {
@ -339,7 +345,7 @@ export class MessagesComponent implements OnInit, OnDestroy {
return false; return false;
} }
getReadHere(message: Info<EventJson>): boolean { getReadHere(): Info<EventJson> | undefined {
if ( if (
!!this.roomInfo && !!this.roomInfo &&
!!this.roomInfo.lastReadEventSeq && !!this.roomInfo.lastReadEventSeq &&
@ -351,20 +357,13 @@ export class MessagesComponent implements OnInit, OnDestroy {
this.roomInfo.roomType === RoomType.Multi this.roomInfo.roomType === RoomType.Multi
) { ) {
if (!this.roomInfo.isTimeRoom) { if (!this.roomInfo.isTimeRoom) {
const messageIndex = this.eventList.findIndex( return this.eventList.find(
v => v.seq === message.seq v => v.seq === this.roomInfo.lastReadEventSeq + 1
); );
if (
this.eventList[messageIndex].seq ===
this.roomInfo.lastReadEventSeq + 1
) {
return true;
}
} }
} }
} }
return false; return undefined;
} }
getStringReadHereMore(): string { getStringReadHereMore(): string {