mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-01 08:40:52 +00:00
fixed rendering problem in regattalist partial
This commit is contained in:
1 parent
83d75ce64f
commit
3a94cc09bc
5 files changed
+94
-61
No files matched your search
+69
-41
@@ -1,20 +1,18 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.regatta;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.HeadingElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.dom.client.Style.Visibility;
|
||||
import com.google.gwt.dom.client.TableElement;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.uibinder.client.UiHandler;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.EventListener;
|
||||
import com.google.gwt.user.client.ui.UIObject;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -23,10 +21,10 @@ import com.sap.sailing.gwt.ui.shared.RaceGroupSeriesDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
|
||||
public class Regatta extends Composite {
|
||||
public class Regatta extends UIObject {
|
||||
private static RegattaUiBinder uiBinder = GWT.create(RegattaUiBinder.class);
|
||||
|
||||
interface RegattaUiBinder extends UiBinder<Widget, Regatta> {
|
||||
interface RegattaUiBinder extends UiBinder<DivElement, Regatta> {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@@ -39,6 +37,7 @@ public class Regatta extends Composite {
|
||||
@SuppressWarnings("unused")
|
||||
private LeaderboardGroupDTO leaderboardGroup;
|
||||
|
||||
@UiField DivElement regattaDiv;
|
||||
@UiField HeadingElement regattaName1;
|
||||
@UiField HeadingElement regattaName2;
|
||||
@UiField DivElement leaderboardGroupName;
|
||||
@@ -54,37 +53,41 @@ public class Regatta extends Composite {
|
||||
@UiField DivElement isFinishedDiv;
|
||||
@UiField DivElement isFinishedDiv2;
|
||||
@UiField DivElement isScheduledDiv;
|
||||
@UiField Anchor leaderboardLink;
|
||||
@UiField HTMLPanel liveRaceInfosPerFleetPanel;
|
||||
@UiField(provided=true) RegattaCompetitor competitorWithRank1;
|
||||
@UiField(provided=true) RegattaCompetitor competitorWithRank2;
|
||||
@UiField(provided=true) RegattaCompetitor competitorWithRank3;
|
||||
@UiField AnchorElement leaderboardLink;
|
||||
@UiField DivElement liveRaceInfosPerFleetPanel;
|
||||
// @UiField(provided=true) RegattaCompetitor competitorWithRank1;
|
||||
// @UiField(provided=true) RegattaCompetitor competitorWithRank2;
|
||||
// @UiField(provided=true) RegattaCompetitor competitorWithRank3;
|
||||
|
||||
@UiField HTMLPanel regattaImage;
|
||||
@UiField Anchor regattaImageWithLink;
|
||||
@UiField DivElement regattaImageWithoutLink;
|
||||
@UiField AnchorElement regattaImageWithLink;
|
||||
|
||||
@UiField HTMLPanel regattaNameDiv;
|
||||
@UiField Anchor regattaNameWithLink;
|
||||
@UiField DivElement regattaNameWithoutLink;
|
||||
@UiField AnchorElement regattaNameWithLink;
|
||||
|
||||
public Regatta(EventDTO event, boolean isNavigatable, Timer timerForClientServerOffset, EventPageNavigator pageNavigator) {
|
||||
this.event = event;
|
||||
this.timerForClientServerOffset = timerForClientServerOffset;
|
||||
this.pageNavigator = pageNavigator;
|
||||
|
||||
competitorWithRank1 = new RegattaCompetitor(1, null);
|
||||
competitorWithRank2 = new RegattaCompetitor(2, null);
|
||||
competitorWithRank3 = new RegattaCompetitor(3, null);
|
||||
// competitorWithRank1 = new RegattaCompetitor(1, null);
|
||||
// competitorWithRank2 = new RegattaCompetitor(2, null);
|
||||
// competitorWithRank3 = new RegattaCompetitor(3, null);
|
||||
|
||||
RegattaResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
regattaImageWithLink.getElement().setAttribute("data-rendermode", "link");
|
||||
regattaImageWithLink.setVisible(isNavigatable);
|
||||
regattaImage.setVisible(!isNavigatable);
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
|
||||
regattaNameWithLink.getElement().setAttribute("data-rendermode", "link");
|
||||
regattaNameWithLink.setVisible(isNavigatable);
|
||||
regattaNameDiv.setVisible(!isNavigatable);
|
||||
if(isNavigatable) {
|
||||
regattaDiv.setAttribute("data-rendermode", "link");
|
||||
regattaImageWithoutLink.getStyle().setDisplay(Display.NONE);
|
||||
|
||||
regattaNameWithoutLink.getStyle().setDisplay(Display.NONE);
|
||||
} else {
|
||||
regattaImageWithLink.getStyle().setDisplay(Display.NONE);
|
||||
regattaNameWithLink.getStyle().setDisplay(Display.NONE);
|
||||
}
|
||||
|
||||
registerEvents();
|
||||
}
|
||||
|
||||
public void setData(RaceGroupDTO raceGroup, StrippedLeaderboardDTO leaderboard, LeaderboardGroupDTO leaderboardGroup) {
|
||||
@@ -93,7 +96,9 @@ public class Regatta extends Composite {
|
||||
this.leaderboardGroup = leaderboardGroup;
|
||||
|
||||
boolean hasLiveRace = leaderboard.hasLiveRace(timerForClientServerOffset.getLiveTimePointInMillis());
|
||||
isLiveDiv.setAttribute("data-labeltype", hasLiveRace ? "live" : "");
|
||||
if(!hasLiveRace) {
|
||||
isLiveDiv.getStyle().setDisplay(Display.NONE);
|
||||
}
|
||||
|
||||
boolean isFinished = !hasLiveRace;
|
||||
if(!isFinished) {
|
||||
@@ -133,18 +138,41 @@ public class Regatta extends Composite {
|
||||
}
|
||||
}
|
||||
|
||||
@UiHandler("leaderboardLink")
|
||||
public void goToLeaderboard(ClickEvent e) {
|
||||
pageNavigator.openLeaderboardViewer(null, leaderboard);
|
||||
private void registerEvents() {
|
||||
Event.sinkEvents(leaderboardLink, Event.ONCLICK);
|
||||
Event.setEventListener(leaderboardLink, new EventListener() {
|
||||
@Override
|
||||
public void onBrowserEvent(Event event) {
|
||||
pageNavigator.openLeaderboardViewer(null, leaderboard);
|
||||
}
|
||||
});
|
||||
|
||||
Event.sinkEvents(regattaImageWithLink, Event.ONCLICK);
|
||||
Event.setEventListener(regattaImageWithLink, new EventListener() {
|
||||
@Override
|
||||
public void onBrowserEvent(Event event) {
|
||||
pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
}
|
||||
});
|
||||
|
||||
Event.sinkEvents(regattaNameWithLink, Event.ONCLICK);
|
||||
Event.setEventListener(regattaNameWithLink, new EventListener() {
|
||||
@Override
|
||||
public void onBrowserEvent(Event event) {
|
||||
pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@UiHandler("regattaImageWithLink")
|
||||
public void goToRegattaRaces(ClickEvent e) {
|
||||
pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
}
|
||||
|
||||
@UiHandler("regattaNameWithLink")
|
||||
public void goToRegattaRaces2(ClickEvent e) {
|
||||
pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
}
|
||||
//
|
||||
// @UiHandler("regattaImageWithLink")
|
||||
// public void goToRegattaRaces(ClickEvent e) {
|
||||
// pageNavigator.goToRegattaRaces(raceGroup, leaderboard);
|
||||
// }
|
||||
//
|
||||
// @UiHandler("regattaNameWithLink")
|
||||
// public void goToRegattaRaces2(ClickEvent e) {
|
||||
// }
|
||||
}
|
||||
+13
-14
@@ -5,28 +5,26 @@
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.home.client.i18n.TextMessages"/>
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.client.HomeResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.regatta.RegattaResources" />
|
||||
<g:HTMLPanel>
|
||||
|
||||
<!-- A view, introducing a regatta-->
|
||||
<div class="{local_res.css.regatta}">
|
||||
<div ui:field="regattaDiv" class="{local_res.css.regatta}" data-labeltype="">
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<div class="{local_res.css.regatta_intro}">
|
||||
<g:Anchor ui:field="regattaImageWithLink">
|
||||
<a ui:field="regattaImageWithLink">
|
||||
<img src="images/home/regatta-boatclass_sample.png" alt="" height="140" width="140" class="{local_res.css.regatta_intro_image}"></img>
|
||||
</g:Anchor>
|
||||
<g:HTMLPanel ui:field="regattaImage">
|
||||
</a>
|
||||
<div ui:field="regattaImageWithoutLink">
|
||||
<img src="images/home/regatta-boatclass_sample.png" alt="" height="140" width="140" class="{local_res.css.regatta_intro_image}"></img>
|
||||
</g:HTMLPanel>
|
||||
</div>
|
||||
<div class="{local_res.css.regatta_intro_header}">
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mediaCss.small4} {res.mediaCss.columns}">
|
||||
<g:Anchor ui:field="regattaNameWithLink">
|
||||
<a ui:field="regattaNameWithLink">
|
||||
<h3 ui:field="regattaName1" class="{local_res.css.regatta_intro_header_name} {local_res.css.regatta_intro_header_namelink}" />
|
||||
</g:Anchor>
|
||||
<g:HTMLPanel ui:field="regattaNameDiv">
|
||||
</a>
|
||||
<div ui:field="regattaNameWithoutLink">
|
||||
<h3 ui:field="regattaName2" class="{local_res.css.regatta_intro_header_name}"></h3>
|
||||
</g:HTMLPanel>
|
||||
</div>
|
||||
<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>
|
||||
@@ -45,23 +43,24 @@
|
||||
<div ui:field="regattaPhasesInfoDiv" class="{local_res.css.regatta_intro_phases}">
|
||||
<div ui:field="regattaPhasesPanel" />
|
||||
<div class="{local_res.css.regatta_intro_phases_leaderboardlink}">
|
||||
<g:Anchor ui:field="leaderboardLink"><ui:text from='{i18n.leaderBoard}'/></g:Anchor>
|
||||
<a ui:field="leaderboardLink"><ui:text from='{i18n.leaderBoard}'/></a>
|
||||
</div>
|
||||
</div>
|
||||
<div ui:field="isScheduledDiv" class="{local_res.css.regatta_intro_scheduled}">
|
||||
<ui:text from='{i18n.regattaRegattaStarts}'/>: <span ui:field="scheduledStart" />
|
||||
</div>
|
||||
<div ui:field="isFinishedDiv2" class="{local_res.css.regatta_intro_results}">
|
||||
<!--
|
||||
<s:regatta.RegattaCompetitor ui:field="competitorWithRank1" />
|
||||
<s:regatta.RegattaCompetitor ui:field="competitorWithRank2" />
|
||||
<s:regatta.RegattaCompetitor ui:field="competitorWithRank3" />
|
||||
-->
|
||||
</div>
|
||||
<table ui:field="isLiveDiv2" class="{local_res.css.regatta_intro_fleets}">
|
||||
<g:HTMLPanel ui:field="liveRaceInfosPerFleetPanel" />
|
||||
<div ui:field="liveRaceInfosPerFleetPanel" />
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+7
-3
@@ -20,13 +20,15 @@ public class EventRegattaRaces extends Composite {
|
||||
interface EventRegattaRacesUiBinder extends UiBinder<Widget, EventRegattaRaces> {
|
||||
}
|
||||
|
||||
@UiField(provided=true) Regatta regatta;
|
||||
// @UiField(provided=true) Regatta regatta;
|
||||
@UiField HTMLPanel regattaPhasesNavigationPanel;
|
||||
@UiField HTMLPanel regattaPhasesPanel;
|
||||
@UiField HTMLPanel regattaPhasesPanel;
|
||||
@UiField HTMLPanel rootPanel;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private final EventDTO event;
|
||||
|
||||
|
||||
private final Regatta regatta;
|
||||
private final Timer timerForClientServerOffset;
|
||||
private final EventPageNavigator pageNavigator;
|
||||
|
||||
@@ -39,6 +41,8 @@ public class EventRegattaRaces extends Composite {
|
||||
|
||||
EventRegattaRacesResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
rootPanel.getElement().appendChild(regatta.getElement());
|
||||
}
|
||||
|
||||
public void setRacesFromRaceGroup(RaceGroupDTO raceGroup, StrippedLeaderboardDTO leaderboard) {
|
||||
|
||||
+3
-1
@@ -5,10 +5,12 @@
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.home.client.i18n.TextMessages"/>
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.client.HomeResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.regattaraces.EventRegattaRacesResources" />
|
||||
<g:HTMLPanel>
|
||||
<g:HTMLPanel ui:field="rootPanel">
|
||||
|
||||
<!-- The races of races for a day-->
|
||||
<!--
|
||||
<s:regatta.Regatta ui:field="regatta" />
|
||||
-->
|
||||
<div class="{local_res.css.regattanavigation}">
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
|
||||
@@ -103,8 +103,8 @@ figcaption {
|
||||
.stackenblochen .stackenblochen {
|
||||
width: auto;
|
||||
max-width: none;
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
margin-left: literal("-1rem");
|
||||
margin-right: literal("-1rem");
|
||||
}
|
||||
|
||||
.navbar {
|
||||
|
||||
Reference in new issue
Block a user