Warning, /firebird/firebird-ng/src/app/components/message-log/message-log.component.ts is written in an unsupported language. File is not indexed.
0001 import { Component, ViewChild } from '@angular/core';
0002 import { MessageService, Message } from '../../services/message.service';
0003 import {CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
0004 import {AsyncPipe, DatePipe, UpperCasePipe} from "@angular/common";
0005
0006 @Component({
0007 selector: 'app-message-log',
0008 templateUrl: './message-log.component.html',
0009 styleUrls: ['./message-log.component.scss'],
0010 standalone: true,
0011 imports: [CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, AsyncPipe, UpperCasePipe, DatePipe]
0012 })
0013 export class MessageLogComponent {
0014 @ViewChild(CdkVirtualScrollViewport) viewport!: CdkVirtualScrollViewport;
0015 messages = this.messageService.getMessageStream();
0016 itemSize = 56; // Height of each message item
0017
0018 constructor(private messageService: MessageService) {}
0019
0020 ngAfterViewInit() {
0021 this.messageService.registerViewport(this.viewport);
0022 }
0023
0024 trackByFn(index: number, message: Message) {
0025 return message.timestamp.getTime();
0026 }
0027 }