mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Refactored mobile event view and added regatta progress for single
regatta and series events
This commit is contained in:
1 parent
726e0f1d93
commit
c76e2506a5
2 files changed
+40
-40
No files matched your search
+40
-28
@@ -2,12 +2,10 @@ package com.sap.sailing.gwt.home.mobile.places.event;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
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.impressions.Impressions;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.minileaderboard.MinileaderboardBox;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.regattaStatus.RegattaStatus;
|
||||
@@ -19,6 +17,7 @@ import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventOverviewNewsAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventOverviewStageAction;
|
||||
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.dispatch.event.GetRegattasAndLiveRacesForEventAction;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventState;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingImageDTO;
|
||||
@@ -26,57 +25,70 @@ import com.sap.sailing.gwt.ui.shared.media.SailingImageDTO;
|
||||
public class EventViewImpl extends AbstractEventView<EventView.Presenter> implements EventView {
|
||||
|
||||
private static final StringMessages MSG = StringMessages.INSTANCE;
|
||||
private static StartPageViewUiBinder uiBinder = GWT.create(StartPageViewUiBinder.class);
|
||||
|
||||
interface StartPageViewUiBinder extends UiBinder<Widget, EventViewImpl> {
|
||||
}
|
||||
|
||||
@UiField(provided = true) EventOverviewStage overviewStageUi;
|
||||
@UiField SimplePanel listContentUi;
|
||||
@UiField Impressions impressionsUi;
|
||||
@UiField(provided = true) StatisticsBox statisticsBoxUi;
|
||||
@UiField(provided = true) UpdatesBox updatesBoxUi;
|
||||
private EventOverviewStage overviewStageUi;
|
||||
private EventSteps eventStepsUi;
|
||||
private Impressions impressionsUi;
|
||||
private StatisticsBox statisticsBoxUi;
|
||||
private UpdatesBox updatesBoxUi;
|
||||
|
||||
public EventViewImpl(EventView.Presenter presenter) {
|
||||
super(presenter, false, false);
|
||||
this.setupOverviewStage();
|
||||
this.setupUpdateBox();
|
||||
this.setupStatisticsBox();
|
||||
setViewContent(uiBinder.createAndBindUi(this));
|
||||
this.setupListContent();
|
||||
impressionsUi.getElement().getStyle().setDisplay(Display.NONE);
|
||||
FlowPanel container = new FlowPanel();
|
||||
this.setupOverviewStage(container);
|
||||
this.setupProgress(container);
|
||||
this.setupListContent(container);
|
||||
this.setupUpdateBox(container);
|
||||
this.setupImpressions(container);
|
||||
this.setupStatisticsBox(container);
|
||||
setViewContent(container);
|
||||
}
|
||||
|
||||
private void setupOverviewStage() {
|
||||
private void setupProgress(Panel container) {
|
||||
eventStepsUi = new EventSteps();
|
||||
if (!isMultiRegattaEvent()) {
|
||||
refreshManager.add(eventStepsUi, new GetRegattaWithProgressAction(getEventId(), getRegattaId()));
|
||||
container.add(eventStepsUi);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupOverviewStage(Panel container) {
|
||||
overviewStageUi = new EventOverviewStage(currentPresenter);
|
||||
refreshManager.add(overviewStageUi, new GetEventOverviewStageAction(getEventId()));
|
||||
container.add(overviewStageUi);
|
||||
}
|
||||
|
||||
private void setupListContent() {
|
||||
private void setupListContent(Panel container) {
|
||||
if (isMultiRegattaEvent()) {
|
||||
RegattaStatus regattaStatus = new RegattaStatus(currentPresenter);
|
||||
listContentUi.add(regattaStatus);
|
||||
container.add(regattaStatus);
|
||||
refreshManager.add(regattaStatus, new GetRegattasAndLiveRacesForEventAction(getEventId()));
|
||||
} else {
|
||||
MinileaderboardBox miniLeaderboard = new MinileaderboardBox(false);
|
||||
miniLeaderboard.setAction(MSG.showAll(), currentPresenter.getRegattaMiniLeaderboardNavigation(getRegattaId()));
|
||||
listContentUi.add(miniLeaderboard);
|
||||
container.add(miniLeaderboard);
|
||||
refreshManager.add(miniLeaderboard, new GetMiniLeaderbordAction(getEventId(), getRegattaId(), 3));
|
||||
}
|
||||
}
|
||||
|
||||
private void setupUpdateBox() {
|
||||
private void setupUpdateBox(Panel container) {
|
||||
updatesBoxUi = new UpdatesBox(currentPresenter, refreshManager);
|
||||
if (currentPresenter.getCtx().getEventDTO().getState() == EventState.RUNNING) {
|
||||
refreshManager.add(updatesBoxUi, new GetEventOverviewNewsAction(getEventId(), 2));
|
||||
} else {
|
||||
updatesBoxUi.removeFromParent();
|
||||
container.add(updatesBoxUi);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupStatisticsBox() {
|
||||
private void setupImpressions(Panel container) {
|
||||
impressionsUi = new Impressions();
|
||||
impressionsUi.getElement().getStyle().setDisplay(Display.NONE);
|
||||
container.add(impressionsUi);
|
||||
}
|
||||
|
||||
private void setupStatisticsBox(Panel container) {
|
||||
statisticsBoxUi = new StatisticsBox(isMultiRegattaEvent());
|
||||
refreshManager.add(statisticsBoxUi, new GetEventStatisticsAction(getEventId()));
|
||||
container.add(statisticsBoxUi);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials" xmlns:e="urn:import:com.sap.sailing.gwt.home.mobile.places.event">
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
|
||||
<g:HTMLPanel>
|
||||
<e:overview.EventOverviewStage ui:field="overviewStageUi" />
|
||||
<g:SimplePanel ui:field="listContentUi"/>
|
||||
<mp:updatesBox.UpdatesBox ui:field="updatesBoxUi" />
|
||||
<mp:impressions.Impressions ui:field="impressionsUi" />
|
||||
<mp:statisticsBox.StatisticsBox ui:field="statisticsBoxUi" />
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
Reference in new issue
Block a user