mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-25 05:23:51 +00:00
Adjusted/extended mobile series event navigation
This commit is contained in:
1 parent
aeaffd1f24
commit
6e1e1cc438
8 files changed
+111
-9
No files matched your search
+56
-6
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.gwt.home.mobile.partials.quickfinder.Quickfinder;
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
@@ -43,23 +44,67 @@ public class QuickfinderPresenter {
|
||||
}
|
||||
|
||||
public static QuickfinderPresenter getForSeriesLeaderboards(Quickfinder quickfinder, String seriesName,
|
||||
SeriesLeaderboardNavigationProvider navigator, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
return new QuickfinderPresenter(quickfinder, navigator, seriesName, eventsOfSeries);
|
||||
final SeriesLeaderboardNavigationProvider navigator, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
return new QuickfinderPresenter(quickfinder, MSG.resultsQuickfinder(), new SeriesEventPlaceNaviationProvider() {
|
||||
@Override
|
||||
public PlaceNavigation<?> getPlaceNavigation(UUID eventId) {
|
||||
return navigator.getMiniLeaderboardNavigation(eventId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getOverallPlaceNavigation() {
|
||||
return navigator.getMiniOverallLeaderboardNavigation();
|
||||
}
|
||||
}, seriesName, eventsOfSeries);
|
||||
}
|
||||
|
||||
private QuickfinderPresenter(Quickfinder quickfinder, SeriesLeaderboardNavigationProvider navigator, String seriesName, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
public static QuickfinderPresenter getForSeriesEventRaces(Quickfinder quickfinder, String seriesName,
|
||||
final SeriesEventRacesNavigationProvider navigator, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
return new QuickfinderPresenter(quickfinder, MSG.racesQuickfinder(), new SeriesEventPlaceNaviationProvider() {
|
||||
@Override
|
||||
public PlaceNavigation<?> getPlaceNavigation(UUID eventId) {
|
||||
return navigator.getSeriesEventRacesNavigation(eventId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getOverallPlaceNavigation() {
|
||||
return null;
|
||||
}
|
||||
}, seriesName, eventsOfSeries);
|
||||
}
|
||||
|
||||
public static QuickfinderPresenter getForSeriesEventOverview(Quickfinder quickfinder, String seriesName,
|
||||
final SeriesEventOverviewNavigationProvider navigator, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
return new QuickfinderPresenter(quickfinder, MSG.eventQuickfinder(), new SeriesEventPlaceNaviationProvider() {
|
||||
@Override
|
||||
public PlaceNavigation<?> getPlaceNavigation(UUID eventId) {
|
||||
return navigator.getSeriesEventOverviewNavigation(eventId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getOverallPlaceNavigation() {
|
||||
return null;
|
||||
}
|
||||
}, seriesName, eventsOfSeries);
|
||||
}
|
||||
|
||||
private QuickfinderPresenter(Quickfinder quickfinder, String placeholder, SeriesEventPlaceNaviationProvider provider,
|
||||
String seriesName, Collection<? extends EventReferenceDTO> eventsOfSeries) {
|
||||
if (eventsOfSeries == null) {
|
||||
quickfinder.removeFromParent();
|
||||
return;
|
||||
}
|
||||
quickfinder.addPlaceholderItem(MSG.resultsQuickfinder());
|
||||
quickfinder.addItemToGroup(seriesName, MSG.overallLeaderboardSelection(), navigator.getMiniOverallLeaderboardNavigation());
|
||||
quickfinder.addPlaceholderItem(placeholder);
|
||||
PlaceNavigation<?> overallPlaceNavigation = provider.getOverallPlaceNavigation();
|
||||
if (overallPlaceNavigation != null) {
|
||||
quickfinder.addItemToGroup(seriesName, MSG.overallLeaderboardSelection(), overallPlaceNavigation);
|
||||
}
|
||||
for (EventReferenceDTO eventOfSeries : eventsOfSeries) {
|
||||
String displayName = eventOfSeries.getDisplayName();
|
||||
if(eventOfSeries instanceof EventMetadataDTO) {
|
||||
displayName = ((EventMetadataDTO) eventOfSeries).getLocationOrDisplayName();
|
||||
}
|
||||
quickfinder.addItemToGroup(seriesName, displayName, navigator.getMiniLeaderboardNavigation(eventOfSeries.getId()));
|
||||
quickfinder.addItemToGroup(seriesName, displayName, provider.getPlaceNavigation(eventOfSeries.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +124,11 @@ public class QuickfinderPresenter {
|
||||
}
|
||||
}
|
||||
|
||||
private interface SeriesEventPlaceNaviationProvider {
|
||||
PlaceNavigation<?> getOverallPlaceNavigation();
|
||||
PlaceNavigation<?> getPlaceNavigation(UUID eventId);
|
||||
}
|
||||
|
||||
private interface RegattaPlaceNaviationProvider {
|
||||
PlaceNavigation<?> getPlaceNavigation(String regattaId);
|
||||
}
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
|
||||
public interface SeriesEventOverviewNavigationProvider {
|
||||
|
||||
PlaceNavigation<?> getSeriesEventOverviewNavigation(UUID eventId);
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
|
||||
public interface SeriesEventRacesNavigationProvider {
|
||||
|
||||
PlaceNavigation<?> getSeriesEventRacesNavigation(UUID eventId);
|
||||
}
|
||||
+10
@@ -168,10 +168,20 @@ public abstract class AbstractEventActivity<PLACE extends AbstractEventPlace> ex
|
||||
return clientFactory.getNavigator().getEventNavigation(new RegattaOverviewPlace(ctx), null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getSeriesEventOverviewNavigation(UUID eventId) {
|
||||
return clientFactory.getNavigator().getEventNavigation(new EventDefaultPlace(eventId.toString()), null, false);
|
||||
}
|
||||
|
||||
public PlaceNavigation<?> getRegattaRacesNavigation(String regattaId) {
|
||||
EventContext ctx = new EventContext(getCtx()).withRegattaId(regattaId).withRegattaAnalyticsManager(null);
|
||||
return clientFactory.getNavigator().getEventNavigation(new RegattaRacesPlace(ctx), null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getSeriesEventRacesNavigation(UUID eventId) {
|
||||
return clientFactory.getNavigator().getEventNavigation(new RegattaRacesPlace(eventId.toString(), null), null, false);
|
||||
}
|
||||
|
||||
public String getRaceViewerURL(String regattaName, String trackedRaceName) {
|
||||
return null; // TODO No mobile "RaceViewer implemented yet
|
||||
|
||||
+5
-1
@@ -76,6 +76,10 @@ public abstract class AbstractEventView<P extends EventViewBase.Presenter> exten
|
||||
QuickfinderPresenter.getForRegattaLeaderboards(quickfinder, currentPresenter, regattaMetadatas);
|
||||
}
|
||||
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, String seriesName, Collection<EventReferenceDTO> eventsOfSeries) {
|
||||
QuickfinderPresenter.getForSeriesLeaderboards(quickfinder, seriesName, currentPresenter, eventsOfSeries);
|
||||
}
|
||||
|
||||
protected void initRacesNavigation(Panel container) {
|
||||
MobileSection mobileSection = new MobileSection();
|
||||
SectionHeaderContent header = new SectionHeaderContent();
|
||||
@@ -93,7 +97,7 @@ public abstract class AbstractEventView<P extends EventViewBase.Presenter> exten
|
||||
|
||||
@Override
|
||||
public final void setQuickFinderValues(String seriesName, Collection<EventReferenceDTO> eventsOfSeries) {
|
||||
QuickfinderPresenter.getForSeriesLeaderboards(layout.quickFinderUi, seriesName, currentPresenter, eventsOfSeries);
|
||||
setQuickFinderValues(layout.quickFinderUi, seriesName, eventsOfSeries);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-1
@@ -6,6 +6,8 @@ import com.google.gwt.user.client.ui.IsWidget;
|
||||
import com.sap.sailing.gwt.home.mobile.places.RegattaLeaderboardNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.RegattaOverviewNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.RegattaRacesNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.SeriesEventOverviewNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.SeriesEventRacesNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.SeriesLeaderboardNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.shared.dispatch.DispatchSystem;
|
||||
@@ -26,7 +28,8 @@ public interface EventViewBase extends IsWidget {
|
||||
void setSeriesNavigation(String buttonLabel, PlaceNavigation<?> placeNavigation);
|
||||
|
||||
public interface Presenter extends RegattaLeaderboardNavigationProvider, SeriesLeaderboardNavigationProvider,
|
||||
RegattaRacesNavigationProvider, RegattaOverviewNavigationProvider {
|
||||
RegattaRacesNavigationProvider, SeriesEventRacesNavigationProvider, RegattaOverviewNavigationProvider,
|
||||
SeriesEventOverviewNavigationProvider {
|
||||
|
||||
EventContext getCtx();
|
||||
|
||||
|
||||
+8
@@ -9,9 +9,11 @@ import com.sap.sailing.gwt.home.mobile.partials.eventsteps.EventSteps;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.impressions.Impressions;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.liveraces.RegattaLiveRaces;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.minileaderboard.MinileaderboardBox;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.quickfinder.Quickfinder;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.regattaStatus.RegattaStatus;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.statisticsBox.StatisticsBox;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.updatesBox.UpdatesBox;
|
||||
import com.sap.sailing.gwt.home.mobile.places.QuickfinderPresenter;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventView;
|
||||
import com.sap.sailing.gwt.home.shared.ExperimentalFeatures;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -23,6 +25,7 @@ import com.sap.sailing.gwt.ui.shared.dispatch.event.GetMiniLeaderbordAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetRegattaStatisticsAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetRegattaWithProgressAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetRegattasAndLiveRacesForEventAction;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventReferenceDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventState;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingImageDTO;
|
||||
|
||||
@@ -113,6 +116,11 @@ public class EventViewImpl extends AbstractEventView<EventView.Presenter> implem
|
||||
: new GetRegattaStatisticsAction(getEventId(), getRegattaId()));
|
||||
container.add(statisticsBoxUi);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, String seriesName, Collection<EventReferenceDTO> eventsOfSeries) {
|
||||
QuickfinderPresenter.getForSeriesEventOverview(quickfinder, seriesName, currentPresenter, eventsOfSeries);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMediaForImpressions(int nrOfImages, int nrOfVideos, Collection<SailingImageDTO> images) {
|
||||
|
||||
+7
-1
@@ -13,6 +13,7 @@ import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventView;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetCompetitionFormatRacesAction;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO.EventType;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.RegattaMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventReferenceDTO;
|
||||
|
||||
public class RacesViewImpl extends AbstractEventView<RacesView.Presenter> implements RacesView {
|
||||
|
||||
@@ -34,5 +35,10 @@ public class RacesViewImpl extends AbstractEventView<RacesView.Presenter> implem
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, Collection<RegattaMetadataDTO> regattaMetadatas) {
|
||||
QuickfinderPresenter.getForRegattaRaces(quickfinder, currentPresenter, regattaMetadatas);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, String seriesName, Collection<EventReferenceDTO> eventsOfSeries) {
|
||||
QuickfinderPresenter.getForSeriesEventRaces(quickfinder, seriesName, currentPresenter, eventsOfSeries);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user