mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Refactored RacesViewImpl to use mobile event view abstraction
This commit is contained in:
1 parent
ff630de764
commit
3693891f53
3 files changed
+11
-63
No files matched your search
+3
-25
@@ -1,34 +1,12 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.races;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventContext;
|
||||
import com.sap.sailing.gwt.home.mobile.places.RegattaLeaderboardNavigationProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.RegattaRacesNavigationProvider;
|
||||
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;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.RegattaMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventReferenceDTO;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
|
||||
public interface RacesView {
|
||||
public interface RacesView extends EventViewBase {
|
||||
|
||||
public interface Presenter extends RegattaLeaderboardNavigationProvider, SeriesLeaderboardNavigationProvider,
|
||||
RegattaRacesNavigationProvider {
|
||||
public interface Presenter extends EventViewBase.Presenter, RegattaRacesNavigationProvider {
|
||||
|
||||
PlaceNavigation<?> getEventNavigation();
|
||||
|
||||
DispatchSystem getDispatch();
|
||||
|
||||
EventContext getCtx();
|
||||
}
|
||||
|
||||
Widget asWidget();
|
||||
|
||||
void setQuickFinderValues(Collection<RegattaMetadataDTO> regattas);
|
||||
|
||||
void setQuickFinderValues(String seriesName, Collection<EventReferenceDTO> eventsOfSeries);
|
||||
|
||||
void hideQuickfinder();
|
||||
}
|
||||
+8
-28
@@ -1,59 +1,39 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.races;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.listNavigation.RegattaNavigationResources;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshManager;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.eventheader.EventHeader;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.quickfinder.Quickfinder;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.regattacompetition.RegattaCompetition;
|
||||
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.shared.dispatch.event.GetCompetitionFormatRacesAction;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.RegattaMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventReferenceDTO;
|
||||
|
||||
public class RacesViewImpl extends Composite implements RacesView {
|
||||
public class RacesViewImpl extends AbstractEventView<RacesView.Presenter> implements RacesView {
|
||||
|
||||
private static RacesViewImplUiBinder uiBinder = GWT.create(RacesViewImplUiBinder.class);
|
||||
|
||||
interface RacesViewImplUiBinder extends UiBinder<Widget, RacesViewImpl> {
|
||||
}
|
||||
|
||||
private Presenter currentPresenter;
|
||||
@UiField(provided = true) EventHeader eventHeaderUi;
|
||||
@UiField(provided = true) RegattaCompetition regattaCompetitionUi;
|
||||
@UiField Quickfinder quickFinderUi;
|
||||
|
||||
public RacesViewImpl(Presenter presenter) {
|
||||
currentPresenter = presenter;
|
||||
eventHeaderUi = new EventHeader(presenter.getCtx().getEventDTO(), presenter.getEventNavigation());
|
||||
public RacesViewImpl(RacesView.Presenter presenter) {
|
||||
super(presenter, true);
|
||||
RegattaNavigationResources.INSTANCE.css().ensureInjected();
|
||||
regattaCompetitionUi = new RegattaCompetition(presenter);
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
RefreshManager refreshManager = new RefreshManager(this, presenter.getDispatch());
|
||||
UUID eventId = presenter.getCtx().getEventDTO().getId();
|
||||
refreshManager.add(regattaCompetitionUi, new GetCompetitionFormatRacesAction(eventId, presenter.getCtx().getRegattaId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuickFinderValues(Collection<RegattaMetadataDTO> regattaMetadatas) {
|
||||
QuickfinderPresenter.getForRegattaRaces(quickFinderUi, currentPresenter, regattaMetadatas);
|
||||
refreshManager.add(regattaCompetitionUi, new GetCompetitionFormatRacesAction(getEventId(), getRegattaId()));
|
||||
setViewContent(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuickFinderValues(String seriesName, Collection<EventReferenceDTO> eventsOfSeries) {
|
||||
QuickfinderPresenter.getForSeriesLeaderboards(quickFinderUi, seriesName, currentPresenter, eventsOfSeries);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hideQuickfinder() {
|
||||
quickFinderUi.removeFromParent();
|
||||
protected void setQuickFinderValues(Quickfinder quickfinder, Collection<RegattaMetadataDTO> regattaMetadatas) {
|
||||
QuickfinderPresenter.getForRegattaRaces(quickfinder, currentPresenter, regattaMetadatas);
|
||||
}
|
||||
|
||||
}
|
||||
-10
@@ -5,10 +5,6 @@
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
|
||||
<ui:style>
|
||||
.headerWrapper {
|
||||
background-color: #f2f2f2;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.pageTitle {
|
||||
font-size: 1.066666666666667em;
|
||||
font-weight: 700;
|
||||
@@ -20,12 +16,6 @@
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel>
|
||||
<div class="{style.headerWrapper}">
|
||||
<mp:eventheader.EventHeader ui:field="eventHeaderUi" />
|
||||
<mp:quickfinder.Quickfinder ui:field="quickFinderUi" />
|
||||
<!-- TODO do we need this here? -->
|
||||
<!-- <mp:simpleinfoblock.SimpleInfoBlock ui:field="sailorInfoUi" /> -->
|
||||
</div>
|
||||
<div class="{res.mediaCss.columns}">
|
||||
<div class="{res.mediaCss.small12} {style.pageTitle}"><ui:text from="{i18n.races}" /></div>
|
||||
<p:listNavigation.RaceStateLegend addStyleNames="{res.mediaCss.small12} {style.legend}"/>
|
||||
|
||||
Reference in new issue
Block a user