import { Component, OnInit, Input } from '@angular/core'; import { UtilityService } from 'src/app/shared/services/utility.service'; import { AuthService } from 'src/app/shared/services/auth.service'; import { TournamentAvailabilitySummary } from 'tournee.businesslogic'; @Component({ selector: 'app-tournament-availability-summary', templateUrl: './tournament-availability-summary.component.html', styleUrls: ['./tournament-availability-summary.component.css'] }) export class TournamentAvailabilitySummaryComponent implements OnInit { @Input() Summary: TournamentAvailabilitySummary; @Input() BorderStyle: string = 'border-dark'; TicketTypesAvailable: number = 0; TotalOwing: number = 0; ShowTicketSummaries: boolean = false; constructor(public utility: UtilityService, public auth: AuthService) { } ngOnInit() { this.TicketTypesAvailable = this.Summary.slices.filter((s) => { return s.slice_current_availability == null || s.slice_current_availability > 0; }).map((t) => { return t.ticket_id}).filter((v: string, i: number, a: Array) => a.findIndex((internal) => { return internal == v; }) === i).length; this.TotalOwing = this.Summary .slices .filter((s) => { return s.total_purchased_by_user != null && s.total_purchased_by_user > 0 }) .map((s) => { return s.total_owing }) .reduce((a, b) => { return a + b}, 0); } }