proficiency-field.component.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { Component } from '@angular/core';
  2. import { DataService } from 'src/services/data/data.service';
  3. import { DetailsService } from 'src/services/details/details.service';
  4. import { ProficiencyDetailsComponent } from './proficiency-details/proficiency-details.component';
  5. @Component({
  6. selector: 'proficiency',
  7. templateUrl: './proficiency-field.component.html',
  8. styleUrls: ['./proficiency-field.component.scss'],
  9. })
  10. export class ProficiencyFieldComponent {
  11. public constructor(
  12. public dataAccessor: DataService,
  13. public detailsAccessor: DetailsService
  14. ) {}
  15. public proficiency: number = 0;
  16. ngOnInit(): void {
  17. this.initAttributeSubscription();
  18. }
  19. private initAttributeSubscription(): void {
  20. this.dataAccessor.proficiency$.subscribe((newValue: any) => {
  21. this.proficiency = newValue;
  22. });
  23. }
  24. public updateValue(): void {
  25. this.dataAccessor.updateProficiencyBonus(this.proficiency);
  26. }
  27. public openDetails(): void {
  28. this.detailsAccessor.openPanel(ProficiencyDetailsComponent, {
  29. proficiency: this.proficiency,
  30. });
  31. }
  32. }