mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Added mobile overview for regattas in multi regatta events
This commit is contained in:
1 parent
5d3a451d73
commit
6fde74c71b
3 files changed
+118
No files matched your search
+21
@@ -0,0 +1,21 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.regatta;
|
||||
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.RegattaOverviewPlace;
|
||||
import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventActivity;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
|
||||
public class RegattaActivity extends AbstractEventActivity<RegattaOverviewPlace> implements RegattaView.Presenter {
|
||||
|
||||
public RegattaActivity(RegattaOverviewPlace place, MobileApplicationClientFactory clientFactory) {
|
||||
super(place, clientFactory);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected EventViewBase initView() {
|
||||
final RegattaView view = new RegattaViewImpl(this);
|
||||
initQuickfinder(view, true);
|
||||
return view;
|
||||
}
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.regatta;
|
||||
|
||||
import com.sap.sailing.gwt.home.mobile.partials.updatesBox.NewsItemLinkProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
|
||||
public interface RegattaView extends EventViewBase {
|
||||
|
||||
public interface Presenter extends EventViewBase.Presenter, NewsItemLinkProvider {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.regatta;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.eventsteps.EventSteps;
|
||||
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.section.MobileSection;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.sectionHeader.SectionHeaderContent;
|
||||
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.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventOverviewNewsAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventStatisticsAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetMiniLeaderbordAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetRegattaWithProgressAction;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.RegattaMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventState;
|
||||
|
||||
public class RegattaViewImpl extends AbstractEventView<RegattaView.Presenter> implements RegattaView {
|
||||
|
||||
private EventSteps regattaProgressUi;
|
||||
private MinileaderboardBox leaderboardUi;
|
||||
private UpdatesBox latestNewsUi;
|
||||
private StatisticsBox statisticsUi;
|
||||
|
||||
public RegattaViewImpl(RegattaView.Presenter presenter) {
|
||||
super(presenter, true, true);
|
||||
Panel container = new FlowPanel();
|
||||
this.initRegattaProgressUi(container);
|
||||
this.initLeaderboardUi(container);
|
||||
this.initLatestNewsUi(container);
|
||||
this.initRacesNavigation(container);
|
||||
this.initStatisticsUi(container);
|
||||
setViewContent(container);
|
||||
}
|
||||
|
||||
private void initRegattaProgressUi(Panel container) {
|
||||
regattaProgressUi = new EventSteps();
|
||||
refreshManager.add(regattaProgressUi, new GetRegattaWithProgressAction(getEventId(), getRegattaId()));
|
||||
container.add(regattaProgressUi);
|
||||
}
|
||||
|
||||
private void initLeaderboardUi(Panel container) {
|
||||
leaderboardUi = new MinileaderboardBox(false);
|
||||
leaderboardUi.setAction(StringMessages.INSTANCE.showAll(), currentPresenter.getRegattaMiniLeaderboardNavigation(getRegattaId()));
|
||||
refreshManager.add(leaderboardUi, new GetMiniLeaderbordAction(getEventId(), getRegattaId(), 3));
|
||||
container.add(leaderboardUi);
|
||||
}
|
||||
|
||||
private void initLatestNewsUi(Panel container) {
|
||||
latestNewsUi = new UpdatesBox(currentPresenter, refreshManager);
|
||||
if (currentPresenter.getCtx().getEventDTO().getState() == EventState.RUNNING) {
|
||||
refreshManager.add(latestNewsUi, new GetEventOverviewNewsAction(getEventId(), 2));
|
||||
container.add(latestNewsUi);
|
||||
}
|
||||
}
|
||||
|
||||
private void initRacesNavigation(Panel container) {
|
||||
MobileSection mobileSection = new MobileSection();
|
||||
SectionHeaderContent header = new SectionHeaderContent();
|
||||
header.setSectionTitle(StringMessages.INSTANCE.racesCount(currentPresenter.getCtx().getRegatta().getRaceCount()));
|
||||
header.setInfoText(StringMessages.INSTANCE.showAll());
|
||||
header.setClickAction(currentPresenter.getRegattaRacesNavigation(getRegattaId()));
|
||||
mobileSection.addHeader(header);
|
||||
container.add(mobileSection);
|
||||
}
|
||||
|
||||
private void initStatisticsUi(Panel container) {
|
||||
statisticsUi = new StatisticsBox(false);
|
||||
// FIXME only show statistics of the regatta
|
||||
refreshManager.add(statisticsUi, new GetEventStatisticsAction(getEventId(), true));
|
||||
container.add(statisticsUi);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, Collection<RegattaMetadataDTO> regattaMetadatas) {
|
||||
QuickfinderPresenter.getForRegattaOverview(quickfinder, currentPresenter, regattaMetadatas);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user