Merge branch 'bug4641'

This commit is contained in:
Kai Börnert
2018-07-17 13:34:12 +02:00
16 changed files with 83 additions and 123 deletions
@@ -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);
@@ -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();
@@ -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
@@ -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)
@@ -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
@@ -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
@@ -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=または複数の電子メールをカンマで区切り
@@ -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
@@ -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=или несколько адресов эл. почты через запятую
@@ -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=或使用逗号隔开的多个电子邮件
@@ -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)));
}
}
@@ -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("&nbsp;");
}
}
if (flagImageURL != null && !flagImageURL.isEmpty()) {
style.renderFlagImage(flagImageURL, sb, competitor);
sb.appendHtmlConstant("&nbsp;");
}
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("&nbsp;");
}
}
if (flagImageURL != null && !flagImageURL.isEmpty()) {
style.renderFlagImage(flagImageURL, sb, competitor);
sb.appendHtmlConstant("&nbsp;");
}
}
textRenderer.accept(sb);
sb.appendHtmlConstant("</div>");
}
}
@@ -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
@@ -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
@@ -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);
}
}
@@ -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);
}