settings for leaderboard with no context

This commit is contained in:
Kai Boernert committed 2017-01-27 14:58:00 +01:00
1 parent ba8c1d30a4
commit 8c6c6e0f3c
7 files changed
+30 -8

No files matched your search

@@ -209,6 +209,9 @@ public class OldLeaderboard extends Composite implements BusyStateChangeListener
public void setLeaderboard(LeaderboardPanel leaderboardPanel, final Timer timer) { public void setLeaderboard(LeaderboardPanel leaderboardPanel, final Timer timer) {
this.autoRefreshTimer = timer; this.autoRefreshTimer = timer;
this.leaderboardPanel = leaderboardPanel; this.leaderboardPanel = leaderboardPanel;
if (leaderboardPanel.getComponentContext() == null) {
throw new IllegalStateException("Leaderboard Component with null Context");
}
oldLeaderboardPanel.add(leaderboardPanel); oldLeaderboardPanel.add(leaderboardPanel);
leaderboardPanel.addBusyStateChangeListener(this); leaderboardPanel.addBusyStateChangeListener(this);
} }
@@ -9,6 +9,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChart; import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChart;
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChartSettings; import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChartSettings;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanelLifecycle;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sse.common.settings.Settings; import com.sap.sse.common.settings.Settings;
import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.ErrorReporter;
@@ -16,6 +17,7 @@ import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
import com.sap.sse.gwt.client.player.Timer; import com.sap.sse.gwt.client.player.Timer;
import com.sap.sse.gwt.client.shared.components.Component; import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialog; import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.shared.perspective.SimpleComponentContext;
import com.sap.sse.gwt.client.useragent.UserAgentDetails; import com.sap.sse.gwt.client.useragent.UserAgentDetails;
/** /**
@@ -49,7 +51,9 @@ public class RegattaAnalyticsDataManager {
final String leaderboardGroupName, String leaderboardName, boolean showRaceDetails, final String leaderboardGroupName, String leaderboardName, boolean showRaceDetails,
boolean autoExpandLastRaceColumn) { boolean autoExpandLastRaceColumn) {
if (leaderboardPanel == null) { if (leaderboardPanel == null) {
leaderboardPanel = new LeaderboardPanel(null, null, sailingService, asyncActionsExecutor, LeaderboardPanelLifecycle lifeCycle = new LeaderboardPanelLifecycle(null, StringMessages.INSTANCE);
leaderboardPanel = new LeaderboardPanel(null, new SimpleComponentContext<>(lifeCycle), sailingService,
asyncActionsExecutor,
leaderboardSettings, leaderboardSettings,
true, preselectedRace, true, preselectedRace,
competitorSelectionProvider, timer, leaderboardGroupName, leaderboardName, errorReporter, competitorSelectionProvider, timer, leaderboardGroupName, leaderboardName, errorReporter,
@@ -5,9 +5,12 @@ import com.google.gwt.user.client.ui.Composite;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.gwt.home.desktop.utils.EventParamUtils; import com.sap.sailing.gwt.home.desktop.utils.EventParamUtils;
import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener; import com.sap.sailing.gwt.ui.client.LeaderboardUpdateListener;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanelLifecycle;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardUrlSettings; import com.sap.sailing.gwt.ui.leaderboard.LeaderboardUrlSettings;
import com.sap.sse.gwt.client.shared.perspective.SimpleComponentContext;
import com.sap.sse.gwt.shared.GwtHttpRequestUtils; import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
/** /**
@@ -27,7 +30,10 @@ public abstract class SharedLeaderboardEventSeriesTabView<T extends AbstractSeri
.getParameterMap()); .getParameterMap());
final RegattaAndRaceIdentifier preselectedRace = EventParamUtils final RegattaAndRaceIdentifier preselectedRace = EventParamUtils
.getPreselectedRace(Window.Location.getParameterMap()); .getPreselectedRace(Window.Location.getParameterMap());
LeaderboardPanel leaderboardPanel = eventSeriesAnalyticsManager.createOverallLeaderboardPanel(null, null,
LeaderboardPanelLifecycle lifeCycle = new LeaderboardPanelLifecycle(null, StringMessages.INSTANCE);
LeaderboardPanel leaderboardPanel = eventSeriesAnalyticsManager.createOverallLeaderboardPanel(null,
new SimpleComponentContext<>(lifeCycle),
leaderboardSettings, leaderboardSettings,
preselectedRace, preselectedRace,
"leaderboardGroupName", "leaderboardGroupName",
@@ -154,7 +154,10 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
if (leaderboardType.isMetaLeaderboard()) { if (leaderboardType.isMetaLeaderboard()) {
final MetaLeaderboardPerspectiveLifecycle lifecycle = new MetaLeaderboardPerspectiveLifecycle(getStringMessages()); final MetaLeaderboardPerspectiveLifecycle lifecycle = new MetaLeaderboardPerspectiveLifecycle(getStringMessages());
final MetaLeaderboardComponentContext componentContext = new MetaLeaderboardComponentContext(lifecycle, new UserSettingsStorageManager<>(getUserService(), "TODO1", "TODO2")); final MetaLeaderboardComponentContext componentContext = new MetaLeaderboardComponentContext(lifecycle,
new UserSettingsStorageManager<>(getUserService(),
UserSettingsStorageManager.buildContextDefinitionId("LeaderboardEntryPoint", "Meta"),
leaderboardContextSettings.getRegattaName()));
componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() { componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() {
@Override @Override
public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) { public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) {
@@ -174,7 +177,10 @@ public class LeaderboardEntryPoint extends AbstractSailingEntryPoint {
}); });
} else { } else {
final LeaderboardPerspectiveLifecycle lifecycle = new LeaderboardPerspectiveLifecycle(getStringMessages()); final LeaderboardPerspectiveLifecycle lifecycle = new LeaderboardPerspectiveLifecycle(getStringMessages());
final LeaderboardComponentContext componentContext = new LeaderboardComponentContext(lifecycle, new UserSettingsStorageManager<>(getUserService(), "TODO3", "TODO4")); final LeaderboardComponentContext componentContext = new LeaderboardComponentContext(lifecycle,
new UserSettingsStorageManager<>(getUserService(),
UserSettingsStorageManager.buildContextDefinitionId("LeaderboardEntryPoint", "Meta"),
leaderboardContextSettings.getRegattaName()));
componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() { componentContext.initInitialSettings(new OnSettingsLoadedCallback<PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>>() {
@Override @Override
public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) { public void onSuccess(PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> defaultSettings) {
@@ -77,7 +77,10 @@ public class SettingsDialog<SettingsType extends Settings> extends DataEntryDial
}); });
this.settingsDialogComponent = dialogComponent; this.settingsDialogComponent = dialogComponent;
initMakeDefaultButtons(component, stringMessages); if (component.getComponentContext() != null
&& component.getComponentContext().hasMakeCustomDefaultSettingsSupport(component)) {
initMakeDefaultButtons(component, stringMessages);
}
} }
@Override @Override
@@ -41,7 +41,7 @@ import com.sap.sse.gwt.client.shared.components.ComponentLifecycle;
* for itself and its subcomponents * for itself and its subcomponents
*/ */
public abstract class AbstractComponentContextWithSettingsStorage<L extends ComponentLifecycle<S, ?>, S extends Settings> public abstract class AbstractComponentContextWithSettingsStorage<L extends ComponentLifecycle<S, ?>, S extends Settings>
extends AbstractComponentContext<L, S> { extends SimpleComponentContext<L, S> {
/** /**
* Manages the persistence layer of settings. * Manages the persistence layer of settings.
@@ -20,7 +20,7 @@ import com.sap.sse.gwt.client.shared.components.ComponentLifecycle;
* The {@link Settings} type of the settings of the root component/perspective containing all the settings * The {@link Settings} type of the settings of the root component/perspective containing all the settings
* for itself and its subcomponents * for itself and its subcomponents
*/ */
public abstract class AbstractComponentContext<L extends ComponentLifecycle<S, ?>, S extends Settings> public class SimpleComponentContext<L extends ComponentLifecycle<S, ?>, S extends Settings>
implements ComponentContext<L, S> { implements ComponentContext<L, S> {
protected final L rootLifecycle; protected final L rootLifecycle;
@@ -30,7 +30,7 @@ public abstract class AbstractComponentContext<L extends ComponentLifecycle<S, ?
* @param rootLifecycle * @param rootLifecycle
* The {@link ComponentLifecycle} of the root component/perspective * The {@link ComponentLifecycle} of the root component/perspective
*/ */
public AbstractComponentContext(L rootLifecycle) { public SimpleComponentContext(L rootLifecycle) {
this.rootLifecycle = rootLifecycle; this.rootLifecycle = rootLifecycle;
} }