PlayerManagement/Ui/src/app/pages/player-information/player-information.component.ts
Tomasi - Developing bfbb030cb2 v. 0.11.0
2025-06-19 11:02:57 +02:00

68 lines
2.3 KiB
TypeScript

import {Component, inject, OnInit} from '@angular/core';
import {ActivatedRoute} from "@angular/router";
import {PlayerModel} from "../../models/player.model";
import {PlayerService} from "../../services/player.service";
import {NgbModal} from "@ng-bootstrap/ng-bootstrap";
import {PlayerNoteModalComponent} from "../../modals/player-note-modal/player-note-modal.component";
import {PlayerAdmonitionModalComponent} from "../../modals/player-admonition-modal/player-admonition-modal.component";
import {ToastrService} from "ngx-toastr";
@Component({
selector: 'app-player-information',
templateUrl: './player-information.component.html',
styleUrl: './player-information.component.css'
})
export class PlayerInformationComponent implements OnInit {
public currentPlayer: PlayerModel | undefined;
public playerId: string = '';
private readonly _activatedRote: ActivatedRoute = inject(ActivatedRoute);
private readonly _playerService: PlayerService = inject(PlayerService);
private readonly _modalService: NgbModal = inject(NgbModal);
private readonly _toastr: ToastrService = inject(ToastrService);
ngOnInit() {
this.playerId = this._activatedRote.snapshot.params['id'];
this.getPlayer(this.playerId);
}
getPlayer(playerId: string) {
this._playerService.getPlayer(playerId).subscribe({
next: ((response: PlayerModel) => {
if (response) {
this.currentPlayer = response;
}
}),
error: ((error) => {
console.log(error);
this._toastr.error('Could not load player', 'Error loading player');
})
});
}
openPlayerNotes(player: PlayerModel) {
const modalRef = this._modalService.open(PlayerNoteModalComponent,
{animation: true, backdrop: 'static', centered: true, size: 'lg'});
modalRef.componentInstance.player = player
modalRef.dismissed.subscribe({
next: (() => {
this.getPlayer(player.id);
})
});
}
openPlayerAdmonitions(currentPlayer: PlayerModel) {
const modalRef = this._modalService.open(PlayerAdmonitionModalComponent,
{animation: true, backdrop: 'static', centered: true, size: 'lg'});
modalRef.componentInstance.player = currentPlayer
modalRef.dismissed.subscribe({
next: (() => {
this.getPlayer(currentPlayer
.id);
})
});
}
}