mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 05:11:04 +00:00
Creating Leaderboard.html links only using Settings objects instead of
String Maps
This commit is contained in:
1 parent
38f7588d30
commit
fbacf4546c
6 files changed
+42
-50
No files matched your search
+15
@@ -1,9 +1,15 @@
|
||||
package com.sap.sailing.gwt.settings.client;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceBoardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceboardContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaOverviewContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.regattaoverview.RegattaRaceStatesSettings;
|
||||
import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
|
||||
import com.sap.sse.common.settings.Settings;
|
||||
import com.sap.sse.gwt.client.shared.components.LinkWithSettingsGenerator;
|
||||
import com.sap.sse.gwt.client.shared.perspective.IgnoreLocalSettings;
|
||||
import com.sap.sse.gwt.client.shared.perspective.PerspectiveCompositeSettings;
|
||||
@@ -25,6 +31,15 @@ public class EntryPointWithSettingsLinkFactory extends AbstractEntryPointWithSet
|
||||
return new LinkWithSettingsGenerator<>("/gwt/RegattaOverview.html", regattaOverviewSettings,
|
||||
new IgnoreLocalSettings(true)).createUrl(regattaRaceStatesSettings);
|
||||
}
|
||||
|
||||
public static String createLeaderboardLink(LeaderboardContextDefinition contextDefinition, LeaderboardPerspectiveOwnSettings perspectiveOwnSettings) {
|
||||
final LinkWithSettingsGenerator<Settings> linkWithSettingsGenerator = new LinkWithSettingsGenerator<>(
|
||||
EntryPointLinkFactory.LEADERBOARD_PATH,
|
||||
contextDefinition);
|
||||
final PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> settings = new PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>(
|
||||
perspectiveOwnSettings, Collections.emptyMap());
|
||||
return linkWithSettingsGenerator.createUrl(settings);
|
||||
}
|
||||
|
||||
public static String createRaceBoardLink(RaceboardContextDefinition ctx,
|
||||
PerspectiveCompositeSettings<RaceBoardPerspectiveOwnSettings> settings) {
|
||||
|
||||
+5
@@ -16,6 +16,11 @@ public class LeaderboardContextDefinition extends AbstractGenericSerializableSet
|
||||
|
||||
public LeaderboardContextDefinition() {
|
||||
}
|
||||
|
||||
public LeaderboardContextDefinition(String leaderboardName, String displayName, String leaderboardGroupName) {
|
||||
this(leaderboardName, displayName);
|
||||
this.leaderboardGroupName.setValue(leaderboardGroupName);
|
||||
}
|
||||
|
||||
public LeaderboardContextDefinition(String leaderboardName, String displayName) {
|
||||
this.leaderboardName.setValue(leaderboardName);
|
||||
|
||||
+6
-2
@@ -24,18 +24,22 @@ public class LeaderboardPerspectiveOwnSettings extends AbstractGenericSerializab
|
||||
public LeaderboardPerspectiveOwnSettings(boolean showRaceDetails) {
|
||||
this.showRaceDetails.setValue(showRaceDetails);
|
||||
}
|
||||
|
||||
public LeaderboardPerspectiveOwnSettings(boolean showRaceDetails, boolean embedded) {
|
||||
this(showRaceDetails);
|
||||
this.embedded.setValue(embedded);
|
||||
}
|
||||
|
||||
LeaderboardPerspectiveOwnSettings(boolean showRaceDetails, boolean hideToolbar, boolean autoExpandLastRaceColumn,
|
||||
boolean showCharts, boolean showOverallLeaderboard, boolean showSeriesLeaderboards, String zoomTo,
|
||||
boolean embedded, boolean lifeplay) {
|
||||
this(showRaceDetails);
|
||||
this(showRaceDetails, embedded);
|
||||
this.hideToolbar.setValue(hideToolbar);
|
||||
this.autoExpandLastRaceColumn.setValue(autoExpandLastRaceColumn);
|
||||
this.showCharts.setValue(showCharts);
|
||||
this.showOverallLeaderboard.setValue(showOverallLeaderboard);
|
||||
this.showSeriesLeaderboards.setValue(showSeriesLeaderboards);
|
||||
this.zoomTo.setValue(zoomTo);
|
||||
this.embedded.setValue(embedded);
|
||||
this.livePlay.setValue(lifeplay);
|
||||
}
|
||||
|
||||
|
||||
+5
-11
@@ -36,6 +36,7 @@ import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.settings.client.EntryPointWithSettingsLinkFactory;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.DisablableCheckboxCell.IsEnabled;
|
||||
@@ -54,13 +55,10 @@ import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogSetStartTimeAndProcedureDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.settings.Settings;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sse.gwt.client.shared.components.LinkWithSettingsGenerator;
|
||||
import com.sap.sse.gwt.client.shared.perspective.PerspectiveCompositeSettings;
|
||||
|
||||
public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel implements SelectedLeaderboardProvider, RegattasDisplayer,
|
||||
TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
@@ -141,14 +139,10 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
Column<StrippedLeaderboardDTO, SafeHtml> linkColumn = new Column<StrippedLeaderboardDTO, SafeHtml>(anchorCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(StrippedLeaderboardDTO object) {
|
||||
final LinkWithSettingsGenerator<Settings> linkWithSettingsGenerator = new LinkWithSettingsGenerator<>(
|
||||
EntryPointLinkFactory.LEADERBOARD_PATH,
|
||||
new LeaderboardContextDefinition(object.name, object.displayName));
|
||||
LeaderboardPerspectiveOwnSettings perspectiveOwnSettings = new LeaderboardPerspectiveOwnSettings(
|
||||
showRaceDetails);
|
||||
final PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings> settings = new PerspectiveCompositeSettings<LeaderboardPerspectiveOwnSettings>(
|
||||
perspectiveOwnSettings, Collections.emptyMap());
|
||||
return ANCHORTEMPLATE.cell(linkWithSettingsGenerator.createUrl(settings), object.name);
|
||||
final String link = EntryPointWithSettingsLinkFactory.createLeaderboardLink(
|
||||
new LeaderboardContextDefinition(object.name, object.displayName),
|
||||
new LeaderboardPerspectiveOwnSettings(showRaceDetails));
|
||||
return ANCHORTEMPLATE.cell(link, object.name);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
-4
@@ -12,10 +12,6 @@ public class EntryPointLinkFactory extends AbstractEntryPointLinkFactory {
|
||||
public static String createSimulatorLink(Map<String, String> parameters) {
|
||||
return createEntryPointLink("/gwt/Simulator.html", parameters);
|
||||
}
|
||||
|
||||
public static String createLeaderboardLink(Map<String, String> parameters) {
|
||||
return createEntryPointLink(LEADERBOARD_PATH, parameters);
|
||||
}
|
||||
|
||||
public static String createLeaderboardEditingLink(Map<String, String> parameters) {
|
||||
return createEntryPointLink("/gwt/LeaderboardEditing.html", parameters);
|
||||
|
||||
+11
-33
@@ -32,10 +32,11 @@ import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.gwt.settings.client.EntryPointWithSettingsLinkFactory;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.leaderboard.LeaderboardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceBoardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceboardContextDefinition;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.LeaderboardConfigPanel.AnchorCell;
|
||||
import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
|
||||
import com.sap.sailing.gwt.ui.client.HasWelcomeWidget;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
@@ -207,7 +208,11 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg
|
||||
flexTable.setWidget(0, 1, legendPanel);
|
||||
|
||||
if (leaderboardGroup.hasOverallLeaderboard()) {
|
||||
String link = EntryPointLinkFactory.createLeaderboardLink(createOverallLeaderboardLinkParameters());
|
||||
final String link = EntryPointWithSettingsLinkFactory.createLeaderboardLink(
|
||||
new LeaderboardContextDefinition(
|
||||
leaderboardGroup.getName() + " " + LeaderboardNameConstants.OVERALL,
|
||||
stringMessages.overallStandings(), leaderboardGroup.getName()),
|
||||
new LeaderboardPerspectiveOwnSettings(showRaceDetails, isEmbedded));
|
||||
Anchor overallStandingsLink = new Anchor(stringMessages.overallStandings(), true, link);
|
||||
overallStandingsLink.setStyleName(STYLE_ACTIVE_LEADERBOARD);
|
||||
overallStandingsLink.addStyleName("overallStandings");
|
||||
@@ -231,7 +236,10 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg
|
||||
nameAnchorCell) {
|
||||
@Override
|
||||
public SafeHtml getValue(StrippedLeaderboardDTO leaderboard) {
|
||||
String link = EntryPointLinkFactory.createLeaderboardLink(createLeaderboardLinkParameters(leaderboard));
|
||||
final String link = EntryPointWithSettingsLinkFactory.createLeaderboardLink(
|
||||
new LeaderboardContextDefinition(leaderboard.name, leaderboard.displayName,
|
||||
leaderboardGroup.getName()),
|
||||
new LeaderboardPerspectiveOwnSettings(showRaceDetails, isEmbedded));
|
||||
return getAnchor(link, stringMessages.leaderboard(), STYLE_ACTIVE_LEADERBOARD);
|
||||
}
|
||||
};
|
||||
@@ -263,36 +271,6 @@ public class LeaderboardGroupPanel extends SimplePanel implements HasWelcomeWidg
|
||||
flexTable.getFlexCellFormatter().setColSpan(1, 0,2);
|
||||
}
|
||||
|
||||
private Map<String, String> createOverallLeaderboardLinkParameters() {
|
||||
Map<String, String> linkParams = new HashMap<String, String>();
|
||||
linkParams.put("name", leaderboardGroup.getName() + " " + LeaderboardNameConstants.OVERALL);
|
||||
if (showRaceDetails) {
|
||||
linkParams.put("showRaceDetails", "true");
|
||||
}
|
||||
if (isEmbedded) {
|
||||
linkParams.put("embedded", "true");
|
||||
}
|
||||
linkParams.put("displayName", stringMessages.overallStandings());
|
||||
linkParams.put("leaderboardGroupName", leaderboardGroup.getName());
|
||||
return linkParams;
|
||||
}
|
||||
|
||||
private Map<String, String> createLeaderboardLinkParameters(StrippedLeaderboardDTO leaderboard) {
|
||||
Map<String, String> linkParams = new HashMap<String, String>();
|
||||
linkParams.put("name", leaderboard.name);
|
||||
if (showRaceDetails) {
|
||||
linkParams.put("showRaceDetails", "true");
|
||||
}
|
||||
if (isEmbedded) {
|
||||
linkParams.put("embedded", "true");
|
||||
}
|
||||
if (leaderboard.displayName != null) {
|
||||
linkParams.put("displayName", leaderboard.displayName);
|
||||
}
|
||||
linkParams.put("leaderboardGroupName", leaderboardGroup.getName());
|
||||
return linkParams;
|
||||
}
|
||||
|
||||
private HorizontalPanel createLegendPanel() {
|
||||
HorizontalPanel legendPanel = new HorizontalPanel();
|
||||
legendPanel.setStyleName(STYLE_LEGEND);
|
||||
|
||||
Reference in new issue
Block a user