mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
Automatic place adjustion for mini leaderboard on desktop to directly
show the desktop version
This commit is contained in:
1 parent
77aa1284db
commit
13d7aeec4c
2 files changed
+24
-6
No files matched your search
+6
@@ -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;
|
||||
}
|
||||
|
||||
+18
-6
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user