From 3a94cc09bc2c25e291bfbf3a49664cdfbe5c29f5 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 25 Jul 2014 15:46:42 +0200 Subject: [PATCH] fixed rendering problem in regattalist partial --- .../client/place/event/regatta/Regatta.java | 110 +++++++++++------- .../client/place/event/regatta/Regatta.ui.xml | 27 +++-- .../event/regattaraces/EventRegattaRaces.java | 10 +- .../regattaraces/EventRegattaRaces.ui.xml | 4 +- .../com/sap/sailing/gwt/home/main.css | 4 +- 5 files changed, 94 insertions(+), 61 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.java index 9dd60da707b..ac43bba3ccf 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.java @@ -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 { + interface RegattaUiBinder extends UiBinder { } @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) { +// } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.ui.xml index 699ea6119a3..fa6e6670fb1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.ui.xml @@ -5,28 +5,26 @@ - - -
+
- + - - + +
- +
- +

- - + +

- +

@@ -45,23 +43,24 @@
- +
: 
+
- +
- diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java index 554a1ab883b..3da0486c9ad 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.java @@ -20,13 +20,15 @@ public class EventRegattaRaces extends Composite { interface EventRegattaRacesUiBinder extends UiBinder { } - @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) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.ui.xml index e25fd50f512..bb38c586338 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.ui.xml @@ -5,10 +5,12 @@ - + +
diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/main.css b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/main.css index b5b50459cb7..ed502290e40 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/main.css +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/main.css @@ -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 {