mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-02 17:19:37 +00:00
-fixed positioning of regatta state in regatta partial
-added some i18n messages -added legCount and totalLegCount to TrackedRaceDTO
This commit is contained in:
1 parent
0930b69141
commit
68685e2a32
9 files changed
+45
-19
No files matched your search
+4
@@ -22,6 +22,10 @@ public class TrackedRaceDTO implements Serializable {
|
||||
public Date timePointOfNewestEvent;
|
||||
public long delayToLiveInMs;
|
||||
|
||||
public int totalLegsCount = -1;
|
||||
public int currentLegNo = -1;
|
||||
// public CompetitorDTO leaderOrWinner;
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
|
||||
+6
@@ -1,8 +1,11 @@
|
||||
package com.sap.sailing.gwt.home.client.i18n;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.i18n.client.Messages;
|
||||
|
||||
public interface TextMessages extends Messages {
|
||||
public static final TextMessages INSTANCE = GWT.create(TextMessages.class);
|
||||
|
||||
String chooseALanguage();
|
||||
String home();
|
||||
String events();
|
||||
@@ -15,6 +18,9 @@ public interface TextMessages extends Messages {
|
||||
String english();
|
||||
String fullEventSchedule();
|
||||
String officalEventWebsite();
|
||||
String leg();
|
||||
String leader();
|
||||
String winner();
|
||||
|
||||
String countdownDays();
|
||||
String countdownHours();
|
||||
|
||||
+3
@@ -10,6 +10,9 @@ german=Deutsch
|
||||
english=English
|
||||
fullEventSchedule=Full event schedule
|
||||
officalEventWebsite=Official event website
|
||||
leg=Leg
|
||||
leader=Leader
|
||||
winner=Winner
|
||||
|
||||
countdownDays=Days
|
||||
countdownHours=Hrs
|
||||
|
||||
+3
@@ -10,6 +10,9 @@ german=Deutsch
|
||||
english=English
|
||||
fullEventSchedule=Full event schedule
|
||||
officalEventWebsite=Official event website
|
||||
leg=Leg
|
||||
leader=Leader
|
||||
winner=Winner
|
||||
|
||||
countdownDays=Tage
|
||||
countdownHours=Std.
|
||||
|
||||
+9
-10
@@ -41,8 +41,8 @@ public class Regatta extends Composite {
|
||||
private LeaderboardGroupDTO leaderboardGroup;
|
||||
|
||||
@UiField DivElement regattaDiv;
|
||||
@UiField HeadingElement regattaName1;
|
||||
@UiField HeadingElement regattaName2;
|
||||
@UiField HeadingElement regattaNameHeading1;
|
||||
@UiField HeadingElement regattaNameHeading2;
|
||||
@UiField DivElement leaderboardGroupName;
|
||||
// @UiField SpanElement scheduledStart;
|
||||
@UiField DivElement regattaPhasesPanel;
|
||||
@@ -66,8 +66,7 @@ public class Regatta extends Composite {
|
||||
@UiField DivElement regattaImageWithoutLink;
|
||||
@UiField AnchorElement regattaImageWithLink;
|
||||
|
||||
@UiField DivElement regattaNameWithoutLink;
|
||||
@UiField AnchorElement regattaNameWithLink;
|
||||
@UiField AnchorElement regattaNameLink;
|
||||
|
||||
public Regatta(EventDTO event, boolean isNavigatable, Timer timerForClientServerOffset, EventPageNavigator pageNavigator) {
|
||||
this.event = event;
|
||||
@@ -86,10 +85,10 @@ public class Regatta extends Composite {
|
||||
if(isNavigatable) {
|
||||
regattaDiv.setAttribute("data-rendermode", "link");
|
||||
regattaImageWithoutLink.getStyle().setDisplay(Display.NONE);
|
||||
regattaNameWithoutLink.getStyle().setDisplay(Display.NONE);
|
||||
regattaNameHeading2.getStyle().setDisplay(Display.NONE);
|
||||
} else {
|
||||
regattaImageWithLink.getStyle().setDisplay(Display.NONE);
|
||||
regattaNameWithLink.getStyle().setDisplay(Display.NONE);
|
||||
regattaNameLink.getStyle().setDisplay(Display.NONE);
|
||||
}
|
||||
|
||||
registerEvents();
|
||||
@@ -112,8 +111,8 @@ public class Regatta extends Composite {
|
||||
}
|
||||
|
||||
String regattaDisplayName = leaderboard.displayName != null ? leaderboard.displayName : leaderboard.name;
|
||||
regattaName1.setInnerText(regattaDisplayName);
|
||||
regattaName2.setInnerText(regattaDisplayName);
|
||||
regattaNameHeading1.setInnerText(regattaDisplayName);
|
||||
regattaNameHeading2.setInnerText(regattaDisplayName);
|
||||
if(raceGroup.leaderboardGroupName != null) {
|
||||
leaderboardGroupName.setInnerText(raceGroup.leaderboardGroupName);
|
||||
leaderboardGroupName.setAttribute("data-labeltype", "group1");
|
||||
@@ -165,8 +164,8 @@ public class Regatta extends Composite {
|
||||
}
|
||||
});
|
||||
|
||||
Event.sinkEvents(regattaNameWithLink, Event.ONCLICK);
|
||||
Event.setEventListener(regattaNameWithLink, new EventListener() {
|
||||
Event.sinkEvents(regattaNameLink, Event.ONCLICK);
|
||||
Event.setEventListener(regattaNameLink, new EventListener() {
|
||||
@Override
|
||||
public void onBrowserEvent(Event event) {
|
||||
pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
|
||||
+3
-5
@@ -20,12 +20,10 @@
|
||||
<div class="{local_res.css.regatta_intro_header}">
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mediaCss.small4} {res.mediaCss.columns}">
|
||||
<a href="javascript:;" ui:field="regattaNameWithLink">
|
||||
<h3 ui:field="regattaName1" class="{local_res.css.regatta_intro_header_name} {local_res.css.regatta_intro_header_namelink}" />
|
||||
<a href="javascript:;" ui:field="regattaNameLink">
|
||||
<h3 ui:field="regattaNameHeading1" class="{local_res.css.regatta_intro_header_name} {local_res.css.regatta_intro_header_namelink}" />
|
||||
</a>
|
||||
<div ui:field="regattaNameWithoutLink">
|
||||
<h3 ui:field="regattaName2" class="{local_res.css.regatta_intro_header_name}"></h3>
|
||||
</div>
|
||||
<h3 ui:field="regattaNameHeading2" class="{local_res.css.regatta_intro_header_name}"></h3>
|
||||
<div ui:field="isLiveDiv" data-labeltype="live" class="{res.mainCss.label}"><ui:text from='{i18n.live}'/></div>
|
||||
<div ui:field="isFinishedDiv" data-labeltype="finished" class="{res.mainCss.label}"><ui:text from='{i18n.finished}'/></div>
|
||||
</div>
|
||||
|
||||
+7
-3
@@ -56,10 +56,10 @@ public class EventRegattaRacesRace extends UIObject {
|
||||
@UiField DivElement featureAudio;
|
||||
@UiField DivElement featureVideo;
|
||||
|
||||
// local_res.css.eventregattarace_featureunavailable
|
||||
@UiField SpanElement currentLegNo;
|
||||
@UiField SpanElement totalLegsCount;
|
||||
|
||||
private final DateTimeFormat raceTimeFormat = DateTimeFormat.getFormat("EEE, h:mm a");
|
||||
// private final TextMessages textMessages = GWT.create(TextMessages.class);
|
||||
|
||||
private final StrippedLeaderboardDTO leaderboard;
|
||||
private final FleetDTO fleet;
|
||||
@@ -82,7 +82,7 @@ public class EventRegattaRacesRace extends UIObject {
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
|
||||
allConditionalElements = new Element[] {raceWinnerDiv, raceLeaderDiv, watchRaceDiv, analyzeRaceDiv, raceNotTrackedDiv,
|
||||
raceFeaturesDiv, legProgressDiv, raceFlagDiv, windStatusDiv };
|
||||
raceFeaturesDiv, legProgressDiv, raceFlagDiv, windStatusDiv, currentLegNo, totalLegsCount };
|
||||
|
||||
if(fleet.getColor() != null) {
|
||||
fleetColor.getStyle().setBackgroundColor(fleet.getColor().getAsHtml());
|
||||
@@ -141,8 +141,12 @@ public class EventRegattaRacesRace extends UIObject {
|
||||
showElement(watchRaceDiv);
|
||||
showElement(raceLeaderDiv);
|
||||
showElement(legProgressDiv);
|
||||
showElement(currentLegNo);
|
||||
showElement(totalLegsCount);
|
||||
|
||||
raceTime.setInnerText(raceTimeFormat.format(race.startOfRace));
|
||||
currentLegNo.setInnerText(String.valueOf(race.trackedRace.currentLegNo));
|
||||
totalLegsCount.setInnerText(String.valueOf(race.trackedRace.totalLegsCount));
|
||||
|
||||
break;
|
||||
case TRACKED_AND_NOT_LIVE:
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
<div ui:field="raceLeaderDiv" class="{local_res.css.eventregattarace_details} {local_res.css.eventregattarace_leader}">
|
||||
Leader:<br></br> - <span ui:field="raceLeader" class="{local_res.css.eventregattarace_leader_name}"></span>
|
||||
</div>
|
||||
<div ui:field="legProgressDiv" class="{local_res.css.eventregattarace_details} {local_res.css.eventregattarace_legs}">Leg (race.leg of race.totalLegs):
|
||||
<div ui:field="legProgressDiv" class="{local_res.css.eventregattarace_details} {local_res.css.eventregattarace_legs}"><ui:text from='{i18n.leg}'/>&nbps;<span ui:field="currentLegNo" />/<span ui:field="totalLegsCount" />
|
||||
<div class="{local_res.css.eventregattarace_legs_list}">
|
||||
<div data-status="r" class="{local_res.css.eventregattarace_legs_leg}"></div>
|
||||
</div>
|
||||
|
||||
+9
@@ -958,6 +958,15 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
trackedRaceDTO = getBaseDomainFactory().createTrackedRaceDTO(trackedRace);
|
||||
trackedRaceDTO.hasVideoData = false;
|
||||
trackedRaceDTO.hasAudioData = false;
|
||||
if(r.getCourse() != null) {
|
||||
trackedRaceDTO.totalLegsCount = r.getCourse().getLegs().size();
|
||||
TrackedLeg currentLeg = trackedRace.getCurrentLeg(MillisecondsTimePoint.now());
|
||||
if(currentLeg != null) {
|
||||
trackedRaceDTO.currentLegNo = r.getCourse().getIndexOfWaypoint(currentLeg.getLeg().getFrom());
|
||||
} else {
|
||||
trackedRaceDTO.currentLegNo = 0;
|
||||
}
|
||||
}
|
||||
Collection<MediaTrack> mediaTracksForRace = getService().getMediaTracksForRace(raceIdentifier);
|
||||
for(MediaTrack track: mediaTracksForRace) {
|
||||
switch(track.mimeType.mediaType) {
|
||||
|
||||
Reference in new issue
Block a user