Back to home page

EIC code displayed by LXR

 
 

    


Warning, /firebird/firebird-ng/src/app/components/event-time-control/event-time-control.component.ts is written in an unsupported language. File is not indexed.

0001 import {Component, Input, Output, EventEmitter, inject, computed, Signal} from '@angular/core';
0002 import { MatSliderModule } from '@angular/material/slider';
0003 import { DecimalPipe } from '@angular/common';
0004 import { MatInputModule } from '@angular/material/input';
0005 import {EventDisplayService} from "../../services/event-display.service";
0006 
0007 @Component({
0008   selector: 'app-event-time-control',
0009   standalone: true,
0010   imports: [MatSliderModule, MatInputModule, DecimalPipe],
0011   templateUrl: './event-time-control.component.html',
0012   styleUrls: ['./event-time-control.component.scss']
0013 })
0014 export class EventTimeControlComponent {
0015   constructor(public eventDisplayService: EventDisplayService) {}
0016 
0017   public shownTime: Signal<number> = computed(()=>{
0018     const edTime = this.eventDisplayService.eventTime();
0019     if(edTime === null || edTime === undefined) {
0020       return this.eventDisplayService.minTime;
0021     }
0022     return edTime;
0023   })
0024   /**
0025    * Called whenever the slider input changes.
0026    * It extracts the new value and updates the service's time.
0027    */
0028   changeCurrentTime(event: Event): void {
0029     if (!event) return;
0030     const input = event.target as HTMLInputElement;
0031     const value = parseFloat(input.value);
0032     this.eventDisplayService.updateEventTime(value);
0033   }
0034 
0035   /**
0036    * A function to format the numeric slider value to display e.g. 1 decimal place.
0037    */
0038   formatCurrentTime(value: number): string {
0039     return value.toFixed(1);
0040   }
0041 
0042 
0043 }