mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-27 16:06:39 +00:00
Merge branch 'bug4641'
This commit is contained in:
+4
-3
@@ -165,7 +165,8 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
|
||||
FlowPanel overallDetailDialogContentSecondLine = new FlowPanel();
|
||||
overallDetailDialogContentSecondLine.addStyleName("dialogInnerContent");
|
||||
showCompetitorShortNameColumnCheckBox = dialog.createCheckbox(stringMessages.showCompetitorShortNameColumn());
|
||||
showCompetitorShortNameColumnCheckBox.setTitle(stringMessages.showCompetitorShortNameColumnTooltip(stringMessages.alwaysShowCompetitorNationalityColumn()));
|
||||
showCompetitorShortNameColumnCheckBox.setTitle(
|
||||
stringMessages.showCompetitorShortNameColumnTooltip(stringMessages.showCompetitorNationalityColumn()));
|
||||
showCompetitorShortNameColumnCheckBox.setValue(initialSettings.isShowCompetitorShortNameColumn());
|
||||
overallDetailDialogContentSecondLine.add(showCompetitorShortNameColumnCheckBox);
|
||||
showCompetitorFullNameColumnCheckBox = dialog.createCheckbox(stringMessages.showCompetitorFullNameColumn());
|
||||
@@ -175,8 +176,8 @@ public abstract class LeaderboardSettingsDialogComponent<T extends LeaderboardSe
|
||||
showCompetitorBoatInfoColumnCheckBox.setValue(initialSettings.isShowCompetitorBoatInfoColumn());
|
||||
overallDetailDialogContentSecondLine.add(showCompetitorBoatInfoColumnCheckBox);
|
||||
showCompetitorBoatInfoColumnCheckBox.setVisible(canBoatInfoBeShown);
|
||||
isCompetitorNationalityColumnVisible = dialog.createCheckbox(stringMessages.alwaysShowCompetitorNationalityColumn());
|
||||
isCompetitorNationalityColumnVisible.setTitle(stringMessages.alwaysShowCompetitorNationalityColumnTooltip());
|
||||
isCompetitorNationalityColumnVisible = dialog.createCheckbox(stringMessages.showCompetitorNationalityColumn());
|
||||
isCompetitorNationalityColumnVisible.setTitle(stringMessages.showCompetitorNationalityColumnTooltip());
|
||||
isCompetitorNationalityColumnVisible.setValue(initialSettings.isShowCompetitorNationality());
|
||||
overallDetailDialogContentSecondLine.add(isCompetitorNationalityColumnVisible);
|
||||
|
||||
|
||||
+3
-5
@@ -1295,13 +1295,11 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
|
||||
@Override
|
||||
String removeUploadedFile();
|
||||
String showCompetitorBoatColumn();
|
||||
String showCompetitorSailIdColumn();
|
||||
String showCompetitorSailIdColumnTooltip(String alwaysShowCompetitorNationalityColumnTitle);
|
||||
String showCompetitorShortNameColumn();
|
||||
String showCompetitorShortNameColumnTooltip(String alwaysShowCompetitorNationalityColumnTitle);
|
||||
String showCompetitorShortNameColumnTooltip(String showCompetitorNationalityColumnTitle);
|
||||
String showCompetitorFullNameColumn();
|
||||
String alwaysShowCompetitorNationalityColumn();
|
||||
String alwaysShowCompetitorNationalityColumnTooltip();
|
||||
String showCompetitorNationalityColumn();
|
||||
String showCompetitorNationalityColumnTooltip();
|
||||
String loadingDimensionValues();
|
||||
String inviteBuoyTenders();
|
||||
String orMultipleEmails();
|
||||
|
||||
+2
-4
@@ -1280,13 +1280,11 @@ uploadSuccessful=Upload successful
|
||||
fileUploadResult=File upload: {0} {1}.\nIn case of error please check that your File Storage service is properly configured.
|
||||
removeUploadedFile=Remove uploaded file
|
||||
showCompetitorBoatColumn=Boat of the competitor
|
||||
showCompetitorSailIdColumn=Sail Id
|
||||
showCompetitorSailIdColumnTooltip=Shows the Sail Id plus the nationality flag or competitor image. If available, a competitor image is prioritized over a nationality flag. If "{0}" is set, both icons will be displayed.
|
||||
showCompetitorShortNameColumn=Competitor Short Name
|
||||
showCompetitorShortNameColumnTooltip=Shows the short name plus the nationality flag or competitor image. If available, a competitor image is prioritized over a nationality flag. If "{0}" is set, both icons will be displayed.
|
||||
showCompetitorFullNameColumn=Competitor Full Name
|
||||
alwaysShowCompetitorNationalityColumn=Always show competitor nationality
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Show both, nationality flags as well as competitor images if available
|
||||
showCompetitorNationalityColumn=Additionally show competitor nationality
|
||||
showCompetitorNationalityColumnTooltip=Show nationality flags in addition to competitor images if available
|
||||
loadingDimensionValues=Loading dimension values
|
||||
inviteBuoyTenders=Invite Buoy Tenders
|
||||
orMultipleEmails=or multiple E-Mails separated by comma
|
||||
|
||||
+2
-4
@@ -1264,13 +1264,11 @@ uploadSuccessful=Hochladen erfolgreich
|
||||
fileUploadResult=Ergebnis des Hochladens: {0} {1}\nIm Fehlerfall bitte die Konfiguration für "Datei Speicherung" prüfen.
|
||||
removeUploadedFile=Hochgeladene Datei löschen
|
||||
showCompetitorBoatColumn=Boot des Teilnehmers anzeigen
|
||||
showCompetitorSailIdColumn=Segelnummer anzeigen
|
||||
showCompetitorSailIdColumnTooltip=Zeigt die Segelnummer sowie eine Nationalitäten-Flagge oder ein Teilnehmerbild an. Ein Teilnehmerbild wird hierbei bevorzugt angzeigt, falls vorhanden. Falls auch "{0}" ausgewählt ist, werden stets beide Bilder angezeigt.
|
||||
showCompetitorShortNameColumn=Kurzen Teilnehmernamen anzeigen
|
||||
showCompetitorShortNameColumnTooltip=Zeigt den kurzen Teilnehmernamen sowie eine Nationalitäten-Flagge oder ein Teilnehmerbild an. Ein Teilnehmerbild wird hierbei bevorzugt angzeigt, falls vorhanden. Falls auch "{0}" ausgewählt ist, werden stets beide Bilder angezeigt.
|
||||
showCompetitorFullNameColumn=Vollständigen Teilnehmernamen anzeigen
|
||||
alwaysShowCompetitorNationalityColumn=Immer Nationalität des Teilnehmers anzeigen
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Sowohl Nationalität des Teilnehmers als auch Teilnehmerbild anzeigen, sofern beides verfügbar ist
|
||||
showCompetitorNationalityColumn=Zusätzlich Nationalität des Teilnehmers anzeigen
|
||||
showCompetitorNationalityColumnTooltip=Die Nationalität des Teilnehmers wird zusätzlich zum Teilnehmerbild anzeigt, sofern beides verfügbar ist
|
||||
loadingDimensionValues=Lade Dimensionswerte
|
||||
inviteBuoyTenders=Tonnenleger einladen
|
||||
orMultipleEmails=oder mehrere E-Mails (Komma-separiert)
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=Carga correcta
|
||||
fileUploadResult=Carga de archivos: {0} {1}. En caso de error, compruebe que su servicio de alojamiento de archivos está configurado correctamente.
|
||||
removeUploadedFile=Eliminar archivo
|
||||
showCompetitorBoatColumn=Embarcación del competidor
|
||||
showCompetitorSailIdColumn=ID de vela
|
||||
showCompetitorSailIdColumnTooltip=Muestra el ID de vela más la bandera del país o imagen del competidor. Si está disponible, se prioriza la imagen de competidor a la bandera del país. Se mostrarán ambos iconos si se fija "{0}".
|
||||
showCompetitorShortNameColumn=Denominación breve de competidor
|
||||
showCompetitorShortNameColumnTooltip=Muestra el nombre breve más la bandera del país o imagen del competidor. Si está disponible, se prioriza la imagen de competidor a la bandera del país. Se mostrarán ambos iconos si se fija "{0}".
|
||||
showCompetitorFullNameColumn=Nombre completo del competidor
|
||||
alwaysShowCompetitorNationalityColumn=Siempre mostrar la nacionalidad del competidor
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Muestra ambos, las banderas de país así como las imágenes de competidor, si están disponibles.
|
||||
showCompetitorNationalityColumn=Siempre mostrar la nacionalidad del competidor
|
||||
showCompetitorNationalityColumnTooltip=Muestra ambos, las banderas de país así como las imágenes de competidor, si están disponibles.
|
||||
loadingDimensionValues=Cargando valores de dimensión
|
||||
inviteBuoyTenders=Invitar a balizadores
|
||||
orMultipleEmails=o varios correos electrónicos separados por una coma
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=Chargement réussi
|
||||
fileUploadResult=Chargement du fichier : {0} {1}.\nEn cas d''erreur, vérifiez que votre service de stockage de fichier est correctement configuré.
|
||||
removeUploadedFile=Supprimer fichier chargé
|
||||
showCompetitorBoatColumn=Bateau du concurrent
|
||||
showCompetitorSailIdColumn=ID de voile
|
||||
showCompetitorSailIdColumnTooltip=Affiche l''ID de voile ainsi que le drapeau national ou l''image du concurrent. Si les deux sont disponibles, l''image du concurrent aura la priorité sur le drapeau national. Si le code "{0}" est activé, les deux icônes seront affichées.
|
||||
showCompetitorShortNameColumn=Nom court du concurrent
|
||||
showCompetitorShortNameColumnTooltip=Affiche le nom court ainsi que le drapeau national ou l''image du concurrent. Si les deux sont disponibles, l''image du concurrent aura la priorité sur le drapeau national. Si le code "{0}" est activé, les deux icônes seront affichées.
|
||||
showCompetitorFullNameColumn=Nom complet du concurrent
|
||||
alwaysShowCompetitorNationalityColumn=Afficher toujours la nationalité du concurrent
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Si disponibles, afficher les deux : le drapeau national ainsi que l''image du concurrent
|
||||
showCompetitorNationalityColumn=Afficher toujours la nationalité du concurrent
|
||||
showCompetitorNationalityColumnTooltip=Si disponibles, afficher les deux : le drapeau national ainsi que l''image du concurrent
|
||||
loadingDimensionValues=Chargement des valeurs de dimension
|
||||
inviteBuoyTenders=Inviter navire baliseur
|
||||
orMultipleEmails=ou plusieurs adresses e-mails séparées par des virgules
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=正常にアップロード済
|
||||
fileUploadResult=ファイルアップロード: {0} {1}\nエラー発生の場合は、ファイルストレージサービスが適切に設定されていることを確認してください。
|
||||
removeUploadedFile=アップロード済ファイルの削除
|
||||
showCompetitorBoatColumn=競技者の艇
|
||||
showCompetitorSailIdColumn=セール ID
|
||||
showCompetitorSailIdColumnTooltip=セール ID に加えて国旗または競技者画像を表示します。競技者画像が利用可能な場合はそれを国旗よりも優先させます。"{0}" が設定されている場合、両方のアイコンが表示されます。
|
||||
showCompetitorShortNameColumn=競技者の名前 (短)
|
||||
showCompetitorShortNameColumnTooltip=名前 (短) に加えて国旗または競技者画像を表示します。競技者画像が利用可能な場合はそれを国旗よりも優先させます。"{0}" が設定されている場合、両方のアイコンが表示されます。
|
||||
showCompetitorFullNameColumn=競技者氏名
|
||||
alwaysShowCompetitorNationalityColumn=競技者国籍を常に表示
|
||||
alwaysShowCompetitorNationalityColumnTooltip=国旗と競技者画像 (利用可能な場合) の両方を表示
|
||||
showCompetitorNationalityColumn=競技者国籍を常に表示
|
||||
showCompetitorNationalityColumnTooltip=国旗と競技者画像 (利用可能な場合) の両方を表示
|
||||
loadingDimensionValues=次元値ロード中
|
||||
inviteBuoyTenders=ブイ入札の招待
|
||||
orMultipleEmails=または複数の電子メールをカンマで区切り
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=Carregamento efetuado com êxito
|
||||
fileUploadResult=Carregamento de arquivo: {0} {1}.\nEm caso de erro, verifique se seu serviço de armazenamento de arquivos está configurado de modo apropriado.
|
||||
removeUploadedFile=Remover arquivo carregado
|
||||
showCompetitorBoatColumn=Barco do competidor
|
||||
showCompetitorSailIdColumn=ID da vela
|
||||
showCompetitorSailIdColumnTooltip=Exibe o ID da vela mais a bandeira de nacionalidade ou a imagem do competidor. Se disponível, é priorizada uma imagem do competidor em relação a uma bandeira da nacionalidade. Se "{0}" estiver definido, ambos os ícones serão exibidos.
|
||||
showCompetitorShortNameColumn=Nome abreviado do competidor
|
||||
showCompetitorShortNameColumnTooltip=Exibe o nome abreviado mais a bandeira de nacionalidade ou a imagem do competidor. Se disponível, é priorizada uma imagem do competidor em relação a uma bandeira da nacionalidade. Se "{0}" estiver definido, ambos os ícones serão exibidos.
|
||||
showCompetitorFullNameColumn=Nome completo do competidor
|
||||
alwaysShowCompetitorNationalityColumn=Exibir sempre a nacionalidade do competidor
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Exibir ambos, bandeiras de nacionalidade e imagens do competidor, se disponíveis
|
||||
showCompetitorNationalityColumn=Exibir sempre a nacionalidade do competidor
|
||||
showCompetitorNationalityColumnTooltip=Exibir ambos, bandeiras de nacionalidade e imagens do competidor, se disponíveis
|
||||
loadingDimensionValues=Carregando valores de dimensão
|
||||
inviteBuoyTenders=Convidar navios-balizadores
|
||||
orMultipleEmails=ou vários e-mails separados por vírgula
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=Отправлено успешно
|
||||
fileUploadResult=Отправка файла: {0} {1}.\nВ случае ошибки проверьте правильность конфигурации службы хранилища файлов.
|
||||
removeUploadedFile=Удалить отправленный файл
|
||||
showCompetitorBoatColumn=Лодка участника
|
||||
showCompetitorSailIdColumn=Ид. паруса
|
||||
showCompetitorSailIdColumnTooltip=Показывает ид. паруса плюс государственный флаг или изображение участника. Изображение участника, при наличии, имеет приоритет над государственным флагом. Если установлен параметр "{0}", будут отображены оба значка.
|
||||
showCompetitorShortNameColumn=Краткое имя участника
|
||||
showCompetitorShortNameColumnTooltip=Показывает краткое имя плюс государственный флаг или изображение участника. Изображение участника, при наличии, имеет приоритет над государственным флагом. Если установлен параметр "{0}", будут отображены оба значка.
|
||||
showCompetitorFullNameColumn=Полное имя участника
|
||||
alwaysShowCompetitorNationalityColumn=Всегда показывать государственную принадлежность участника
|
||||
alwaysShowCompetitorNationalityColumnTooltip=Показывать и флаги государств, и изображения участников (при наличии)
|
||||
showCompetitorNationalityColumn=Всегда показывать государственную принадлежность участника
|
||||
showCompetitorNationalityColumnTooltip=Показывать и флаги государств, и изображения участников (при наличии)
|
||||
loadingDimensionValues=Загрузка значений измерения
|
||||
inviteBuoyTenders=Пригласить лоцманов
|
||||
orMultipleEmails=или несколько адресов эл. почты через запятую
|
||||
|
||||
+2
-4
@@ -1275,13 +1275,11 @@ uploadSuccessful=上传成功
|
||||
fileUploadResult=文件上传: {0} {1}。\n如果出错,请检查文件存储服务配置是否正确。
|
||||
removeUploadedFile=移除上传的文件
|
||||
showCompetitorBoatColumn=参赛队的船只
|
||||
showCompetitorSailIdColumn=帆号
|
||||
showCompetitorSailIdColumnTooltip=显示帆号和国籍旗帜或参赛队图像。如果可用,参赛队图像优先于国籍旗帜。如果设置 "{0}",将显示这两种图标。
|
||||
showCompetitorShortNameColumn=参赛队短名称
|
||||
showCompetitorShortNameColumnTooltip=显示短名称和国籍旗帜或参赛队图像。如果可用,参赛队图像优先于国籍旗帜。如果设置 "{0}",将显示这两种图标。
|
||||
showCompetitorFullNameColumn=参赛队全名
|
||||
alwaysShowCompetitorNationalityColumn=始终显示参赛队国籍
|
||||
alwaysShowCompetitorNationalityColumnTooltip=如果可用,显示两者:国籍旗帜和参赛队图像
|
||||
showCompetitorNationalityColumn=始终显示参赛队国籍
|
||||
showCompetitorNationalityColumnTooltip=如果可用,显示两者:国籍旗帜和参赛队图像
|
||||
loadingDimensionValues=正在加载尺寸值
|
||||
inviteBuoyTenders=邀请浮标供应船
|
||||
orMultipleEmails=或使用逗号隔开的多个电子邮件
|
||||
|
||||
+13
-11
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.ui.leaderboard;
|
||||
import java.util.Comparator;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
|
||||
import com.google.gwt.cell.client.Cell.Context;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
|
||||
@@ -17,12 +18,13 @@ import com.sap.sailing.gwt.ui.client.shared.filter.LeaderboardFetcher;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
|
||||
public class CompetitorColumnBase<T> {
|
||||
|
||||
private final LeaderboardFetcher leaderboardFetcher;
|
||||
protected final StringMessages stringMessages;
|
||||
private final StringMessages stringMessages;
|
||||
private final CompetitorFetcher<T> competitorFetcher;
|
||||
|
||||
public CompetitorColumnBase(LeaderboardFetcher leaderboardFetcher, StringMessages stringMessages, CompetitorFetcher<T> competitorFetcher) {
|
||||
super();
|
||||
public CompetitorColumnBase(LeaderboardFetcher leaderboardFetcher, StringMessages stringMessages,
|
||||
CompetitorFetcher<T> competitorFetcher) {
|
||||
this.leaderboardFetcher = leaderboardFetcher;
|
||||
this.stringMessages = stringMessages;
|
||||
this.competitorFetcher = competitorFetcher;
|
||||
@@ -36,11 +38,11 @@ public class CompetitorColumnBase<T> {
|
||||
return new AbstractSafeHtmlCell<T>(new AbstractSafeHtmlRenderer<T>() {
|
||||
@Override
|
||||
public SafeHtml render(T row) {
|
||||
return new SafeHtmlBuilder().appendEscaped(leaderboard.getDisplayName(competitorFetcher.getCompetitor(row))).toSafeHtml();
|
||||
return SafeHtmlUtils.fromString(leaderboard.getDisplayName(competitorFetcher.getCompetitor(row)));
|
||||
}
|
||||
}) {
|
||||
@Override
|
||||
protected void render(com.google.gwt.cell.client.Cell.Context context, SafeHtml data, SafeHtmlBuilder sb) {
|
||||
protected void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
|
||||
sb.append(data);
|
||||
}
|
||||
};
|
||||
@@ -50,8 +52,10 @@ public class CompetitorColumnBase<T> {
|
||||
return new InvertibleComparatorAdapter<T>() {
|
||||
@Override
|
||||
public int compare(T o1, T o2) {
|
||||
return Comparator.<CompetitorDTO>nullsLast((c1, c2)->new NaturalComparator(/* caseSensitive */ false).compare(c1.getShortName(), c2.getShortName())).compare(
|
||||
competitorFetcher.getCompetitor(o1), competitorFetcher.getCompetitor(o2));
|
||||
return Comparator
|
||||
.<CompetitorDTO> nullsLast((c1, c2) -> new NaturalComparator(/* caseSensitive */ false)
|
||||
.compare(c1.getShortName(), c2.getShortName()))
|
||||
.compare(competitorFetcher.getCompetitor(o1), competitorFetcher.getCompetitor(o2));
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -61,10 +65,8 @@ public class CompetitorColumnBase<T> {
|
||||
stringMessages.competitorColumnTooltip());
|
||||
}
|
||||
|
||||
public void render(T t, String competitorColorBarStyle, SafeHtmlBuilder sb) {
|
||||
sb.appendHtmlConstant("<div " + competitorColorBarStyle + ">");
|
||||
sb.appendEscaped(getLeaderboard().getDisplayName(competitorFetcher.getCompetitor(t)));
|
||||
sb.appendHtmlConstant("</div>");
|
||||
public void render(Context context, T row, SafeHtmlBuilder sb) {
|
||||
sb.appendEscaped(getLeaderboard().getDisplayName(competitorFetcher.getCompetitor(row)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+40
-36
@@ -11,6 +11,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractSafeHtmlCell;
|
||||
@@ -338,7 +339,7 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
private Label scoreCorrectionCommentLabel;
|
||||
private Label liveRaceLabel;
|
||||
|
||||
protected boolean isEmbedded;
|
||||
private final boolean isEmbedded;
|
||||
|
||||
private ImageResource pauseIcon;
|
||||
private ImageResource playIcon;
|
||||
@@ -897,30 +898,9 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
|
||||
@Override
|
||||
public void render(Context context, T object, SafeHtmlBuilder sb) {
|
||||
CompetitorDTO competitor = competitorFetcher.getCompetitor(object);
|
||||
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
|
||||
final String flagImageURL = competitor.getFlagImageURL();
|
||||
boolean boatColorShown = renderBoatColorIfNecessary(competitorFetcher.getCompetitor(object), sb);
|
||||
if (isShowCompetitorNationality || flagImageURL == null || flagImageURL.isEmpty()) {
|
||||
final ImageResource nationalityFlagImageResource;
|
||||
if (twoLetterIsoCountryCode == null || twoLetterIsoCountryCode.isEmpty()) {
|
||||
nationalityFlagImageResource = flagImageResolver.getEmptyFlagImageResource();
|
||||
} else {
|
||||
nationalityFlagImageResource = flagImageResolver.getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (nationalityFlagImageResource != null) {
|
||||
style.renderNationalityFlag(nationalityFlagImageResource, sb);
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
}
|
||||
if (flagImageURL != null && !flagImageURL.isEmpty()) {
|
||||
style.renderFlagImage(flagImageURL, sb, competitor);
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
sb.appendEscaped(competitor.getShortInfo());
|
||||
if (boatColorShown) {
|
||||
sb.appendHtmlConstant("</div>");
|
||||
}
|
||||
final CompetitorDTO competitor = competitorFetcher.getCompetitor(object);
|
||||
LeaderboardPanel.this.renderCompetitorText(competitor, isShowCompetitorShortName(),
|
||||
!isShowCompetitorFullName(), sb, builder -> builder.appendEscaped(competitor.getShortInfo()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1171,8 +1151,6 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
}
|
||||
}
|
||||
|
||||
public abstract boolean renderBoatColorIfNecessary(CompetitorDTO competitor, SafeHtmlBuilder sb);
|
||||
|
||||
private class TextRaceColumn extends RaceColumn<String> implements RaceNameProvider {
|
||||
/**
|
||||
* Remembers the leg columns; <code>null</code>-padded, if {@link #getLegColumn(int)} asks for a column index
|
||||
@@ -3577,17 +3555,43 @@ public abstract class LeaderboardPanel<LS extends LeaderboardSettings> extends A
|
||||
|
||||
@Override
|
||||
public void render(Context context, LeaderboardRowDTO object, SafeHtmlBuilder sb) {
|
||||
String competitorColor = getCompetitorColor(object.competitor);
|
||||
String competitorColorBarStyle;
|
||||
if (LeaderboardPanel.this.isEmbedded && competitorColor != null) {
|
||||
competitorColorBarStyle = "style=\"border-bottom: 2px solid " + competitorColor + ";\"";
|
||||
} else {
|
||||
competitorColorBarStyle = "style=\"border: none;\"";
|
||||
}
|
||||
base.render(object, competitorColorBarStyle, sb);
|
||||
LeaderboardPanel.this.renderCompetitorText(object.competitor, !isShowCompetitorShortName(),
|
||||
isShowCompetitorFullName(), sb, builder -> base.render(context, object, builder));
|
||||
}
|
||||
}
|
||||
|
||||
public abstract String getCompetitorColor(CompetitorDTO competitor);
|
||||
protected abstract String getCompetitorColor(CompetitorDTO competitor);
|
||||
|
||||
private void renderCompetitorText(final CompetitorDTO competitor, final boolean withFlags, final boolean withColor,
|
||||
final SafeHtmlBuilder sb, final Consumer<SafeHtmlBuilder> textRenderer) {
|
||||
final String competitorColor = getCompetitorColor(competitor);
|
||||
final boolean showColor = withColor && competitorColor != null;
|
||||
final String divStyle = showColor ? style.determineBoatColorDivStyle(competitorColor) : "border: none;";
|
||||
sb.appendHtmlConstant("<div style=\"" + divStyle + "\">");
|
||||
|
||||
if (withFlags) {
|
||||
final String flagImageURL = competitor.getFlagImageURL();
|
||||
if (isShowCompetitorNationality || flagImageURL == null || flagImageURL.isEmpty()) {
|
||||
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
|
||||
final ImageResource nationalityFlagImageResource;
|
||||
if (twoLetterIsoCountryCode == null || twoLetterIsoCountryCode.isEmpty()) {
|
||||
nationalityFlagImageResource = flagImageResolver.getEmptyFlagImageResource();
|
||||
} else {
|
||||
nationalityFlagImageResource = flagImageResolver.getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (nationalityFlagImageResource != null) {
|
||||
style.renderNationalityFlag(nationalityFlagImageResource, sb);
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
}
|
||||
if (flagImageURL != null && !flagImageURL.isEmpty()) {
|
||||
style.renderFlagImage(flagImageURL, sb, competitor);
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
}
|
||||
|
||||
textRenderer.accept(sb);
|
||||
sb.appendHtmlConstant("</div>");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-19
@@ -5,7 +5,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.LeaderboardType;
|
||||
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
|
||||
@@ -41,17 +40,6 @@ import com.sap.sse.gwt.client.shared.settings.ComponentContext;
|
||||
*/
|
||||
public class MultiRaceLeaderboardPanel extends LeaderboardPanel<MultiRaceLeaderboardSettings> {
|
||||
|
||||
public MultiRaceLeaderboardPanel(Component<?> parent, ComponentContext<?> context,
|
||||
SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor,
|
||||
MultiRaceLeaderboardSettings settings, boolean isEmbedded,
|
||||
CompetitorSelectionProvider competitorSelectionProvider, String leaderboardGroupName,
|
||||
String leaderboardName, ErrorReporter errorReporter, StringMessages stringMessages, boolean showRaceDetails,
|
||||
LeaderBoardStyle style, FlagImageResolver flagImageResolver, Iterable<DetailType> availableDetailTypes) {
|
||||
super(parent, context, sailingService, asyncActionsExecutor, settings, isEmbedded, competitorSelectionProvider,
|
||||
leaderboardGroupName, leaderboardName, errorReporter, stringMessages, showRaceDetails, style, flagImageResolver, availableDetailTypes);
|
||||
initialize(settings);
|
||||
}
|
||||
|
||||
public MultiRaceLeaderboardPanel(Component<?> parent, ComponentContext<?> context,
|
||||
SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor,
|
||||
MultiRaceLeaderboardSettings settings, boolean isEmbedded,
|
||||
@@ -114,13 +102,7 @@ public class MultiRaceLeaderboardPanel extends LeaderboardPanel<MultiRaceLeaderb
|
||||
|
||||
@Override
|
||||
public String getCompetitorColor(CompetitorDTO competitor) {
|
||||
// not used for multi
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderBoatColorIfNecessary(CompetitorDTO competitor, SafeHtmlBuilder sb) {
|
||||
return false;
|
||||
return null; // Not used in multi-race leaderboard
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-12
@@ -5,7 +5,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.gwt.cell.client.TextCell;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
|
||||
import com.google.gwt.user.cellview.client.SafeHtmlHeader;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
@@ -165,17 +164,7 @@ public class SingleRaceLeaderboardPanel extends LeaderboardPanel<SingleRaceLeade
|
||||
|
||||
@Override
|
||||
public String getCompetitorColor(CompetitorDTO competitor) {
|
||||
return getRaceCompetitorSelection().getColor(competitor, preSelectedRace).getAsHtml();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderBoatColorIfNecessary(CompetitorDTO competitor, SafeHtmlBuilder sb) {
|
||||
boolean showBoatColor = !isShowCompetitorFullName() && isEmbedded;
|
||||
if (showBoatColor) {
|
||||
String competitorColor = getRaceCompetitorSelection().getColor(competitor, preSelectedRace).getAsHtml();
|
||||
sb.appendHtmlConstant("<div style=\" "+style.determineBoatColorDivStyle(competitorColor)+ "\">");
|
||||
}
|
||||
return showBoatColor;
|
||||
return isEmbedded() ? getRaceCompetitorSelection().getColor(competitor, preSelectedRace).getAsHtml() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-2
@@ -196,8 +196,7 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
|
||||
|
||||
@Override
|
||||
public void render(Context context, CompetitorDTO competitor, SafeHtmlBuilder sb) {
|
||||
String competitorColorBarStyle = "style=\"border: none;\"";
|
||||
base.render(competitor, competitorColorBarStyle, sb);
|
||||
base.render(context, competitor, sb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -63,8 +63,8 @@ public class SingleRaceLeaderboardPanelLifecycle extends LeaderboardPanelLifecyc
|
||||
currentLeaderboardSettings.isShowCompetitorShortNameColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorFullNameColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorBoatInfoColumn(),
|
||||
currentLeaderboardSettings.isShowRaceRankColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorNationality());
|
||||
currentLeaderboardSettings.isShowCompetitorNationality(),
|
||||
currentLeaderboardSettings.isShowRaceRankColumn());
|
||||
return SettingsUtil.copyValues(contextSpecificLeaderboardSettings, defaultLeaderboardSettings);
|
||||
}
|
||||
|
||||
@@ -79,7 +79,8 @@ public class SingleRaceLeaderboardPanelLifecycle extends LeaderboardPanelLifecyc
|
||||
currentLeaderboardSettings.isShowCompetitorShortNameColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorFullNameColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorBoatInfoColumn(),
|
||||
currentLeaderboardSettings.isShowCompetitorNationality(),currentLeaderboardSettings.isShowRaceRankColumn());
|
||||
currentLeaderboardSettings.isShowCompetitorNationality(),
|
||||
currentLeaderboardSettings.isShowRaceRankColumn());
|
||||
return SettingsUtil.copyValues(globalLeaderboardSettings, defaultLeaderboardSettings);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user