require showRaceDetails=true to allow for showing race details in leaderboard group overview

This commit is contained in:
Axel Uhl committed 2012-06-17 00:54:56 +02:00
1 parent e84ed4cc9c
commit 348588816f
5 files changed
+34 -21

No files matched your search

@@ -410,6 +410,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel {
public SafeHtml getValue(LeaderboardGroupDTO group) {
String debugParam = Window.Location.getParameter("gwt.codesvr");
String link = URLFactory.INSTANCE.encode("/gwt/Spectator.html?leaderboardGroupName=" + group.name
+ "&showRaceDetails=true"
+ (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : ""));
return ANCHORTEMPLATE.cell(link, group.name);
}
@@ -35,7 +35,7 @@ public class GlobalNavigationPanel extends FlowPanel {
if(showHomeNavigation) {
if (leaderboardGroupName != null && !leaderboardGroupName.isEmpty()) {
String leaderBoardGroupLink = spectatorViewLink + "?leaderboardGroupName=" + leaderboardGroupName;
String leaderBoardGroupLink = spectatorViewLink + "?showRaceDetails=true&leaderboardGroupName=" + leaderboardGroupName;
addNavigationLink(leaderboardGroupName, leaderBoardGroupLink, "leaderBoardGroup", "Go to the Event overview.");
} else {
addNavigationLink(stringMessages.home(), homeLink, "home", "Go to the Event overview.");
@@ -63,9 +63,9 @@ public class LeaderboardGroupOverviewPanel extends FormPanel {
public static final String STYLE_NAME_PREFIX = "groupOverviewPanel-";
private static final AnchorTemplates ANCHORTEMPLATE = GWT.create(AnchorTemplates.class);
private SailingServiceAsync sailingService;
private ErrorReporter errorReporter;
private StringMessages stringMessages;
private final SailingServiceAsync sailingService;
private final ErrorReporter errorReporter;
private final StringMessages stringMessages;
private TextBox locationTextBox;
private TextBox nameTextBox;
@@ -92,8 +92,11 @@ public class LeaderboardGroupOverviewPanel extends FormPanel {
private ListDataProvider<RaceColumnDTO> racesDataProvider;
private List<LeaderboardGroupDTO> availableGroups;
private final boolean showRaceDetails;
public LeaderboardGroupOverviewPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter, StringMessages stringMessages) {
public LeaderboardGroupOverviewPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
StringMessages stringMessages, boolean showRaceDetails) {
this.showRaceDetails = showRaceDetails;
this.sailingService = sailingService;
this.errorReporter = errorReporter;
this.stringMessages = stringMessages;
@@ -220,7 +223,9 @@ public class LeaderboardGroupOverviewPanel extends FormPanel {
@Override
public SafeHtml getValue(LeaderboardGroupDTO group) {
String debugParam = Window.Location.getParameter("gwt.codesvr");
String link = URLFactory.INSTANCE.encode("/gwt/Spectator.html?leaderboardGroupName=" + group.name + "&root=overview"
String link = URLFactory.INSTANCE.encode("/gwt/Spectator.html?"+
(showRaceDetails ? "showRaceDetails=true&" : "") +
"leaderboardGroupName=" + group.name + "&root=overview"
+ (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : ""));
return ANCHORTEMPLATE.anchor(link, group.name);
}
@@ -79,11 +79,13 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
private Widget welcomeWidget = null;
private boolean allLeaderboardNamesStartWithGroupName = false;
private final boolean embedded;
private final boolean showRaceDetails;
public LeaderboardGroupPanel(SailingServiceAsync sailingService, StringMessages stringConstants,
ErrorReporter errorReporter, final String groupName, String root, String viewMode, boolean embedded) {
ErrorReporter errorReporter, final String groupName, String root, String viewMode, boolean embedded, boolean showRaceDetails) {
super();
this.embedded = embedded;
this.showRaceDetails = showRaceDetails;
this.sailingService = sailingService;
this.stringConstants = stringConstants;
this.errorReporter = errorReporter;
@@ -164,7 +166,7 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
};
AnchorCell nameAnchorCell = new AnchorCell();
Column<StrippedLeaderboardDTO, SafeHtml> nameColumn = new Column<StrippedLeaderboardDTO, SafeHtml>(
Column<StrippedLeaderboardDTO, SafeHtml> overviewColumn = new Column<StrippedLeaderboardDTO, SafeHtml>(
nameAnchorCell) {
@Override
public SafeHtml getValue(StrippedLeaderboardDTO leaderboard) {
@@ -183,20 +185,22 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
}
};
SafeHtmlCell racesCell = new SafeHtmlCell();
Column<StrippedLeaderboardDTO, SafeHtml> racesColumn = new Column<StrippedLeaderboardDTO, SafeHtml>(racesCell) {
@Override
public SafeHtml getValue(StrippedLeaderboardDTO leaderboard) {
return leaderboardRacesToHtml(leaderboard);
}
};
LeaderboardGroupFullTableResources tableResources = GWT.create(LeaderboardGroupFullTableResources.class);
CellTable<StrippedLeaderboardDTO> leaderboardsTable = new CellTable<StrippedLeaderboardDTO>(200, tableResources);
leaderboardsTable.setSelectionModel(new NoSelectionModel<StrippedLeaderboardDTO>());
leaderboardsTable.addColumn(leaderboardNameColumn, stringConstants.name());
leaderboardsTable.addColumn(nameColumn, stringConstants.races());
leaderboardsTable.addColumn(racesColumn);
leaderboardsTable.addColumn(overviewColumn, stringConstants.leaderboard());
if (showRaceDetails) {
SafeHtmlCell racesCell = new SafeHtmlCell();
Column<StrippedLeaderboardDTO, SafeHtml> racesColumn = new Column<StrippedLeaderboardDTO, SafeHtml>(
racesCell) {
@Override
public SafeHtml getValue(StrippedLeaderboardDTO leaderboard) {
return leaderboardRacesToHtml(leaderboard);
}
};
leaderboardsTable.addColumn(racesColumn, stringConstants.races());
}
leaderboardsTable.setRowData(group.leaderboards);
mainPanel.add(leaderboardsTable);
}
@@ -309,7 +313,8 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
if (root.equals("overview")) {
String debugParam = Window.Location.getParameter("gwt.codesvr");
String link = "/gwt/Spectator.html"
+ (debugParam != null && !debugParam.isEmpty() ? "?gwt.codesvr=" + debugParam : "");
+ (showRaceDetails ? "?showRaceDetails=true" : "")
+ (debugParam != null && !debugParam.isEmpty() ? (showRaceDetails?"":"?")+"gwt.codesvr=" + debugParam : "");
ArrayList<Pair<String, String>> breadcrumbLinksData = new ArrayList<Pair<String, String>>();
breadcrumbLinksData.add(new Pair<String, String>(link, stringConstants.home()));
breadcrumbPanel = new BreadcrumbPanel(breadcrumbLinksData, group.name);
@@ -27,6 +27,8 @@ public class SpectatorEntryPoint extends AbstractEntryPoint implements RegattaRe
super.onModuleLoad();
String groupParamValue = Window.Location.getParameter("leaderboardGroupName");
String viewModeParamValue = Window.Location.getParameter("viewMode");
boolean showRaceDetails = Window.Location.getParameter("showRaceDetails") != null
&& Window.Location.getParameter("showRaceDetails").equalsIgnoreCase("true");
final String groupName;
if (groupParamValue == null || groupParamValue.isEmpty()) {
groupName = null;
@@ -63,11 +65,11 @@ public class SpectatorEntryPoint extends AbstractEntryPoint implements RegattaRe
if (groupName == null) {
FlowPanel groupOverviewPanel = new FlowPanel();
groupOverviewPanel.addStyleName("contentOuterPanel");
groupOverviewPanel.add(new LeaderboardGroupOverviewPanel(sailingService, this, stringMessages));
groupOverviewPanel.add(new LeaderboardGroupOverviewPanel(sailingService, this, stringMessages, showRaceDetails));
rootPanel.add(groupOverviewPanel);
} else {
LeaderboardGroupPanel groupPanel = new LeaderboardGroupPanel(sailingService, stringMessages, this,
groupName, root, viewModeParamValue, embedded);
groupName, root, viewModeParamValue, embedded, showRaceDetails);
groupPanel.getElement().getStyle().setFloat(Style.Float.LEFT);
groupAndFeedbackPanel.add(groupPanel);
if (!embedded) {