import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core'; import { TournamentDocumentsService } from 'src/app/shared/services/tournament.documents.service'; import { TournamentDocument, Tournament } from 'tournee.businesslogic'; import { TournamentDocumentsFormComponent } from '../../forms/tournament-documents-form/tournament-documents-form.component'; @Component({ selector: 'app-selectable-listing-documents', templateUrl: './selectable-listing-documents.component.html', styleUrls: ['./selectable-listing-documents.component.css'], providers: [ TournamentDocumentsService ] }) export class SelectableListingDocumentsComponent implements OnInit { @ViewChild('Form') Form: TournamentDocumentsFormComponent; @Input() EditModel: Tournament; @Output() OnHidden = new EventEmitter(); @Output() OnShown = new EventEmitter(); Selected: TournamentDocument; _standard_document_type: string; constructor(private _documents: TournamentDocumentsService) { } ngOnInit() { this._documents.get_bucket(this.EditModel.id) .then((result) => { console.log(result); }) .catch((err) => { console.log(err); }) } add(standard_document_type: string) { this.edit(TournamentDocument.create(), standard_document_type, true); } store(document: TournamentDocument) { if (this._standard_document_type == 'Event Pack') { this.EditModel.event_pack = document; } else { this.EditModel.storeCustomDocument(document); } //this.EditModel.storeGrouping(document); this.hide(); } documentAdded($event) { if ($event) { this.EditModel._documents_to_upload.push($event); } } hide() { this.Selected = null; this.Form.reset(); this.OnHidden.emit(); } edit(document: TournamentDocument, standard_document_type: string, isNew = false) { this._standard_document_type = standard_document_type; this.Selected = new TournamentDocument(JSON.parse(JSON.stringify(document))); this.Form.initiate(this.Selected, standard_document_type, isNew); this.OnShown.emit(); } delete(document: TournamentDocument, document_type: string) { if (document_type == 'Event Pack') { this.EditModel.event_pack = null; } else { this.EditModel.removeCustomDocument(document); } } }