Added statistics box to mobile series page

This commit is contained in:
Steffen Schaefer committed 2015-07-20 13:30:19 +02:00
1 parent add970ef04
commit 83ec13b330
3 files changed
+20 -11

No files matched your search

@@ -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));
}
}
@@ -22,6 +22,6 @@
</div>
<g:FlowPanel ui:field="eventsUi" />
<mp:minileaderboard.MinileaderboardBox ui:field="leaderboardUi"/>
<!-- <mp:statisticsBox.StatisticsBox ui:field="statisticsBoxUi" /> -->
<mp:statisticsBox.StatisticsBox ui:field="statisticsBoxUi" />
</g:HTMLPanel>
</ui:UiBinder>
@@ -36,16 +36,23 @@ import com.sap.sse.common.impl.MillisecondsTimePoint;
public class GetEventStatisticsAction implements Action<ResultWithTTL<EventStatisticsDTO>> {
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<ResultWithTTL<EventStati
Triple<Competitor, Speed, TimePoint> maxSpeed = null;
final TimePoint now = MillisecondsTimePoint.now();
final Set<Leaderboard> 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);
}
}