attribute-details.component.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { Component, Input } from '@angular/core';
  2. import { DetailsService } from 'src/services/details/details.service';
  3. import { DataService } from 'src/services/data/data.service';
  4. import { Attribute } from 'src/interfaces/attribute';
  5. import { TranslateService } from '@ngx-translate/core';
  6. import { TranslatorService } from 'src/services/translator/translator.service';
  7. @Component({
  8. selector: 'app-attribute-details',
  9. templateUrl: './attribute-details.component.html',
  10. styleUrl: './attribute-details.component.scss',
  11. })
  12. export class AttributeDetailsComponent {
  13. @Input() public attribute!: Attribute;
  14. @Input() public modifier!: string;
  15. public resistances: string[] = [];
  16. public immunities: string[] = [];
  17. public vulnerabilities: string[] = [];
  18. public showButtonsContainer: boolean = false;
  19. public isEdit: boolean = false;
  20. public constructor(
  21. public detailsService: DetailsService,
  22. public translate: TranslateService,
  23. public translator: TranslatorService,
  24. public dataAccessor: DataService,
  25. ) {
  26. this.resistances = this.dataAccessor.resistances.resistances;
  27. this.immunities = this.dataAccessor.resistances.immunities;
  28. this.vulnerabilities = this.dataAccessor.resistances.vulnerabilities;
  29. }
  30. public skillsTable: any = {
  31. strength: ['athletics'],
  32. dexterity: ['acrobatics', 'sleightOfHand', 'stealth'],
  33. constitution: [],
  34. intelligence: ['arcana', 'history', 'investigation', 'nature', 'religion'],
  35. wisdom: ['animalHandling', 'insight', 'medicine', 'perception', 'survival'],
  36. charisma: ['deception', 'intimidation', 'performance', 'persuasion'],
  37. };
  38. public showButtons() {
  39. this.showButtonsContainer = true;
  40. console.log('show Buttons:', this.showButtonsContainer);
  41. }
  42. public toggleEdit() {
  43. this.isEdit = !this.isEdit;
  44. }
  45. public close(): void {
  46. this.dataAccessor.resistances = {
  47. resistances: this.resistances,
  48. immunities: this.immunities,
  49. vulnerabilities: this.vulnerabilities,
  50. };
  51. this.detailsService.closePanel('dismiss');
  52. }
  53. }