From 83ec13b3307c65465a7c0980a27e8b940c81f6e5 Mon Sep 17 00:00:00 2001 From: Steffen Schaefer Date: Mon, 20 Jul 2015 13:30:19 +0200 Subject: [PATCH] Added statistics box to mobile series page --- .../mobile/places/event/EventViewImpl.ui.xml | 16 ++++++++-------- .../mobile/places/series/SeriesViewImpl.java | 16 +++++++++------- .../mobile/places/series/SeriesViewImpl.ui.xml | 2 +- .../dispatch/event/GetEventStatisticsAction.java | 13 ++++++++++--- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/EventViewImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/EventViewImpl.ui.xml index 7cfb8c6f38e..ae1c4c1d005 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/EventViewImpl.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/EventViewImpl.ui.xml @@ -15,16 +15,16 @@ padding-bottom: 10px; } - -
- - - -
+ +
+ + + +
- - + +
diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.java index 43b873e76c3..0fa620f2377 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.java @@ -13,8 +13,10 @@ import com.sap.sailing.gwt.home.mobile.partials.minileaderboard.MinileaderboardB import com.sap.sailing.gwt.home.mobile.partials.quickfinder.Quickfinder; import com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentYearEvent; import com.sap.sailing.gwt.home.mobile.partials.seriesheader.SeriesHeader; +import com.sap.sailing.gwt.home.mobile.partials.statisticsBox.StatisticsBox; import com.sap.sailing.gwt.home.mobile.places.QuickfinderPresenter; import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventStatisticsAction; import com.sap.sailing.gwt.ui.shared.dispatch.event.GetMiniOverallLeaderbordAction; import com.sap.sailing.gwt.ui.shared.fakeseries.EventSeriesViewDTO; import com.sap.sailing.gwt.ui.shared.general.EventMetadataDTO; @@ -31,7 +33,7 @@ public class SeriesViewImpl extends Composite implements SeriesView { @UiField Quickfinder quickFinderUi; @UiField(provided = true) MinileaderboardBox leaderboardUi; @UiField FlowPanel eventsUi; -// @UiField(provided = true) StatisticsBox statisticsBoxUi; + @UiField(provided = true) StatisticsBox statisticsBoxUi; private final Presenter currentPresenter; private final RefreshManager refreshManager; @@ -41,7 +43,7 @@ public class SeriesViewImpl extends Composite implements SeriesView { this.refreshManager = new RefreshManager(this, currentPresenter.getDispatch()); EventSeriesViewDTO series = currentPresenter.getCtx().getSeriesDTO(); eventHeaderUi = new SeriesHeader(series); -// this.setupStatisticsBox(event); + this.setupStatisticsBox(series); leaderboardUi = new MinileaderboardBox(true); initWidget(uiBinder.createAndBindUi(this)); this.setupListContent(series); @@ -70,9 +72,9 @@ public class SeriesViewImpl extends Composite implements SeriesView { leaderboardUi.setAction(MSG.showAll(), currentPresenter.getMiniOverallLeaderboardNavigation()); refreshManager.add(leaderboardUi, new GetMiniOverallLeaderbordAction(event.getId(), 3)); } -// -// private void setupStatisticsBox(EventViewDTO event) { -// statisticsBoxUi = new StatisticsBox(event.getType() == EventType.MULTI_REGATTA); -// refreshManager.add(statisticsBoxUi, new GetEventStatisticsAction(event.getId())); -// } + + private void setupStatisticsBox(EventSeriesViewDTO series) { + statisticsBoxUi = new StatisticsBox(true); + refreshManager.add(statisticsBoxUi, new GetEventStatisticsAction(series.getId(), false)); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.ui.xml index 959f73c855c..1beee5b8881 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/series/SeriesViewImpl.ui.xml @@ -22,6 +22,6 @@ - +
diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/event/GetEventStatisticsAction.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/event/GetEventStatisticsAction.java index 93ec5bd097b..b9a9c604bec 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/event/GetEventStatisticsAction.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/event/GetEventStatisticsAction.java @@ -36,16 +36,23 @@ import com.sap.sse.common.impl.MillisecondsTimePoint; public class GetEventStatisticsAction implements Action> { private static final Logger logger = Logger.getLogger(GetEventStatisticsAction.class.getName()); - private UUID eventId; private static boolean CALCULATE_MAX_SPEED = false; private static boolean CALCULATE_SAILED_MILES = true; + + private UUID eventId; + private boolean onlyCurrentEvent; @SuppressWarnings("unused") private GetEventStatisticsAction() { } public GetEventStatisticsAction(UUID eventId) { + this(eventId, true); + } + + public GetEventStatisticsAction(UUID eventId, boolean onlyCurrentEvent) { this.eventId = eventId; + this.onlyCurrentEvent = onlyCurrentEvent; } @GwtIncompatible @@ -64,10 +71,10 @@ public class GetEventStatisticsAction implements Action maxSpeed = null; final TimePoint now = MillisecondsTimePoint.now(); final Set leaderboards = new HashSet<>(); - final boolean series = HomeServiceUtil.isFakeSeries(event); + final boolean filterLeaderboards = onlyCurrentEvent && HomeServiceUtil.isFakeSeries(event); for (LeaderboardGroup lg : event.getLeaderboardGroups()) { for (Leaderboard leaderboard : lg.getLeaderboards()) { - if(!series || HomeServiceUtil.isPartOfEvent(event, leaderboard)) { + if(!filterLeaderboards || HomeServiceUtil.isPartOfEvent(event, leaderboard)) { leaderboards.add(leaderboard); } }