mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
Further cleanup and first apply of configured leaderboard settings for LeaderboardPanel
This commit is contained in:
1 parent
95b8ed79e9
commit
182ef9910f
3 files changed
+38
-39
No files matched your search
+14
-12
@@ -41,10 +41,12 @@ import com.sap.sailing.gwt.ui.raceboard.RaceBoardPanel;
|
||||
import com.sap.sailing.gwt.ui.raceboard.RaceBoardPerspectiveSettings;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceboardDataDTO;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayModes;
|
||||
import com.sap.sse.gwt.client.shared.components.CompositeSettings;
|
||||
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
|
||||
import com.sap.sse.security.ui.client.UserService;
|
||||
|
||||
@@ -70,14 +72,15 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
|
||||
|
||||
// leaderboard related attributes
|
||||
private LeaderboardDTO leaderboard;
|
||||
private LeaderboardSettings leaderboardSettings;
|
||||
// private LeaderboardSettings leaderboardSettings;
|
||||
|
||||
// raceboard related attributes
|
||||
private RegattaAndRaceIdentifier currentLiveRace;
|
||||
private boolean showRaceDetails;
|
||||
private boolean showWindChart;
|
||||
private final RaceBoardPerspectiveSettings raceboardPerspectiveSettings;
|
||||
private final LeaderboardPerspectiveSettings leaderboardPerspectiveSettings;
|
||||
private final CompositeSettings leaderboardComponentsSettings;
|
||||
private final RaceBoardPerspectiveSettings raceboardPerspectiveSettings;
|
||||
private final CompositeSettings raceboardComponentsSettings;
|
||||
private final PlayerView playerView;
|
||||
private final AutoPlayerConfiguration autoPlayerConfiguration;
|
||||
private Widget currentContentWidget;
|
||||
@@ -86,11 +89,9 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
|
||||
|
||||
public AutoPlayController(SailingServiceAsync sailingService, MediaServiceAsync mediaService,
|
||||
UserService userService, ErrorReporter errorReporter, AutoPlayerConfiguration autoPlayerConfiguration,
|
||||
UserAgentDetails userAgent, long delayToLiveInMillis, boolean showRaceDetails,
|
||||
RaceBoardPerspectiveSettings raceboardPerspectiveSettings, PlayerView playerView,
|
||||
LeaderboardPerspectiveSettings leaderboardPerspectiveSettings) {
|
||||
this.raceboardPerspectiveSettings = raceboardPerspectiveSettings;
|
||||
this.leaderboardPerspectiveSettings = leaderboardPerspectiveSettings;
|
||||
UserAgentDetails userAgent, long delayToLiveInMillis, boolean showRaceDetails, PlayerView playerView,
|
||||
Pair<RaceBoardPerspectiveSettings, CompositeSettings> allRaceboardSettings,
|
||||
Pair<LeaderboardPerspectiveSettings, CompositeSettings> allLeaderboardSettings) {
|
||||
this.sailingService = sailingService;
|
||||
this.mediaService = mediaService;
|
||||
this.userService = userService;
|
||||
@@ -99,13 +100,16 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
|
||||
this.userAgent = userAgent;
|
||||
this.showRaceDetails = showRaceDetails;
|
||||
this.playerView = playerView;
|
||||
this.raceboardPerspectiveSettings = allRaceboardSettings.getA();
|
||||
this.raceboardComponentsSettings = allRaceboardSettings.getB();
|
||||
this.leaderboardPerspectiveSettings = allLeaderboardSettings.getA();
|
||||
this.leaderboardComponentsSettings = allLeaderboardSettings.getB();
|
||||
|
||||
// if(this.leaderboardSettings == null) {
|
||||
// leaderboardSettings = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, null, /* autoExpandFirstRace */ false, /* showRegattaRank */ true, /* showCompetitorSailIdColumn */ true, /* showCompetitorFullNameColumn */ true);
|
||||
// }
|
||||
//
|
||||
asyncActionsExecutor = new AsyncActionsExecutor();
|
||||
showWindChart = false;
|
||||
leaderboard = null;
|
||||
leaderboardTimer = new Timer(PlayModes.Live, /* delayBetweenAutoAdvancesInMilliseconds */1000l);
|
||||
leaderboardTimer.setLivePlayDelayInMillis(delayToLiveInMillis);
|
||||
@@ -131,6 +135,7 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
|
||||
|
||||
private LeaderboardPanel createLeaderboardPanel(String leaderboardName, boolean showRaceDetails) {
|
||||
CompetitorSelectionModel selectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||
LeaderboardSettings leaderboardSettings = (LeaderboardSettings) leaderboardComponentsSettings.getSettingsPerComponent().iterator().next().getB();
|
||||
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, asyncActionsExecutor,
|
||||
leaderboardSettings, true,
|
||||
/* preSelectedRace */null, selectionModel, leaderboardTimer, /*leaderboardGroupName*/ "", leaderboardName,
|
||||
@@ -284,9 +289,6 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
|
||||
RaceBoardPanel raceBoardPanel = createRaceBoardPanel(AutoPlayController.this.autoPlayerConfiguration.getLeaderboardName(),
|
||||
currentLiveRace, result.getCompetitorAndTheirBoats());
|
||||
raceBoardPanel.setSize("100%", "100%");
|
||||
if (showWindChart) {
|
||||
raceBoardPanel.setWindChartVisible(true);
|
||||
}
|
||||
FlowPanel timePanel = createTimePanel(raceBoardPanel);
|
||||
|
||||
final Button toggleButton = raceBoardPanel.getTimePanel().getAdvancedToggleButton();
|
||||
|
||||
+2
-25
@@ -38,7 +38,6 @@ public class PlayerActivity extends AbstractActivity {
|
||||
@Override
|
||||
public void onSuccess(final EventDTO event) {
|
||||
UserAgentDetails userAgent = new UserAgentDetails(Window.Navigator.getUserAgent());
|
||||
//RaceBoardPerspectiveSettings readRaceboardConfiguration = readRaceboardConfiguration();
|
||||
|
||||
PlayerView view = clientFactory.createPlayerView();
|
||||
panel.setWidget(view.asWidget());
|
||||
@@ -46,8 +45,8 @@ public class PlayerActivity extends AbstractActivity {
|
||||
|
||||
autoPlayController = new AutoPlayController(clientFactory.getSailingService(), clientFactory
|
||||
.getMediaService(), clientFactory.getUserService(), clientFactory.getErrorReporter(),
|
||||
playerPlace.getConfiguration(), userAgent, delayToLiveMillis, showRaceDetails,
|
||||
playerPlace.getRaceboardPerspectiveSettings().getA(), view, /** TODO: pass leaderboardSettings*/ null);
|
||||
playerPlace.getConfiguration(), userAgent, delayToLiveMillis, showRaceDetails, view,
|
||||
playerPlace.getRaceboardPerspectiveSettings(), playerPlace.getLeaderboardPerspectiveSettings());
|
||||
autoPlayController.updatePlayMode(AutoPlayModes.Leaderboard);
|
||||
}
|
||||
|
||||
@@ -58,28 +57,6 @@ public class PlayerActivity extends AbstractActivity {
|
||||
});
|
||||
}
|
||||
|
||||
// private RaceBoardPerspectiveSettings readRaceboardConfiguration() {
|
||||
// Boolean autoSelectMedia = true;
|
||||
//
|
||||
// final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
|
||||
// final boolean showWindChart = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_WINDCHART, false /* default */);
|
||||
// final boolean showViewStreamlets = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_STREAMLETS, false /* default */);
|
||||
// final boolean showViewStreamletColors = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_STREAMLET_COLORS, false /* default */);
|
||||
// final boolean showViewSimulation = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_SIMULATION, false /* default */);
|
||||
// final boolean showCompetitorsChart = GwtHttpRequestUtils.getBooleanParameter(
|
||||
// RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_COMPETITORSCHART, false /* default */);
|
||||
// String activeCompetitorsFilterSetName = GwtHttpRequestUtils.getStringParameter(RaceBoardPerspectiveSettings.PARAM_VIEW_COMPETITOR_FILTER, null /* default*/);
|
||||
// final String defaultMedia = GwtHttpRequestUtils.getStringParameter(RaceBoardPerspectiveSettings.PARAM_DEFAULT_MEDIA, null /* default */);
|
||||
//
|
||||
// return new RaceBoardPerspectiveSettings(activeCompetitorsFilterSetName, showLeaderboard,
|
||||
// showWindChart, showCompetitorsChart, showViewStreamlets, showViewStreamletColors, showViewSimulation, /* canReplayWhileLiveIsPossible */false, autoSelectMedia, defaultMedia);
|
||||
// }
|
||||
|
||||
private void createErrorView(String errorMessage, Throwable errorReason, AcceptsOneWidget panel) {
|
||||
ErrorView view = clientFactory.createErrorView(errorMessage, errorReason);
|
||||
panel.setWidget(view.asWidget());
|
||||
|
||||
+22
-2
@@ -1,9 +1,11 @@
|
||||
package com.sap.sailing.gwt.ui.raceboard;
|
||||
|
||||
import com.sap.sse.common.settings.AbstractSettings;
|
||||
import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
|
||||
|
||||
/**
|
||||
* Represents the parameters for configuring the raceboard view
|
||||
*
|
||||
* @author Frank
|
||||
*
|
||||
*/
|
||||
@@ -35,12 +37,14 @@ public class RaceBoardPerspectiveSettings extends AbstractSettings {
|
||||
|
||||
public RaceBoardPerspectiveSettings() {
|
||||
this(/* activeCompetitorsFilterSetName */null, /* showLeaderboard */true,
|
||||
/* showWindChart */ false, /* showCompetitorsChart */ false, /* showViewStreamlets */ false, /* showViewStreamletColors */ false, /* showViewSimulation */ false,
|
||||
/* showWindChart */false, /* showCompetitorsChart */false, /* showViewStreamlets */false, /* showViewStreamletColors */
|
||||
false, /* showViewSimulation */false,
|
||||
/* canReplayDuringLiveRaces */false, /* autoSelectMedia */false, null);
|
||||
}
|
||||
|
||||
public RaceBoardPerspectiveSettings(String activeCompetitorsFilterSetName, boolean showLeaderboard,
|
||||
boolean showWindChart, boolean showCompetitorsChart, boolean showViewStreamlets, boolean showViewStreamletColors, boolean showViewSimulation, boolean canReplayDuringLiveRaces,
|
||||
boolean showWindChart, boolean showCompetitorsChart, boolean showViewStreamlets,
|
||||
boolean showViewStreamletColors, boolean showViewSimulation, boolean canReplayDuringLiveRaces,
|
||||
boolean autoSelectMedia, String defaultMedia) {
|
||||
this.activeCompetitorsFilterSetName = activeCompetitorsFilterSetName;
|
||||
this.showLeaderboard = showLeaderboard;
|
||||
@@ -94,4 +98,20 @@ public class RaceBoardPerspectiveSettings extends AbstractSettings {
|
||||
return defaultMedia;
|
||||
}
|
||||
|
||||
public static RaceBoardPerspectiveSettings readSettingsFromURL() {
|
||||
final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
|
||||
final boolean showWindChart = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_WINDCHART, false /* default */);
|
||||
final boolean showViewStreamlets = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_STREAMLETS, false /* default */);
|
||||
final boolean showViewStreamletColors = GwtHttpRequestUtils.getBooleanParameter(
|
||||
PARAM_VIEW_SHOW_STREAMLET_COLORS, false /* default */);
|
||||
final boolean showViewSimulation = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_SIMULATION, false /* default */);
|
||||
final boolean showCompetitorsChart = GwtHttpRequestUtils.getBooleanParameter(PARAM_VIEW_SHOW_COMPETITORSCHART, false /* default */);
|
||||
String activeCompetitorsFilterSetName = GwtHttpRequestUtils.getStringParameter(PARAM_VIEW_COMPETITOR_FILTER, null /* default */);
|
||||
final Boolean autoSelectMedia = GwtHttpRequestUtils.getBooleanParameter(PARAM_AUTOSELECT_MEDIA, true /* default */);
|
||||
final String defaultMedia = GwtHttpRequestUtils.getStringParameter(PARAM_DEFAULT_MEDIA, null /* default */);
|
||||
|
||||
return new RaceBoardPerspectiveSettings(activeCompetitorsFilterSetName, showLeaderboard, showWindChart,
|
||||
showCompetitorsChart, showViewStreamlets, showViewStreamletColors, showViewSimulation, /* canReplayWhileLiveIsPossible */
|
||||
false, autoSelectMedia, defaultMedia);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user