mirror of
https://github.com/avatao-content/frontend-tutorial-framework
synced 2025-07-01 07:06:22 +00:00
Move scrolling logic to MessagesComponent
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { ChangeDetectorRef, Component, OnInit, EventEmitter, Output } from '@angular/core';
|
||||
import { ChangeDetectorRef, Component, OnInit, EventEmitter, Output, ElementRef } from '@angular/core';
|
||||
import { MessageData, Message } from '../message-types/bot-messages';
|
||||
import { MarkdownService } from '../services/markdown.service';
|
||||
import { WebSocketService } from '../services/websocket.service';
|
||||
@ -19,7 +19,8 @@ export class MessagesComponent implements OnInit {
|
||||
constructor(
|
||||
private markdownService: MarkdownService,
|
||||
private websocketService: WebSocketService,
|
||||
private changeDetectorRef: ChangeDetectorRef
|
||||
private changeDetectorRef: ChangeDetectorRef,
|
||||
private ref: ElementRef
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
@ -27,6 +28,7 @@ export class MessagesComponent implements OnInit {
|
||||
message => {
|
||||
this.writeMessage(message);
|
||||
this.newMessageEvent.emit();
|
||||
this.scrollToBottom();
|
||||
});
|
||||
|
||||
this.websocketService.connect();
|
||||
@ -41,6 +43,11 @@ export class MessagesComponent implements OnInit {
|
||||
this.changeDetectorRef.detectChanges();
|
||||
}
|
||||
|
||||
scrollToBottom() {
|
||||
const element = this.ref.nativeElement.parentElement;
|
||||
element.scrollTop = element.scrollHeight;
|
||||
}
|
||||
|
||||
transformMessage(message: MessageData) {
|
||||
message.message = this.convertMarkdownToHTML(message.message);
|
||||
if (!message.timestamp) {
|
||||
|
Reference in New Issue
Block a user