42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
import { Pokemon } from '../pokemon';
|
|
import { PokemonService } from '../pokemon.service';
|
|
|
|
@Component({
|
|
selector: 'app-detail-pokemon',
|
|
templateUrl: './detail-pokemon.component.html',
|
|
})
|
|
export class DetailPokemonComponent implements OnInit {
|
|
constructor(
|
|
private route: ActivatedRoute,
|
|
private router: Router,
|
|
private pokemonService: PokemonService
|
|
) {}
|
|
pokemonList: Pokemon[];
|
|
pokemon: Pokemon | undefined;
|
|
|
|
ngOnInit(): void {
|
|
const pokemonId: string | null = this.route.snapshot.paramMap.get('id');
|
|
if (pokemonId) {
|
|
this.pokemonService
|
|
.getPokemonById(+pokemonId)
|
|
.subscribe((pokemon) => (this.pokemon = pokemon));
|
|
}
|
|
}
|
|
|
|
deletePokemon(pokemon: Pokemon) {
|
|
this.pokemonService
|
|
.deletePokemonById(pokemon)
|
|
.subscribe(() => this.goToPokemonList());
|
|
}
|
|
|
|
goToPokemonList() {
|
|
this.router.navigate(['/pokemons']);
|
|
}
|
|
|
|
goToEditPokemon(pokemon: Pokemon) {
|
|
this.router.navigate(['/edit/pokemon', pokemon.id]);
|
|
}
|
|
}
|