introduced a abstract base composite for all event related content composites

This commit is contained in:
fmittag committed 2014-08-11 16:17:57 +02:00
1 parent c67805f603
commit 5b37c3c59f
9 files changed
+64 -50

No files matched your search

@@ -0,0 +1,27 @@
package com.sap.sailing.gwt.home.client.place.event;
import com.google.gwt.user.client.ui.Composite;
import com.sap.sailing.gwt.ui.shared.EventDTO;
/**
* A base class for a content composite related to an sailing event
* @author Frank
*
*/
public class AbstractEventComposite extends Composite {
private final EventDTO event;
private final EventPageNavigator pageNavigator;
public AbstractEventComposite(EventDTO event, EventPageNavigator pageNavigator) {
this.event = event;
this.pageNavigator = pageNavigator;
}
public EventDTO getEvent() {
return event;
}
public EventPageNavigator getPageNavigator() {
return pageNavigator;
}
}
@@ -43,7 +43,7 @@ public class EventActivity extends AbstractActivity {
@Override
public void timeChanged(Date newTime, Date oldTime) {
// loadAndUpdateEventRaceStatesLog();
loadAndUpdateEventRaceStatesLog();
}
});
}
@@ -58,9 +58,9 @@ public class TabletAndDesktopEventView extends Composite implements EventView, E
eventHeader = new EventHeader(event, this);
eventRegattaList = new EventRegattaList(event, regattaStructure, timerForClientServerOffset, this);
eventRegattaRaces = new EventRegattaRaces(event, timerForClientServerOffset, this);
eventOverview = new EventOverview(event);
eventSchedule = new EventSchedule(event);
eventMedia = new EventMedia(event);
eventOverview = new EventOverview(event, this);
eventSchedule = new EventSchedule(event, this);
eventMedia = new EventMedia(event, this);
initWidget(uiBinder.createAndBindUi(this));
@@ -11,9 +11,9 @@ 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.Widget;
import com.sap.sailing.gwt.home.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.ui.shared.CourseAreaDTO;
@@ -21,14 +21,12 @@ import com.sap.sailing.gwt.ui.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
public class EventHeader extends Composite {
public class EventHeader extends AbstractEventComposite {
private static EventHeaderUiBinder uiBinder = GWT.create(EventHeaderUiBinder.class);
interface EventHeaderUiBinder extends UiBinder<Widget, EventHeader> {
}
private final EventDTO event;
// @UiField Anchor overviewLink;
@UiField Anchor regattasLink;
// @UiField Anchor scheduleLink;
@@ -69,12 +67,9 @@ public class EventHeader extends Composite {
// private final List<Anchor> links1;
// private final List<Anchor> links2;
// private final List<Anchor> links3;
private final EventPageNavigator pageNavigator;
public EventHeader(EventDTO event, EventPageNavigator pageNavigator) {
this.event = event;
this.pageNavigator = pageNavigator;
super(event, pageNavigator);
EventHeaderResources.INSTANCE.css().ensureInjected();
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
@@ -102,8 +97,7 @@ public class EventHeader extends Composite {
}
public EventHeader(EventDTO event) {
this.event = event;
this.pageNavigator = null;
super(event, null);
EventHeaderResources.INSTANCE.css().ensureInjected();
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
@@ -135,6 +129,7 @@ public class EventHeader extends Composite {
}
private void updateUI() {
EventDTO event = getEvent();
boolean isSeries = event.isFakeSeries();
String eventName = event.getName();
@@ -226,8 +221,8 @@ public class EventHeader extends Composite {
@UiHandler("seriesLeaderboardAnchor")
void seriesLeaderboardClicked(ClickEvent clickevent) {
if(event.isFakeSeries()) {
pageNavigator.openOverallLeaderboardViewer(event.getLeaderboardGroups().get(0));
if(getEvent().isFakeSeries()) {
getPageNavigator().openOverallLeaderboardViewer(getEvent().getLeaderboardGroups().get(0));
}
}
@@ -237,7 +232,7 @@ public class EventHeader extends Composite {
// }
//
private void showRegattas() {
pageNavigator.goToRegattas();
getPageNavigator().goToRegattas();
// setActiveLink(links1, regattasLink);
// setActiveLink(links2, regattasLink2);
// setActiveLink(links3, regattasLink3);
@@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.media;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.ui.shared.EventDTO;
public class EventMedia extends Composite {
public class EventMedia extends AbstractEventComposite {
private static EventMediaUiBinder uiBinder = GWT.create(EventMediaUiBinder.class);
interface EventMediaUiBinder extends UiBinder<Widget, EventMedia> {
}
@SuppressWarnings("unused")
private final EventDTO event;
public EventMedia(EventDTO event) {
this.event = event;
public EventMedia(EventDTO event, EventPageNavigator placeNavigator) {
super(event, placeNavigator);
EventMediaResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
@@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.overview;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.ui.shared.EventDTO;
public class EventOverview extends Composite {
public class EventOverview extends AbstractEventComposite {
private static EventOverviewUiBinder uiBinder = GWT.create(EventOverviewUiBinder.class);
interface EventOverviewUiBinder extends UiBinder<Widget, EventOverview> {
}
@SuppressWarnings("unused")
private final EventDTO event;
public EventOverview(EventDTO event) {
this.event = event;
public EventOverview(EventDTO event, EventPageNavigator pageNavigator) {
super(event, pageNavigator);
EventOverviewResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
@@ -16,9 +16,9 @@ import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.EventListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.HomeResources;
import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.home.client.place.event.regatta.Regatta;
import com.sap.sailing.gwt.home.client.shared.LongNamesUtil;
@@ -29,7 +29,7 @@ import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
import com.sap.sse.common.Util.Triple;
import com.sap.sse.gwt.client.player.Timer;
public class EventRegattaList extends Composite {
public class EventRegattaList extends AbstractEventComposite {
private static EventRegattaHeaderUiBinder uiBinder = GWT.create(EventRegattaHeaderUiBinder.class);
interface EventRegattaHeaderUiBinder extends UiBinder<Widget, EventRegattaList> {
@@ -44,12 +44,11 @@ public class EventRegattaList extends Composite {
@UiField AnchorElement filterNoLeaderboardGroupsAnchor;
@UiField SpanElement allBoatClassesSelected;
private final EventDTO event;
private final Map<String, List<Regatta>> regattaElementsByLeaderboardGroup;
public EventRegattaList(EventDTO event, Map<String, Triple<RaceGroupDTO, StrippedLeaderboardDTO, LeaderboardGroupDTO>> regattaStructure,
Timer timerForClientServerOffset, EventPageNavigator pageNavigator) {
this.event = event;
super(event, pageNavigator);
EventRegattaListResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
@@ -117,7 +116,7 @@ public class EventRegattaList extends Composite {
if (leaderboardGroup != null) {
allBoatClassesSelected.getStyle().setDisplay(Display.NONE);
// hide all regattas of the not selected leaderboardgroup
for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) {
for (LeaderboardGroupDTO lg : getEvent().getLeaderboardGroups()) {
boolean isVisible = leaderboardGroup.getName().equals(lg.getName());
List<Regatta> regattaElements = regattaElementsByLeaderboardGroup.get(lg.getName());
for (Regatta regatta : regattaElements) {
@@ -127,7 +126,7 @@ public class EventRegattaList extends Composite {
} else {
// make all regattas visible
allBoatClassesSelected.getStyle().setDisplay(Display.INLINE_BLOCK);
for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) {
for (LeaderboardGroupDTO lg : getEvent().getLeaderboardGroups()) {
List<Regatta> regattaElements = regattaElementsByLeaderboardGroup.get(lg.getName());
for (Regatta regatta : regattaElements) {
regatta.setVisible(true);
@@ -7,9 +7,9 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.StyleInjector;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
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.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.home.client.place.event.regatta.Regatta;
import com.sap.sailing.gwt.ui.shared.EventDTO;
@@ -19,7 +19,7 @@ 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 EventRegattaRaces extends Composite {
public class EventRegattaRaces extends AbstractEventComposite {
private static EventRegattaRacesUiBinder uiBinder = GWT.create(EventRegattaRacesUiBinder.class);
interface EventRegattaRacesUiBinder extends UiBinder<Widget, EventRegattaRaces> {
@@ -31,12 +31,11 @@ public class EventRegattaRaces extends Composite {
@UiField HTMLPanel rootPanel;
private final Timer timerForClientServerOffset;
private final EventPageNavigator pageNavigator;
private final List<EventRegattaRacesPhase> phaseElements;
public EventRegattaRaces(EventDTO event, Timer timerForClientServerOffset, EventPageNavigator pageNavigator) {
super(event, pageNavigator);
this.timerForClientServerOffset = timerForClientServerOffset;
this.pageNavigator = pageNavigator;
phaseElements = new ArrayList<EventRegattaRacesPhase>();
@@ -57,13 +56,13 @@ public class EventRegattaRaces extends Composite {
int regattaPhases = raceGroup.getSeries().size();
if(regattaPhases > 1) {
for(RaceGroupSeriesDTO series: raceGroup.getSeries()) {
EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, series, timerForClientServerOffset, pageNavigator);
EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, series, timerForClientServerOffset, getPageNavigator());
regattaPhasesPanel.getElement().appendChild(regattaPhase.getElement());
phaseElements.add(regattaPhase);
}
} else {
RaceGroupSeriesDTO raceGroupSeriesDTO = raceGroup.getSeries().get(0);
EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, raceGroupSeriesDTO, timerForClientServerOffset, pageNavigator);
EventRegattaRacesPhase regattaPhase = new EventRegattaRacesPhase(leaderboard, raceGroupSeriesDTO, timerForClientServerOffset, getPageNavigator());
regattaPhasesPanel.getElement().appendChild(regattaPhase.getElement());
phaseElements.add(regattaPhase);
}
@@ -2,21 +2,19 @@ package com.sap.sailing.gwt.home.client.place.event.schedule;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.event.AbstractEventComposite;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.ui.shared.EventDTO;
public class EventSchedule extends Composite {
public class EventSchedule extends AbstractEventComposite {
private static EventScheduleUiBinder uiBinder = GWT.create(EventScheduleUiBinder.class);
interface EventScheduleUiBinder extends UiBinder<Widget, EventSchedule> {
}
@SuppressWarnings("unused")
private final EventDTO event;
public EventSchedule(EventDTO event) {
this.event = event;
public EventSchedule(EventDTO event, EventPageNavigator placeNavigator) {
super(event, placeNavigator);
EventScheduleResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));