Warning, /firebird/packages/firebird-ng/display/src/lib/components/message-log/message-log.component.ts is written in an unsupported language. File is not indexed.
0001 import { Component, ViewChild, ChangeDetectionStrategy } 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 changeDetection: ChangeDetectionStrategy.OnPush,
0012 imports: [CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, AsyncPipe, UpperCasePipe, DatePipe]
0013 })
0014 export class MessageLogComponent {
0015 @ViewChild(CdkVirtualScrollViewport) viewport!: CdkVirtualScrollViewport;
0016 messages = this.messageService.getMessageStream();
0017 itemSize = 56; // Height of each message item
0018
0019 constructor(private messageService: MessageService) {}
0020
0021 ngAfterViewInit() {
0022 this.messageService.registerViewport(this.viewport);
0023 }
0024
0025 trackByFn(index: number, message: Message) {
0026 return message.timestamp.getTime();
0027 }
0028 }