mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-15 14:56:41 +00:00
bug4456 put flag renderer into own class, cleaned up templates, use
safestyle
This commit is contained in:
1 parent
ab5b8e5b5f
commit
5050bf1b3e
7 files changed
+56
-28
No files matched your search
+3
-3
@@ -18,7 +18,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -93,7 +93,7 @@ public class CompactCompetitorTableWrapper<S extends RefreshableSelectionModel<C
|
||||
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
|
||||
final String flagImageURL = competitor.getFlagImageURL();
|
||||
if (flagImageURL != null && !flagImageURL.isEmpty()) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
sb.append(FlagImageRenderer.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
} else {
|
||||
final ImageResource flagImageResource;
|
||||
@@ -103,7 +103,7 @@ public class CompactCompetitorTableWrapper<S extends RefreshableSelectionModel<C
|
||||
flagImageResource = FlagImageResolverImpl.get().getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (flagImageResource != null) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.image(flagImageResource.getSafeUri().asString()));
|
||||
sb.append(FlagImageRenderer.image(flagImageResource.getSafeUri().asString()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.sap.sailing.domain.common.CompetitorDescriptor;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -136,7 +136,7 @@ public class CompetitorDescriptorTableWrapper<S extends RefreshableSelectionMode
|
||||
flagImageResource = FlagImageResolverImpl.get().getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (flagImageResource != null) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.image(flagImageResource.getSafeUri().asString()));
|
||||
sb.append(FlagImageRenderer.image(flagImageResource.getSafeUri().asString()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithBoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorWithToolTipDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -135,7 +135,7 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
|
||||
final String flagImageURL = competitor.getFlagImageURL();
|
||||
if (flagImageURL != null && !flagImageURL.isEmpty()) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
sb.append(FlagImageRenderer.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
} else {
|
||||
final ImageResource flagImageResource;
|
||||
@@ -145,7 +145,7 @@ public class CompetitorTableWrapper<S extends RefreshableSelectionModel<Competit
|
||||
flagImageResource = FlagImageResolverImpl.get().getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (flagImageResource != null) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.imageWithTitle(flagImageResource.getSafeUri().asString() ,competitor.getName()));
|
||||
sb.append(FlagImageRenderer.imageWithTitle(flagImageResource.getSafeUri().asString() ,competitor.getName()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
}
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package com.sap.sailing.gwt.ui.client;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.dom.client.Style.VerticalAlign;
|
||||
import com.google.gwt.safecss.shared.SafeStyles;
|
||||
import com.google.gwt.safecss.shared.SafeStylesBuilder;
|
||||
import com.google.gwt.safehtml.client.SafeHtmlTemplates;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
|
||||
public class FlagImageRenderer {
|
||||
private static final int DEFAULT_FLAG_HEIGHT = 12;
|
||||
private static final int DEFAULT_FLAG_WIDTH = 18;
|
||||
private static final Template FLAG_RENDERER_TEMPLATE = GWT.create(Template.class);
|
||||
|
||||
interface Template extends SafeHtmlTemplates {
|
||||
@SafeHtmlTemplates.Template("<div style='{0}'></div>")
|
||||
SafeHtml image(SafeStyles style);
|
||||
|
||||
@SafeHtmlTemplates.Template("<div title='{1}' style='{0}'></div>")
|
||||
SafeHtml imageWithTitle(SafeStyles style, String title);
|
||||
}
|
||||
|
||||
private FlagImageRenderer() {
|
||||
}
|
||||
|
||||
public static SafeHtml image(String url) {
|
||||
return FLAG_RENDERER_TEMPLATE.image(getStyle(DEFAULT_FLAG_WIDTH, DEFAULT_FLAG_HEIGHT, url));
|
||||
}
|
||||
|
||||
private static SafeStyles getStyle(int width, int height, String backgroundImage) {
|
||||
return new SafeStylesBuilder().verticalAlign(VerticalAlign.MIDDLE)
|
||||
.appendTrustedString("background-repeat:no-repeat;").appendTrustedString("background-size:contain;")
|
||||
.display(Display.INLINE_BLOCK).width(width, Unit.PX).height(height, Unit.PX)
|
||||
.trustedBackgroundImage("url(" + backgroundImage + ")").toSafeStyles();
|
||||
}
|
||||
|
||||
public static SafeHtml imageWithTitle(String flagImageURL, String name) {
|
||||
return FLAG_RENDERER_TEMPLATE.imageWithTitle(getStyle(DEFAULT_FLAG_WIDTH, DEFAULT_FLAG_HEIGHT, flagImageURL),
|
||||
name);
|
||||
}
|
||||
}
|
||||
-15
@@ -3,25 +3,10 @@ package com.sap.sailing.gwt.ui.client;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.RunAsyncCallback;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.safehtml.client.SafeHtmlTemplates;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeUri;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
|
||||
public interface FlagImageResolver {
|
||||
static final Template FLAG_RENDERER_TEMPLATE = GWT.create(Template.class);
|
||||
|
||||
interface Template extends SafeHtmlTemplates {
|
||||
@SafeHtmlTemplates.Template("<div style='vertical-align:middle;background-repeat:no-repeat;background-size:contain;display:inline-block;width:18px;height:12px;background-image:url({0})'></div>")
|
||||
SafeHtml image(String imageUri);
|
||||
|
||||
@SafeHtmlTemplates.Template("<div style='vertical-align:middle;background-repeat:no-repeat;background-size:contain;display:inline-block;width:{1}px;height:{2}px;background-image:url({0})'></div>")
|
||||
SafeHtml image(String imageUri, int width, int height);
|
||||
|
||||
@SafeHtmlTemplates.Template("<div title='{1}' style='vertical-align:middle;background-repeat:no-repeat;background-size:contain;display:inline-block;width:18px;height:12px;background-image:url({0})'></div>")
|
||||
SafeHtml imageWithTitle(String imageUri, String title);
|
||||
}
|
||||
|
||||
public static void get(AsyncCallback<FlagImageResolver> callback) {
|
||||
GWT.runAsync(new RunAsyncCallback() {
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.LeaderboardDTO;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel.LeaderBoardStyle;
|
||||
import com.sap.sse.gwt.client.shared.components.ComponentResources;
|
||||
|
||||
@@ -31,12 +31,12 @@ public class ClassicLeaderboardStyle implements LeaderBoardStyle {
|
||||
|
||||
@Override
|
||||
public void renderNationalityFlag(ImageResource nationalityFlagImageResource, SafeHtmlBuilder sb) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.image(nationalityFlagImageResource.getSafeUri().asString()));
|
||||
sb.append(FlagImageRenderer.image(nationalityFlagImageResource.getSafeUri().asString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderFlagImage(String flagImageURL, SafeHtmlBuilder sb, CompetitorDTO competitor) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
sb.append(FlagImageRenderer.imageWithTitle(flagImageURL, competitor.getName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ import com.sap.sailing.gwt.settings.client.leaderboard.MultiRaceLeaderboardSetti
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AdminConsoleTableResources;
|
||||
import com.sap.sailing.gwt.ui.client.Collator;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolverImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -157,7 +157,7 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
|
||||
flagImageResource = FlagImageResolverImpl.get().getFlagImageResource(twoLetterIsoCountryCode);
|
||||
}
|
||||
if (flagImageResource != null) {
|
||||
sb.append(FlagImageResolver.FLAG_RENDERER_TEMPLATE.image(flagImageResource.getSafeUri().asString(), 18, 12));
|
||||
sb.append(FlagImageRenderer.image(flagImageResource.getSafeUri().asString()));
|
||||
sb.appendHtmlConstant(" ");
|
||||
}
|
||||
sb.appendEscaped(object.getShortInfo());
|
||||
|
||||
Reference in new issue
Block a user