Automatic place adjustion for mini leaderboard on desktop to directly

show the desktop version
This commit is contained in:
Steffen Schaefer committed 2015-07-06 17:29:03 +02:00
1 parent 77aa1284db
commit 13d7aeec4c
2 files changed
+24 -6

No files matched your search

@@ -17,6 +17,7 @@ import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.RegattaMediaPlac
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.RegattaOverviewPlace;
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.RegattaRacesPlace;
import com.sap.sailing.gwt.home.desktop.app.DesktopPlacesNavigator;
import com.sap.sailing.gwt.home.mobile.places.minileaderboard.MiniLeaderboardPlace;
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventViewAction;
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO;
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO.EventType;
@@ -133,6 +134,11 @@ public class EventActivityProxy extends AbstractActivityProxy {
// The media page for multi regatta events is on event level only but not on regatta level
return new MultiregattaMediaPlace(new EventContext(ctx).withRegattaId(null));
}
if(place instanceof MiniLeaderboardPlace) {
return new RegattaLeaderboardPlace(place.getCtx());
}
// no adjustment necessary
return place;
}
@@ -9,12 +9,13 @@ import com.sap.sailing.gwt.home.client.place.event.legacy.SeriesClientFactory;
import com.sap.sailing.gwt.home.client.place.fakeseries.tabs.EventSeriesOverallLeaderboardPlace;
import com.sap.sailing.gwt.home.client.place.fakeseries.tabs.SeriesEventsPlace;
import com.sap.sailing.gwt.home.desktop.app.DesktopPlacesNavigator;
import com.sap.sailing.gwt.home.mobile.places.series.minileaderboard.SeriesMiniOverallLeaderboardPlace;
import com.sap.sailing.gwt.ui.shared.fakeseries.EventSeriesViewDTO;
import com.sap.sse.gwt.client.mvp.AbstractActivityProxy;
public class SeriesActivityProxy extends AbstractActivityProxy {
private final AbstractSeriesPlace place;
private AbstractSeriesPlace place;
private SeriesContext ctx;
private SeriesClientFactory clientFactory;
private final DesktopPlacesNavigator homePlacesNavigator;
@@ -56,13 +57,11 @@ public class SeriesActivityProxy extends AbstractActivityProxy {
GWT.runAsync(new AbstractRunAsyncCallback() {
@Override
public void onSuccess() {
final AbstractSeriesPlace placeToStart;
if (place instanceof SeriesDefaultPlace) {
placeToStart = getRealPlace();
} else {
placeToStart = place;
place = getRealPlace();
}
super.onSuccess(new SeriesActivity((AbstractSeriesTabPlace) placeToStart, clientFactory,
place = verifyAndAdjustPlace();
super.onSuccess(new SeriesActivity((AbstractSeriesTabPlace) place, clientFactory,
homePlacesNavigator));
}
});
@@ -75,4 +74,17 @@ public class SeriesActivityProxy extends AbstractActivityProxy {
return new SeriesEventsPlace(ctx);
}
}
/**
* Checks if the place is valid for the given event.
* If not, the place is automatically being adjusted.
*/
private AbstractSeriesPlace verifyAndAdjustPlace() {
if(place instanceof SeriesMiniOverallLeaderboardPlace) {
return new EventSeriesOverallLeaderboardPlace(place.getCtx());
}
// no adjustment necessary
return place;
}
}