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

In the graphs, show only players with actual games in the category

This commit is contained in:
Anton Micke
2025-04-02 14:28:25 +02:00
committed by AJMicke
parent ca53575b23
commit 975a27a95b
3 changed files with 15 additions and 7 deletions

View File

@@ -2,11 +2,20 @@ package org.kickerelo.kickerelo.repository;
import org.kickerelo.kickerelo.data.Spieler;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface SpielerRepository extends JpaRepository<Spieler, Long> {
Optional<Spieler> findByName(String name);
@Query("SELECT s FROM Spieler s WHERE EXISTS (SELECT 1 FROM Ergebnis1vs1 e WHERE e.gewinner=s OR e.verlierer=s)")
List<Spieler> getSpielerWith1vs1Games();
@Query("SELECT s FROM Spieler s WHERE EXISTS (SELECT 1 FROM Ergebnis2vs2 e " +
"WHERE e.gewinnerVorn=s OR e.verliererVorn=s OR e.gewinnerHinten=s OR e.verliererHinten=s)")
List<Spieler> getSpielerWith2vs2Games();
}

View File

@@ -5,20 +5,19 @@ import com.vaadin.flow.component.Unit;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.service.KickerEloService;
import org.kickerelo.kickerelo.repository.SpielerRepository;
@Route("graph1vs1")
public class Graph1vs1View extends VerticalLayout {
ApexCharts chart1vs1;
public Graph1vs1View(KickerEloService service) {
public Graph1vs1View(SpielerRepository repo) {
setSizeFull();
H2 subheading = new H2("1 vs 1 Elo");
chart1vs1 = new Chart1vs1(service.getSpielerEntities()).build();
chart1vs1 = new Chart1vs1(repo.getSpielerWith1vs1Games()).build();
chart1vs1.setWidth(100, Unit.PERCENTAGE);
chart1vs1.setHeight(100, Unit.PERCENTAGE);
add(subheading, chart1vs1);
}
}

View File

@@ -5,15 +5,15 @@ import com.vaadin.flow.component.Unit;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.service.KickerEloService;
import org.kickerelo.kickerelo.repository.SpielerRepository;
@Route("graph2vs2")
public class Graph2vs2View extends VerticalLayout {
ApexCharts chart2vs2;
public Graph2vs2View(KickerEloService service) {
public Graph2vs2View(SpielerRepository repo) {
setSizeFull();
H2 subheading = new H2("2 vs 2 Elo");
chart2vs2 = new Chart2vs2(service.getSpielerEntities()).build();
chart2vs2 = new Chart2vs2(repo.getSpielerWith2vs2Games()).build();
chart2vs2.setWidth(100, Unit.PERCENTAGE);
chart2vs2.setHeight(100, Unit.PERCENTAGE);