Browse Source

bold player name, more todos

master
GAM 4 years ago
parent
commit
a6ae7c9557
5 changed files with 31 additions and 4 deletions
  1. +1
    -0
      src/main/java/com/example/application/data/service/PlayerService.java
  2. +4
    -0
      src/main/java/com/example/application/utils/StringUtils.java
  3. +17
    -0
      src/main/java/com/example/application/utils/VaadinUtils.java
  4. +6
    -3
      src/main/java/com/example/application/views/results/ResultsView.java
  5. +3
    -1
      src/main/java/com/example/application/views/table/TableView.java

+ 1
- 0
src/main/java/com/example/application/data/service/PlayerService.java View File

@ -65,6 +65,7 @@ public class PlayerService extends CrudService<Player, Integer> {
currentPlayer = playerForTableList.get(i);
if (i>0) {
lastPlayer = playerForTableList.get(i-1);
// TODO: add direct comparison below
if (Objects.equals(currentPlayer.getMatchPoints(), lastPlayer.getMatchPoints())
&& Objects.equals(currentPlayer.getGamePointsForSelf(), lastPlayer.getGamePointsForSelf())
&& Objects.equals(currentPlayer.getGamePointsForOpponents(), lastPlayer.getGamePointsForOpponents())) {


+ 4
- 0
src/main/java/com/example/application/utils/StringUtils.java View File

@ -18,4 +18,8 @@ public class StringUtils {
String string = aDouble.toString().replace(".0", "");
return aDouble > 0 ? "+" + string : string;
}
public static String getHtmlStringForPlayer(String playerName, String playerNickname) {
return String.format("<b>%s</b> (%s)", playerName, playerNickname);
}
}

+ 17
- 0
src/main/java/com/example/application/utils/VaadinUtils.java View File

@ -0,0 +1,17 @@
package com.example.application.utils;
import com.example.application.data.entity.Player;
import com.vaadin.flow.data.renderer.TemplateRenderer;
import com.vaadin.flow.function.ValueProvider;
public class VaadinUtils {
private VaadinUtils() {
}
public static <SOURCE> TemplateRenderer<SOURCE> getPlayerRenderer(ValueProvider<SOURCE, Player> playerProvider) {
return TemplateRenderer.<SOURCE>of(StringUtils.getHtmlStringForPlayer("[[item.name]]", "[[item.nickname]]"))
.withProperty("name", (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getName())
.withProperty("nickname", (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getNickname());
}
}

+ 6
- 3
src/main/java/com/example/application/views/results/ResultsView.java View File

@ -6,6 +6,7 @@ import com.example.application.data.service.MatchService;
import com.example.application.data.service.MatchdayService;
import com.example.application.data.service.SeasonService;
import com.example.application.utils.StringUtils;
import com.example.application.utils.VaadinUtils;
import com.example.application.views.abstractnavigation.SeasonAndMatchdayNavigationView;
import com.example.application.views.main.MainView;
import com.vaadin.flow.component.*;
@ -19,6 +20,7 @@ import com.vaadin.flow.component.icon.VaadinIcon;
import com.vaadin.flow.component.orderedlayout.FlexComponent;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.data.renderer.TemplateRenderer;
import com.vaadin.flow.function.ValueProvider;
import com.vaadin.flow.router.*;
import org.springframework.beans.factory.annotation.Autowired;
@ -99,7 +101,7 @@ public class ResultsView extends SeasonAndMatchdayNavigationView {
}
private void configureMatchdayLayout() {
getMatchdayHeader().addClassName("big_header");
// getMatchdayHeader().addClassName("big_header"); // add dates
getMatchdayLayout().setPadding(false);
getMatchdayLayout().add(getMatchdayHeader(), getGrid());
@ -111,7 +113,7 @@ public class ResultsView extends SeasonAndMatchdayNavigationView {
Label headerPlayer2 = new Label("Player 2");
headerPlayer2.addClassName("column_header");
getGrid().addColumn((ValueProvider<CalculatedMatch, Player>) CalculatedMatch::getPlayer1)
getGrid().addColumn(VaadinUtils.getPlayerRenderer(CalculatedMatch::getPlayer1))
.setHeader(headerPlayer1)
.setTextAlign(ColumnTextAlign.END)
.setWidth("13em");
@ -121,7 +123,7 @@ public class ResultsView extends SeasonAndMatchdayNavigationView {
.setTextAlign(ColumnTextAlign.CENTER)
.setWidth("6em");
getGrid().addColumn((ValueProvider<CalculatedMatch, Player>) CalculatedMatch::getPlayer2)
getGrid().addColumn(VaadinUtils.getPlayerRenderer(CalculatedMatch::getPlayer2))
.setHeader(headerPlayer2)
.setTextAlign(ColumnTextAlign.START)
.setWidth("13em");
@ -136,6 +138,7 @@ public class ResultsView extends SeasonAndMatchdayNavigationView {
return StringUtils.getResultString(match.getScore1(), match.getScore2());
}
/////////////
// CONTENT //
/////////////


+ 3
- 1
src/main/java/com/example/application/views/table/TableView.java View File

@ -6,6 +6,7 @@ import com.example.application.data.service.MatchdayService;
import com.example.application.data.service.PlayerService;
import com.example.application.data.service.SeasonService;
import com.example.application.utils.StringUtils;
import com.example.application.utils.VaadinUtils;
import com.example.application.views.abstractnavigation.SeasonAndMatchdayNavigationView;
import com.example.application.views.main.MainView;
import com.vaadin.flow.component.dependency.CssImport;
@ -58,6 +59,7 @@ public class TableView extends SeasonAndMatchdayNavigationView {
@Override
protected void configureContentLayout() {
// TODO: name (nicht nickname) fett, punktzahl fett
contentLayout = new HorizontalLayout(getGrid());
Label headerPlace = new Label("Place");
@ -87,7 +89,7 @@ public class TableView extends SeasonAndMatchdayNavigationView {
.setTextAlign(ColumnTextAlign.CENTER)
.setWidth("5em");
getGrid().addColumn((ValueProvider<PlayerForTable, Player>) PlayerForTable::getPlayer)
getGrid().addColumn(VaadinUtils.getPlayerRenderer(PlayerForTable::getPlayer))
.setHeader(headerPlayer)
.setTextAlign(ColumnTextAlign.START)
.setWidth("13em");


Loading…
Cancel
Save