import { Component, OnInit } from '@angular/core'; import { TournamentTicketsService } from 'src/app/shared/services/tournament.tickets.service'; import { UserTicketInterest } from 'tournee.businesslogic'; @Component({ selector: 'app-user-selectable-listing-ticket-interest', templateUrl: './user-selectable-listing-ticket-interest.component.html', styleUrls: ['./user-selectable-listing-ticket-interest.component.css'], providers: [TournamentTicketsService] }) export class UserSelectableListingTicketInterestComponent implements OnInit { TicketInterests: Array = []; private _currently_expanded: string; private _currently_cancelling: string; constructor(private _tickets: TournamentTicketsService) { } ngOnInit() { this._tickets.my_interests() .then((result) => { this.TicketInterests = result.result.map((i) => { return new UserTicketInterest(i); }); }) .catch((err) => { console.log(err); }); } Expanded(id: string) { return this._currently_expanded == id; } Toggle(id: string) { if (this._currently_expanded == id) { this._currently_expanded = null; } else { this._currently_expanded = id; } } chase(interest: UserTicketInterest) { } CurrentlyCancelling(interest) { return this._currently_cancelling == interest.id; } begin_cancel(interest: UserTicketInterest) { this._currently_cancelling = interest.id; } reject_cancel(interest: UserTicketInterest) { this._currently_cancelling = null; } confirm_cancel(interest: UserTicketInterest) { this._tickets.cancel_interest(interest) .then((result) => { this.TicketInterests = result.result.map((i) => { return new UserTicketInterest(i); }); }) .catch((err) => { console.log(err); }); } }