Implemented navigation path for mobile SeriesActivity

This commit is contained in:
Steffen Schaefer
2015-10-30 09:15:20 +01:00
parent cbe9e00523
commit aeb921aed9
2 changed files with 21 additions and 3 deletions
@@ -13,6 +13,8 @@ import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
import com.sap.sailing.gwt.home.mobile.places.event.minileaderboard.MiniLeaderboardPlace; import com.sap.sailing.gwt.home.mobile.places.event.minileaderboard.MiniLeaderboardPlace;
import com.sap.sailing.gwt.home.mobile.places.series.minileaderboard.SeriesMiniOverallLeaderboardPlace; import com.sap.sailing.gwt.home.mobile.places.series.minileaderboard.SeriesMiniOverallLeaderboardPlace;
import com.sap.sailing.gwt.home.shared.app.ActivityCallback; import com.sap.sailing.gwt.home.shared.app.ActivityCallback;
import com.sap.sailing.gwt.home.shared.app.NavigationPathDisplay;
import com.sap.sailing.gwt.home.shared.app.NavigationPathDisplay.NavigationItem;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation; import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.places.fakeseries.AbstractSeriesPlace; import com.sap.sailing.gwt.home.shared.places.fakeseries.AbstractSeriesPlace;
import com.sap.sailing.gwt.home.shared.places.fakeseries.SeriesContext; import com.sap.sailing.gwt.home.shared.places.fakeseries.SeriesContext;
@@ -21,8 +23,10 @@ public class SeriesActivity extends AbstractActivity implements SeriesView.Prese
private final MobileApplicationClientFactory clientFactory; private final MobileApplicationClientFactory clientFactory;
private final AbstractSeriesPlace place; private final AbstractSeriesPlace place;
private EventSeriesViewDTO series; private EventSeriesViewDTO series;
private NavigationPathDisplay navigationPathDisplay;
public SeriesActivity(AbstractSeriesPlace place, MobileApplicationClientFactory clientFactory) { public SeriesActivity(AbstractSeriesPlace place, NavigationPathDisplay navigationPathDisplay, MobileApplicationClientFactory clientFactory) {
this.navigationPathDisplay = navigationPathDisplay;
this.clientFactory = clientFactory; this.clientFactory = clientFactory;
this.place = place; this.place = place;
} }
@@ -45,6 +49,12 @@ public class SeriesActivity extends AbstractActivity implements SeriesView.Prese
final SeriesView view = new SeriesViewImpl(this); final SeriesView view = new SeriesViewImpl(this);
view.setQuickFinderValues(series.getDisplayName(), series.getEvents()); view.setQuickFinderValues(series.getDisplayName(), series.getEvents());
panel.setWidget(view.asWidget()); panel.setWidget(view.asWidget());
initNavigationPath();
}
private void initNavigationPath() {
navigationPathDisplay.showNavigationPath(new NavigationItem(series.getDisplayName(), clientFactory.getNavigator().getSeriesNavigation(place, null, false)));
} }
@Override @Override
@@ -2,25 +2,33 @@ package com.sap.sailing.gwt.home.mobile.places.series;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory; import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
import com.sap.sailing.gwt.home.shared.app.NavigationPathDisplay;
import com.sap.sailing.gwt.home.shared.app.ProvidesNavigationPath;
import com.sap.sailing.gwt.home.shared.places.fakeseries.AbstractSeriesPlace; import com.sap.sailing.gwt.home.shared.places.fakeseries.AbstractSeriesPlace;
import com.sap.sse.gwt.client.mvp.AbstractActivityProxy; import com.sap.sse.gwt.client.mvp.AbstractActivityProxy;
public class SeriesActivityProxy extends AbstractActivityProxy { public class SeriesActivityProxy extends AbstractActivityProxy implements ProvidesNavigationPath {
private final MobileApplicationClientFactory clientFactory; private final MobileApplicationClientFactory clientFactory;
private final AbstractSeriesPlace currentPlace; private final AbstractSeriesPlace currentPlace;
private NavigationPathDisplay navigationPathDisplay;
public SeriesActivityProxy(AbstractSeriesPlace place, MobileApplicationClientFactory clientFactory) { public SeriesActivityProxy(AbstractSeriesPlace place, MobileApplicationClientFactory clientFactory) {
this.currentPlace = place; this.currentPlace = place;
this.clientFactory = clientFactory; this.clientFactory = clientFactory;
} }
@Override
public void setNavigationPathDisplay(NavigationPathDisplay navigationPathDisplay) {
this.navigationPathDisplay = navigationPathDisplay;
}
@Override @Override
protected void startAsync() { protected void startAsync() {
GWT.runAsync(new AbstractRunAsyncCallback() { GWT.runAsync(new AbstractRunAsyncCallback() {
@Override @Override
public void onSuccess() { public void onSuccess() {
super.onSuccess(new SeriesActivity(currentPlace, clientFactory)); super.onSuccess(new SeriesActivity(currentPlace, navigationPathDisplay, clientFactory));
} }
}); });
} }