Browse Source

better table style

master
GAM 4 years ago
parent
commit
c1a3912f85
6 changed files with 29 additions and 10 deletions
  1. +6
    -1
      frontend/views/table/table-view.css
  2. +5
    -1
      src/main/java/com/example/application/utils/StringUtils.java
  3. +7
    -0
      src/main/java/com/example/application/utils/VaadinUtils.java
  4. +2
    -0
      src/main/java/com/example/application/views/main/MainView.java
  5. +1
    -0
      src/main/java/com/example/application/views/results/ResultsView.java
  6. +8
    -8
      src/main/java/com/example/application/views/table/TableView.java

+ 6
- 1
frontend/views/table/table-view.css View File

@ -1,3 +1,8 @@
.about-view { .about-view {
display: block; display: block;
}
}
.important_table_column_header {
font-weight: bold;
font-size: large;
}

+ 5
- 1
src/main/java/com/example/application/utils/StringUtils.java View File

@ -29,7 +29,11 @@ public class StringUtils {
} }
public static String getHtmlStringForPlayer(String playerName, String playerNickname) { public static String getHtmlStringForPlayer(String playerName, String playerNickname) {
return String.format("<b>%s</b> (%s)", playerName, playerNickname);
return String.format("%s (%s)", getBoldHtmlString(playerName), playerNickname);
}
public static String getBoldHtmlString(String string) {
return String.format("<b>%s</b>", string);
} }
public static String getTemplateItemString(String propertyName) { public static String getTemplateItemString(String propertyName) {


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

@ -17,4 +17,11 @@ public class VaadinUtils {
.withProperty(name, (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getName()) .withProperty(name, (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getName())
.withProperty(nickname, (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getNickname()); .withProperty(nickname, (ValueProvider<SOURCE, String>) source -> playerProvider.apply(source).getNickname());
} }
public static <SOURCE> TemplateRenderer<SOURCE> getBoldStringRenderer(ValueProvider<SOURCE, String> stringProvider) {
String string = StringUtils.getNewRandomString();
String itemString = StringUtils.getTemplateItemString(string);
return TemplateRenderer.<SOURCE>of(StringUtils.getBoldHtmlString(itemString))
.withProperty(string, stringProvider);
}
} }

+ 2
- 0
src/main/java/com/example/application/views/main/MainView.java View File

@ -37,6 +37,8 @@ import java.util.Optional;
@Theme(value = Lumo.class, variant = Lumo.DARK) @Theme(value = Lumo.class, variant = Lumo.DARK)
public class MainView extends AppLayout { public class MainView extends AppLayout {
// TODO: Add Localization // TODO: Add Localization
// TODO: View for adding match data
// TODO: View for each match
// TODO: Handle database connection with environment variables // TODO: Handle database connection with environment variables
// TODO: make it look even more like chess.com (use darker colors etc.) // TODO: make it look even more like chess.com (use darker colors etc.)
// TODO: add light theme like on chess.com // TODO: add light theme like on chess.com


+ 1
- 0
src/main/java/com/example/application/views/results/ResultsView.java View File

@ -102,6 +102,7 @@ public class ResultsView extends SeasonAndMatchdayNavigationView {
} }
private void configureMatchdayLayout() { private void configureMatchdayLayout() {
// TODO add background color for content
getMatchdayHeader().addClassName("matchday_header"); // TODO: add dates getMatchdayHeader().addClassName("matchday_header"); // TODO: add dates
getMatchdayHeader().setWidth("100%"); getMatchdayHeader().setWidth("100%");
HorizontalLayout matchdayHeaderLayout = new HorizontalLayout(getPrevButton(), getMatchdayHeader(), getNextButton()); HorizontalLayout matchdayHeaderLayout = new HorizontalLayout(getPrevButton(), getMatchdayHeader(), getNextButton());


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

@ -60,19 +60,21 @@ public class TableView extends SeasonAndMatchdayNavigationView {
@Override @Override
protected void configureContentLayout() { protected void configureContentLayout() {
// TODO: bold matchpoints
// TODO: add background color for content
// TODO: add diff to last matchday
// TODO: bold matchpoints etc.
contentLayout = new HorizontalLayout(getGrid()); contentLayout = new HorizontalLayout(getGrid());
Label headerPlace = new Label("Place"); Label headerPlace = new Label("Place");
headerPlace.addClassName("column_header");
headerPlace.addClassName("important_table_column_header");
Label headerPlayer = new Label("Player"); Label headerPlayer = new Label("Player");
headerPlayer.addClassName("column_header");
headerPlayer.addClassName("important_table_column_header");
Label headerMatchesPlayed = new Label("Played"); Label headerMatchesPlayed = new Label("Played");
Label headerMatchPoints = new Label("Points"); Label headerMatchPoints = new Label("Points");
headerMatchPoints.addClassName("column_header");
headerMatchPoints.addClassName("important_table_column_header");
Label headerWon = new Label("W"); Label headerWon = new Label("W");
@ -83,9 +85,8 @@ public class TableView extends SeasonAndMatchdayNavigationView {
Label headerGames = new Label("Games"); Label headerGames = new Label("Games");
Label headerDiff = new Label("Diff"); Label headerDiff = new Label("Diff");
headerDiff.addClassName("column_header");
getGrid().addColumn((ValueProvider<PlayerForTable, String>) PlayerForTable::getPlaceString)
getGrid().addColumn(VaadinUtils.getBoldStringRenderer(PlayerForTable::getPlaceString))
.setHeader(headerPlace) .setHeader(headerPlace)
.setTextAlign(ColumnTextAlign.CENTER) .setTextAlign(ColumnTextAlign.CENTER)
.setWidth("5em"); .setWidth("5em");
@ -100,7 +101,7 @@ public class TableView extends SeasonAndMatchdayNavigationView {
.setTextAlign(ColumnTextAlign.CENTER) .setTextAlign(ColumnTextAlign.CENTER)
.setWidth("5em"); .setWidth("5em");
getGrid().addColumn((ValueProvider<PlayerForTable, Integer>) PlayerForTable::getMatchPoints)
getGrid().addColumn(VaadinUtils.getBoldStringRenderer(player -> String.valueOf(player.getMatchPoints())))
.setHeader(headerMatchPoints) .setHeader(headerMatchPoints)
.setTextAlign(ColumnTextAlign.CENTER) .setTextAlign(ColumnTextAlign.CENTER)
.setWidth("6em"); .setWidth("6em");
@ -133,7 +134,6 @@ public class TableView extends SeasonAndMatchdayNavigationView {
getGrid().setWidth("51em"); getGrid().setWidth("51em");
getGrid().setHeightByRows(true); getGrid().setHeightByRows(true);
// getGrid().addClassName("my_grid");
getGrid().addThemeVariants(GridVariant.LUMO_NO_BORDER, getGrid().addThemeVariants(GridVariant.LUMO_NO_BORDER,
GridVariant.LUMO_NO_ROW_BORDERS, GridVariant.LUMO_ROW_STRIPES); GridVariant.LUMO_NO_ROW_BORDERS, GridVariant.LUMO_ROW_STRIPES);
} }


Loading…
Cancel
Save