5
0
mirror of https://github.com/AJMicke/KickerELO.git synced 2026-03-12 05:51:05 +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.kickerelo.kickerelo.data.Spieler;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional; import java.util.Optional;
@Repository @Repository
public interface SpielerRepository extends JpaRepository<Spieler, Long> { public interface SpielerRepository extends JpaRepository<Spieler, Long> {
Optional<Spieler> findByName(String name); 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.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route; import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.service.KickerEloService; import org.kickerelo.kickerelo.repository.SpielerRepository;
@Route("graph1vs1") @Route("graph1vs1")
public class Graph1vs1View extends VerticalLayout { public class Graph1vs1View extends VerticalLayout {
ApexCharts chart1vs1; ApexCharts chart1vs1;
public Graph1vs1View(KickerEloService service) { public Graph1vs1View(SpielerRepository repo) {
setSizeFull(); setSizeFull();
H2 subheading = new H2("1 vs 1 Elo"); 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.setWidth(100, Unit.PERCENTAGE);
chart1vs1.setHeight(100, Unit.PERCENTAGE); chart1vs1.setHeight(100, Unit.PERCENTAGE);
add(subheading, chart1vs1); 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.html.H2;
import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route; import com.vaadin.flow.router.Route;
import org.kickerelo.kickerelo.service.KickerEloService; import org.kickerelo.kickerelo.repository.SpielerRepository;
@Route("graph2vs2") @Route("graph2vs2")
public class Graph2vs2View extends VerticalLayout { public class Graph2vs2View extends VerticalLayout {
ApexCharts chart2vs2; ApexCharts chart2vs2;
public Graph2vs2View(KickerEloService service) { public Graph2vs2View(SpielerRepository repo) {
setSizeFull(); setSizeFull();
H2 subheading = new H2("2 vs 2 Elo"); 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.setWidth(100, Unit.PERCENTAGE);
chart2vs2.setHeight(100, Unit.PERCENTAGE); chart2vs2.setHeight(100, Unit.PERCENTAGE);