5
0
mirror of https://github.com/AJMicke/KickerELO.git synced 2026-03-11 13:31:02 +01:00

Add view for past games

This commit is contained in:
Anton Micke
2025-03-17 17:24:54 +01:00
committed by AJMicke
parent d7076428fd
commit 4f42747d67
4 changed files with 97 additions and 1 deletions

View File

@@ -64,4 +64,9 @@ public class Spieler {
public void setElo_alt(float elo_alt) {
this.elo_alt = elo_alt;
}
@Override
public String toString() {
return this.name;
}
}

View File

@@ -27,9 +27,12 @@ public class KickerAppLayout extends AppLayout {
RouterLink playerList = new RouterLink("Spielerliste", PlayerListView.class);
RouterLink graph1vs1 = new RouterLink("Graph 1 vs 1", Graph1vs1View.class);
RouterLink graph2vs2 = new RouterLink("Graph 2 vs 2", Graph2vs2View.class);
RouterLink history1vs1 = new RouterLink("Resultate 1 vs 1", History1vs1View.class);
RouterLink history2vs2 = new RouterLink("Resultate 2 vs 2", History2vs2View.class);
RouterLink admin = new RouterLink("Verwaltung", AdminView.class);
Tabs tabs = new Tabs(new Tab(playerList), new Tab(enter1vs1), new Tab(enter2vs2), new Tab(graph1vs1), new Tab(graph2vs2), new Tab(admin));
Tabs tabs = new Tabs(new Tab(playerList), new Tab(enter1vs1), new Tab(enter2vs2), new Tab(graph1vs1),
new Tab(graph2vs2), new Tab(history1vs1), new Tab(history2vs2), new Tab(admin));
tabs.setOrientation(Tabs.Orientation.VERTICAL);
addToDrawer(tabs);
}

View File

@@ -0,0 +1,43 @@
package org.kickerelo.kickerelo.views;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.GridSortOrder;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.provider.SortDirection;
import com.vaadin.flow.data.renderer.LocalDateTimeRenderer;
import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.data.Ergebnis1vs1;
import org.kickerelo.kickerelo.repository.Ergebnis1vs1Repository;
import java.util.List;
@Route("history1vs1")
public class History1vs1View extends VerticalLayout {
public History1vs1View(Ergebnis1vs1Repository repo) {
setSizeFull();
H2 subheading = new H2("Spiele 1 vs 1");
List<Ergebnis1vs1> res = repo.findAll();
Grid<Ergebnis1vs1> grid = new Grid<>(Ergebnis1vs1.class);
grid.setItems(res);
grid.removeColumnByKey("id");
Grid.Column<Ergebnis1vs1> winnerColumn = grid.getColumnByKey("gewinner");
winnerColumn.setHeader("Gewinner");
Grid.Column<Ergebnis1vs1> loserColumn = grid.getColumnByKey("verlierer");
loserColumn.setHeader("Verlierer");
Grid.Column<Ergebnis1vs1> goals = grid.getColumnByKey("toreVerlierer");
goals.setHeader("Verlierertore");
Grid.Column<Ergebnis1vs1> timestamp = grid.getColumnByKey("timestamp");
timestamp.setHeader("Zeitpunkt");
timestamp.setRenderer(new LocalDateTimeRenderer<>(Ergebnis1vs1::getTimestamp, "dd.MM.yy HH:mm"));
grid.setColumnOrder(winnerColumn, loserColumn, goals, timestamp);
GridSortOrder<Ergebnis1vs1> sortOrder = new GridSortOrder<>(timestamp, SortDirection.DESCENDING);
grid.sort(List.of(sortOrder));
add(subheading, grid);
}
}

View File

@@ -0,0 +1,45 @@
package org.kickerelo.kickerelo.views;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.GridSortOrder;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.provider.SortDirection;
import com.vaadin.flow.data.renderer.LocalDateTimeRenderer;
import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.data.Ergebnis2vs2;
import org.kickerelo.kickerelo.repository.Ergebnis2vs2Repository;
import java.util.List;
@Route("history2vs2")
public class History2vs2View extends VerticalLayout {
public History2vs2View(Ergebnis2vs2Repository repo) {
setSizeFull();
H2 subheading = new H2("Spiele 2 vs 2");
List<Ergebnis2vs2> res = repo.findAll();
Grid<Ergebnis2vs2> grid = new Grid<>(Ergebnis2vs2.class);
grid.setItems(res);
grid.removeColumnByKey("id");
Grid.Column<Ergebnis2vs2> winnerFront = grid.getColumnByKey("gewinnerVorn");
winnerFront.setHeader("Gewinner vorne");
Grid.Column<Ergebnis2vs2> winnerBack = grid.getColumnByKey("gewinnerHinten");
winnerBack.setHeader("Gewinner hinten");
Grid.Column<Ergebnis2vs2> loserFront = grid.getColumnByKey("verliererVorn");
loserFront.setHeader("Verlierer vorne");
Grid.Column<Ergebnis2vs2> loserBack = grid.getColumnByKey("verliererHinten");
loserBack.setHeader("Verlierer hinten");
Grid.Column<Ergebnis2vs2> goals = grid.getColumnByKey("toreVerlierer");
goals.setHeader("Verlierertore");
Grid.Column<Ergebnis2vs2> timestamp = grid.getColumnByKey("timestamp");
timestamp.setHeader("Zeitpunkt");
timestamp.setRenderer(new LocalDateTimeRenderer<>(Ergebnis2vs2::getTimestamp, "dd.MM.yy HH:mm"));
grid.setColumnOrder(winnerFront, winnerBack, loserFront, loserBack, goals, timestamp);
GridSortOrder<Ergebnis2vs2> sortOrder = new GridSortOrder<>(timestamp, SortDirection.DESCENDING);
grid.sort(List.of(sortOrder));
add(subheading, grid);
}
}