treetrail-frontend/src/app/map/direction.component.ts
2024-10-19 11:53:15 +02:00

59 lines
No EOL
1.4 KiB
TypeScript

import { Component, ElementRef, OnInit,
ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core'
import { Subscription } from 'rxjs'
import { FeatureFinderService } from '../feature-finder.service'
@Component({
selector: 'app-direction',
templateUrl: './direction.component.html',
styleUrls: ['./direction.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TreetrailDirectionComponent implements OnInit {
direction: number
clickSubscription: Subscription
distance: number
orientationClass: string = 'unknown'
constructor(
public elementRef: ElementRef,
public featureFinderService: FeatureFinderService,
private cdr: ChangeDetectorRef,
) {
}
ngOnInit() {
this.featureFinderService.direction$.subscribe(
dir => {
this.direction = dir
this.cdr.markForCheck()
}
)
this.featureFinderService.distance$.subscribe(
dist => {
this.distance = Math.round(dist)
this.cdr.markForCheck()
}
)
this.featureFinderService.direction$.subscribe(
_ => this.cdr.markForCheck()
)
this.featureFinderService.orientation$.subscribe(
orientation => {
if (typeof(orientation) != 'undefined') {
this.orientationClass = 'absolute'
}
else {
this.orientationClass = 'unknown'
}
this.cdr.markForCheck()
}
)
}
}