diff --git a/src/src/app/shared/place-box/place-box.component.ts b/src/src/app/shared/place-box/place-box.component.ts index 2df19af..7f20e0b 100644 --- a/src/src/app/shared/place-box/place-box.component.ts +++ b/src/src/app/shared/place-box/place-box.component.ts @@ -1,4 +1,12 @@ -import { Component, EventEmitter, Input, Output } from "@angular/core"; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + OnDestroy, + OnInit, + Output, +} from "@angular/core"; import { ButtonModule } from "primeng/button"; import { MenuModule } from "primeng/menu"; import { Place } from "../../types/poi"; @@ -14,24 +22,27 @@ import { LinkifyPipe } from "../linkify.pipe"; imports: [ButtonModule, MenuModule, AsyncPipe, LinkifyPipe], templateUrl: "./place-box.component.html", styleUrls: ["./place-box.component.scss"], + changeDetection: ChangeDetectionStrategy.OnPush, }) -export class PlaceBoxComponent { +export class PlaceBoxComponent implements OnInit { @Input() selectedPlace: Place | undefined = undefined; - @Output() editEmitter = new EventEmitter(); - @Output() deleteEmitter = new EventEmitter(); - @Output() visitEmitter = new EventEmitter(); - @Output() favoriteEmitter = new EventEmitter(); - @Output() gpxEmitter = new EventEmitter(); - @Output() closeEmitter = new EventEmitter(); + @Output() editEmitter = new EventEmitter(); + @Output() deleteEmitter = new EventEmitter(); + @Output() visitEmitter = new EventEmitter(); + @Output() favoriteEmitter = new EventEmitter(); + @Output() gpxEmitter = new EventEmitter(); + @Output() closeEmitter = new EventEmitter(); menuItems: MenuItem[] = []; - currency$: Observable; + readonly currency$: Observable; constructor(private utilsService: UtilsService) { this.currency$ = this.utilsService.currency$; + } - let items = [ + ngOnInit() { + const items = [ { label: "Edit", icon: "pi pi-pencil", @@ -67,7 +78,7 @@ export class PlaceBoxComponent { ]; if (this.selectedPlace?.gpx) { - items.push({ + items.unshift({ label: "Display GPX", icon: "pi pi-compass", iconClass: "text-gray-500!",