|
| 1 | +import { Component, OnInit } from '@angular/core'; |
| 2 | +import {formatDate, NgFor} from '@angular/common'; |
| 3 | +import { HttpClient, HttpResponse } from '@angular/common/http'; |
| 4 | +import {signup, BackendService, signupPost } from '../backend.service'; |
| 5 | + |
| 6 | +@Component({ |
| 7 | + selector: 'app-signups', |
| 8 | + templateUrl: './signups.component.html', |
| 9 | + styleUrl: './signups.component.css', |
| 10 | + standalone: true, |
| 11 | + imports:[NgFor] |
| 12 | +}) |
| 13 | + |
| 14 | +export class SignupsComponent { |
| 15 | + data: signup[]= [{index: 0, name: "uninitialized", court: "uninitialized", time: "please wait"}]; |
| 16 | + npsdata: signup[]= [{index: 0,name: "nps", court: "uninitialized", time: "please wait"}]; |
| 17 | + bluedata: signup[] = [{index: 0,name: "blue", court: "uninitialized", time: "please wait"}]; |
| 18 | + |
| 19 | + constructor(private http: HttpClient, private backendService: BackendService){} |
| 20 | + |
| 21 | + ngOnInit(){ |
| 22 | + this.refreshData(); |
| 23 | + } |
| 24 | + |
| 25 | + refreshData(){ |
| 26 | + console.log("refreshing data"); |
| 27 | + this.backendService.getAllData() |
| 28 | + .subscribe( data => this.setData(data)); |
| 29 | + } |
| 30 | + |
| 31 | + |
| 32 | + setData(data:signup[]){ |
| 33 | + this.data = data; |
| 34 | + this.npsdata = data.filter((activity) => activity.court === "nps"); |
| 35 | + this.bluedata = data.filter((activity) => activity.court === "blue"); |
| 36 | + } |
| 37 | + submitCourtName(): void{ |
| 38 | + var e = (document.getElementById("courtSelection") as HTMLInputElement); |
| 39 | + var court = e.value; |
| 40 | + var name = (document.getElementById("nameInput") as HTMLInputElement).value; |
| 41 | + var date = new Date(); |
| 42 | + if(name==undefined || date==undefined || court == undefined){ |
| 43 | + alert("error"); |
| 44 | + return; |
| 45 | + } |
| 46 | + var dateString = formatDate(date, "yyyy-MM-dd", 'en') |
| 47 | + |
| 48 | + var newSignup:signupPost = { |
| 49 | + "name" : name, |
| 50 | + "time" : dateString, |
| 51 | + "court" : court |
| 52 | + } |
| 53 | + this.backendService.postSignup(newSignup).subscribe({ |
| 54 | + next: (value) =>this.refreshData(), |
| 55 | + error:(e)=>{console.log("error",e); this.refreshData()}} |
| 56 | + ) |
| 57 | + this.refreshData(); |
| 58 | + } |
| 59 | + deletePlayer(player: signup): void{ |
| 60 | + this.backendService.deleteData(player.name).subscribe( |
| 61 | + { |
| 62 | + next: (value) => {this.refreshData();}, |
| 63 | + error: (e) => {console.log("errordeleting:", e);this.refreshData();} |
| 64 | + } |
| 65 | + ) |
| 66 | + } |
| 67 | +} |
0 commit comments