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 f5b78937..3672db1a 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 @@ -7,7 +7,8 @@ import { Output, EventEmitter, Inject, - ChangeDetectorRef + ChangeDetectorRef, + ChangeDetectionStrategy } from '@angular/core'; import { ucapAnimations, @@ -133,7 +134,8 @@ import { FileProtocolService } from '@ucap-webmessenger/protocol-file'; selector: 'app-layout-messenger-messages', templateUrl: './messages.component.html', styleUrls: ['./messages.component.scss'], - animations: ucapAnimations + animations: ucapAnimations, + changeDetection: ChangeDetectionStrategy.OnPush }) export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { @Output() @@ -391,14 +393,14 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { } }); - this.interval = setInterval(() => { - if ( - !!this.roomInfoSubject.value && - !!this.roomInfoSubject.value.isTimeRoom - ) { + if ( + !!this.roomInfoSubject.value && + !!this.roomInfoSubject.value.isTimeRoom + ) { + this.interval = setInterval(() => { this.store.dispatch(EventStore.infoIntervalClear({})); - } - }, 1000); + }, 1000); + } } ngOnDestroy(): void { @@ -424,7 +426,9 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { this.searchEventListProcessingSubscription.unsubscribe(); } - clearInterval(this.interval); + if (!!this.interval) { + clearInterval(this.interval); + } } ngAfterViewInit(): void { @@ -1847,7 +1851,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { this.eventRemainedSubject.value ) { this.moreSearchProcessing = true; - this.chatMessages.storeScrollHeight(); + this.chatMessages.storeScrollPosition(); // Case :: retrieve event infos step by step until include searchtext in event.. this.store.dispatch( diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.ts index 29e0694a..789b7d32 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.ts +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.ts @@ -111,14 +111,14 @@ export class MessageBoxComponent implements OnInit, AfterViewInit { } ngAfterViewInit(): void { - this.logger.debug( - 'offsetHeight' + this.message.seq, - this.mbContainer.nativeElement.offsetHeight - ); - this.elementRef.nativeElement.style.height = `${this.mbContainer - .nativeElement.offsetHeight + 20}px`; - this.elementRef.nativeElement.style.maxHeight = `${this.mbContainer - .nativeElement.offsetHeight + 20}px`; + // this.logger.debug( + // 'offsetHeight' + this.message.seq, + // this.mbContainer.nativeElement.offsetHeight + // ); + // this.elementRef.nativeElement.style.height = `${this.mbContainer + // .nativeElement.offsetHeight + 20}px`; + // this.elementRef.nativeElement.style.maxHeight = `${this.mbContainer + // .nativeElement.offsetHeight + 20}px`; this.mbContainer.nativeElement.classList.remove('hide'); } 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 7df4f3e0..57ea8b25 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 @@ -9,8 +9,14 @@ (psYReachStart)="onYReachStart($event)" (psYReachEnd)="onYReachEnd($event)" [enableUnequalChildrenSizes]="true" + [modifyOverflowStyleOfParentScroll]="false" + (vsChange)="onVsChange($event)" > -