mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-01 08:40:52 +00:00
created a teaser page for events without defined regattas/leaderboardgroups
This commit is contained in:
1 parent
27dc1038e8
commit
54325fce26
8 files changed
+93
-1
No files matched your search
+7
@@ -6,7 +6,9 @@ import com.google.gwt.event.shared.SimpleEventBus;
|
||||
import com.google.gwt.place.shared.PlaceController;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventWithoutRegattasView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.TabletAndDesktopEventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.TabletAndDesktopEventWithoutRegattasView;
|
||||
import com.sap.sailing.gwt.home.client.place.events.EventsActivity;
|
||||
import com.sap.sailing.gwt.home.client.place.events.EventsView;
|
||||
import com.sap.sailing.gwt.home.client.place.events.TabletAndDesktopEventsView;
|
||||
@@ -43,6 +45,11 @@ public class SmartphoneApplicationClientFactory extends AbstractApplicationClien
|
||||
return new TabletAndDesktopEventView(getSailingService(), event, raceGroups, leaderboardName, timerForClientServerOffset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventWithoutRegattasView createEventWithoutRegattasView(EventDTO event) {
|
||||
return new TabletAndDesktopEventWithoutRegattasView(getSailingService(), event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventsView createEventsView(EventsActivity activity) {
|
||||
return new TabletAndDesktopEventsView(getPlaceNavigator());
|
||||
|
||||
+7
@@ -6,7 +6,9 @@ import com.google.gwt.event.shared.SimpleEventBus;
|
||||
import com.google.gwt.place.shared.PlaceController;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventWithoutRegattasView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.TabletAndDesktopEventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.TabletAndDesktopEventWithoutRegattasView;
|
||||
import com.sap.sailing.gwt.home.client.place.events.EventsActivity;
|
||||
import com.sap.sailing.gwt.home.client.place.events.EventsView;
|
||||
import com.sap.sailing.gwt.home.client.place.events.TabletAndDesktopEventsView;
|
||||
@@ -43,6 +45,11 @@ public class TabletAndDesktopApplicationClientFactory extends AbstractApplicatio
|
||||
return new TabletAndDesktopEventView(getSailingService(), event, raceGroups, leaderboardName, timerForClientServerOffset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventWithoutRegattasView createEventWithoutRegattasView(EventDTO event) {
|
||||
return new TabletAndDesktopEventWithoutRegattasView(getSailingService(), event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventsView createEventsView(EventsActivity activity) {
|
||||
return new TabletAndDesktopEventsView(getPlaceNavigator());
|
||||
|
||||
+6
-1
@@ -55,7 +55,7 @@ public class EventActivity extends AbstractActivity {
|
||||
clientFactory.getSailingService().getEventById(eventUUID, new AsyncCallback<EventDTO>() {
|
||||
@Override
|
||||
public void onSuccess(final EventDTO event) {
|
||||
|
||||
if(event.getLeaderboardGroups().size() > 0) {
|
||||
clientFactory.getSailingService().getRegattaStructureForEvent(event.id, new AsyncCallback<List<RaceGroupDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<RaceGroupDTO> raceGroups) {
|
||||
@@ -76,6 +76,11 @@ public class EventActivity extends AbstractActivity {
|
||||
Window.alert("Shit happens at getRegattaStructureForEvent()");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// no leaderboard groups defined yet -> show a teaser page
|
||||
EventWithoutRegattasView view = clientFactory.createEventWithoutRegattasView(event);
|
||||
panel.setWidget(view.asWidget());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
@@ -9,4 +9,6 @@ import com.sap.sse.gwt.client.player.Timer;
|
||||
|
||||
public interface EventClientFactory extends SailingClientFactory {
|
||||
EventView createEventView(EventDTO event, List<RaceGroupDTO> raceGroups, String leaderboardName, Timer timerForClientServerOffset);
|
||||
|
||||
EventWithoutRegattasView createEventWithoutRegattasView(EventDTO event);
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
public interface EventWithoutRegattasView {
|
||||
Widget asWidget();
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
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.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.header.EventHeader;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
|
||||
public class TabletAndDesktopEventWithoutRegattasView extends Composite implements EventWithoutRegattasView {
|
||||
private static EventViewUiBinder uiBinder = GWT.create(EventViewUiBinder.class);
|
||||
|
||||
interface EventViewUiBinder extends UiBinder<Widget, TabletAndDesktopEventWithoutRegattasView> {
|
||||
}
|
||||
|
||||
@UiField(provided=true) EventHeader eventHeader;
|
||||
|
||||
public TabletAndDesktopEventWithoutRegattasView(SailingServiceAsync sailingService, EventDTO event) {
|
||||
eventHeader = new EventHeader(event);
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared"
|
||||
xmlns:p="urn:import:com.sap.sailing.gwt.home.client.place.event"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.client.HomeResources" />
|
||||
<ui:style>
|
||||
.infoPanel {
|
||||
height: 300px;
|
||||
padding-top: 2em;
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel>
|
||||
<p:header.EventHeader ui:field='eventHeader'/>
|
||||
<div class="{res.mainCss.grid} {style.infoPanel}">
|
||||
<div class="{res.mediaCss.columns}">
|
||||
There is no information available about the regattas of this event yet.
|
||||
</div>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+18
@@ -89,6 +89,22 @@ public class EventHeader extends Composite {
|
||||
updateUI();
|
||||
}
|
||||
|
||||
public EventHeader(EventDTO event) {
|
||||
this.event = event;
|
||||
this.pageNavigator = null;
|
||||
|
||||
EventHeaderResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
isFinishedDiv.getStyle().setDisplay(Display.NONE);
|
||||
isLiveDiv.getStyle().setDisplay(Display.NONE);
|
||||
|
||||
setDataNavigationType("normal");
|
||||
updateUI();
|
||||
}
|
||||
|
||||
public void setDataNavigationType(String dataNavigationType) {
|
||||
eventHeaderWrapperDiv.setAttribute("data-navigationtype", dataNavigationType);
|
||||
}
|
||||
@@ -105,6 +121,8 @@ public class EventHeader extends Composite {
|
||||
}
|
||||
if(event.getOfficialWebsiteURL() != null) {
|
||||
officalWebsiteLink.setHref(event.getOfficialWebsiteURL());
|
||||
} else {
|
||||
officalWebsiteLink.setVisible(false);
|
||||
}
|
||||
|
||||
String logoUrl = event.getLogoImageURL() != null ? event.getLogoImageURL() : defaultLogoUrl;
|
||||
|
||||
Reference in new issue
Block a user