character-card.component.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { Component, Input, Output, EventEmitter } from '@angular/core';
  2. import { DataService } from 'src/services/data/data.service';
  3. import { TranslatorService } from 'src/services/translator/translator.service';
  4. @Component({
  5. selector: 'character-card',
  6. templateUrl: './character-card.component.html',
  7. styleUrls: ['./character-card.component.scss'],
  8. })
  9. export class CharacterCardComponent {
  10. @Input() character: string = '';
  11. @Output() delete: EventEmitter<string> = new EventEmitter<string>();
  12. @Output() select: EventEmitter<string> = new EventEmitter<string>();
  13. public characterData: any = {};
  14. public image: any;
  15. public races: any;
  16. public classes: any;
  17. constructor(
  18. private dataAccessor: DataService,
  19. private translator: TranslatorService
  20. ) {}
  21. ngOnInit() {
  22. this.races = this.translator.races;
  23. this.classes = this.translator.classes;
  24. this.dataAccessor
  25. .getData(this.character, 'characterData')
  26. .then((characterData: any) => {
  27. this.characterData = characterData;
  28. });
  29. this.dataAccessor.getData(this.character, 'image').then((image: any) => {
  30. this.image = image.value;
  31. });
  32. }
  33. public deleteCharacter(): void {
  34. this.delete.emit();
  35. }
  36. public selectCharacter(): void {
  37. this.select.emit();
  38. }
  39. }