removed code prepared for bug 1089 which is now on branch 1089; trying to move LeaderboardGroupPanel legend to top right

This commit is contained in:
Axel Uhl committed 2012-12-04 21:12:13 +01:00
1 parent bbfdc0f7ea
commit 8b16ebafe4
1 file changed
+29 -99
@@ -5,12 +5,10 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import com.google.gwt.cell.client.SafeHtmlCell;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.FontWeight;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.safehtml.client.SafeHtmlTemplates;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
@@ -19,6 +17,7 @@ import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.DockPanel;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
@@ -171,14 +170,39 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
groupNameLabel.setStyleName(STYLE_NAME_PREFIX + "GroupName");
mainPanel.add(groupNameLabel);
// Using HTML to display the line breaks in the description
HTML leaderboardGroupDescriptionLabel = new HTML(new SafeHtmlBuilder().appendEscapedLines(leaderboardGroup.description)
.toSafeHtml());
HTML leaderboardGroupDescriptionLabel = new HTML(new SafeHtmlBuilder().appendEscapedLines(leaderboardGroup.description).toSafeHtml());
leaderboardGroupDescriptionLabel.setStyleName(STYLE_NAME_PREFIX + "GroupDescription");
mainPanel.add(leaderboardGroupDescriptionLabel);
DockPanel labelAndLegendPanel = new DockPanel();
Label leaderboardsTableLabel = new Label(stringMessages.leaderboards());
leaderboardsTableLabel.setStyleName(STYLE_NAME_PREFIX + "LeaderboardsTableLabel");
mainPanel.add(leaderboardsTableLabel);
labelAndLegendPanel.add(leaderboardsTableLabel, DockPanel.WEST);
// legend
if (!isEmbedded) {
HorizontalPanel legendPanel = new HorizontalPanel();
legendPanel.setStyleName(STYLE_LEGEND);
legendPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
legendPanel.setSpacing(5);
labelAndLegendPanel.add(legendPanel, DockPanel.EAST);
Label legendLabel = new Label(stringMessages.legend() + ":");
legendLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
legendPanel.add(legendLabel);
Label inactiveRace = new Label(stringMessages.untracked());
inactiveRace.setStyleName(STYLE_INACTIVE_RACE);
legendPanel.add(inactiveRace);
Label activeRace = new Label(stringMessages.tracked());
activeRace.setStyleName(STYLE_ACTIVE_RACE);
legendPanel.add(activeRace);
Label liveRace = new Label(stringMessages.live());
liveRace.setStyleName(STYLE_LIVE_RACE);
legendPanel.add(liveRace);
}
mainPanel.add(labelAndLegendPanel);
if (leaderboardGroup.hasOverallLeaderboard()) {
String debugParam = Window.Location.getParameter("gwt.codesvr");
@@ -249,30 +273,6 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
}
mainPanel.add(leaderboardsTable);
// legend
if (!isEmbedded) {
HorizontalPanel legendPanel = new HorizontalPanel();
legendPanel.setStyleName(STYLE_LEGEND);
legendPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
legendPanel.setSpacing(5);
mainPanel.add(legendPanel);
Label legendLabel = new Label(stringMessages.legend() + ":");
legendLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD);
legendPanel.add(legendLabel);
Label inactiveRace = new Label(stringMessages.untracked());
inactiveRace.setStyleName(STYLE_INACTIVE_RACE);
legendPanel.add(inactiveRace);
Label activeRace = new Label(stringMessages.tracked());
activeRace.setStyleName(STYLE_ACTIVE_RACE);
legendPanel.add(activeRace);
Label liveRace = new Label(stringMessages.live());
liveRace.setStyleName(STYLE_LIVE_RACE);
legendPanel.add(liveRace);
}
}
private String shortenLeaderboardName(String prefixToCut, String leaderboardName) {
@@ -302,85 +302,15 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget
return b.toSafeHtml();
}
// TODO Bug 1089: this method is in preparation of a solution to bug 1089
private SafeHtml leaderboardRacesToHtmlDayByDay(StrippedLeaderboardDTO leaderboard) {
SafeHtmlBuilder b = new SafeHtmlBuilder();
if (!leaderboard.isRegattaLeaderboard) {
FleetDTO defaultFleet = new FleetDTO("Default", 0, null);
DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd");
DateTimeFormat dayFormat = DateTimeFormat.getFormat("MMMM d");
List<RaceColumnDTO> racesWithUnknownDate = new ArrayList<RaceColumnDTO>();
Map<String, List<RaceColumnDTO>> orderedRacesByDay = new TreeMap<String, List<RaceColumnDTO>>();
List<RaceColumnDTO> lastRacesPerDayList = null;
for (RaceColumnDTO raceColumn : leaderboard.getRaceList()) {
RaceDTO race = raceColumn.getRace(defaultFleet);
if(race != null && race.startOfRace != null) {
String day = format.format(race.startOfRace);
List<RaceColumnDTO> racesPerDay = orderedRacesByDay.get(day);
if(racesPerDay == null) {
racesPerDay = new ArrayList<RaceColumnDTO>();
orderedRacesByDay.put(day, racesPerDay);
lastRacesPerDayList = racesPerDay;
}
if(!racesWithUnknownDate.isEmpty()) {
racesPerDay.addAll(racesWithUnknownDate);
racesWithUnknownDate.clear();
}
racesPerDay.add(raceColumn);
} else {
racesWithUnknownDate.add(raceColumn);
}
}
if (!racesWithUnknownDate.isEmpty()) {
if(lastRacesPerDayList == null) {
// all races have an unknown date
orderedRacesByDay.put("unknown", racesWithUnknownDate);
} else {
// add the remaining list of races with unknown date to the last day
lastRacesPerDayList.addAll(racesWithUnknownDate);
}
}
for(List<RaceColumnDTO> raceColumnsPerDay: orderedRacesByDay.values()) {
b.appendHtmlConstant("<div style=\"float:left;\">");
for (RaceColumnDTO raceColumn : raceColumnsPerDay) {
RaceDTO race = raceColumn.getRace(defaultFleet);
if(race != null && race.startOfRace != null) {
String dayAsText = dayFormat.format(race.startOfRace);
b.append(TEXTTEMPLATE.textWithClass(dayAsText, 100, STYLE_TABLE_TEXT));
break;
}
}
for (RaceColumnDTO raceColumn : raceColumnsPerDay) {
String raceColumnName = raceColumn.getRaceColumnName();
RaceDTO race = raceColumn.getRace(defaultFleet);
renderRaceLink(leaderboard.name, race, raceColumn.isLive(defaultFleet), raceColumnName, b);
}
b.appendHtmlConstant("</div>");
b.appendHtmlConstant("<div style=\"clear:both;\"></div>");
}
}
return b.toSafeHtml();
}
private void renderSeriesToHtml(StrippedLeaderboardDTO leaderboard, SeriesDTO series, boolean renderSeriesName, SafeHtmlBuilder b) {
boolean hasMultipleFleets = series.getFleets().size() > 1;
Map<String, List<RaceColumnDTO>> racesOrderedByFleets = getRacesOrderedByFleets(leaderboard);
b.appendHtmlConstant("<div style=\"float:left;\">");
if(renderSeriesName) {
b.append(TEXTTEMPLATE.textWithClass(series.name, 50, STYLE_TABLE_TEXT));
}
b.appendHtmlConstant("</div>");
b.appendHtmlConstant("<div style=\"float:left;\">");
for(FleetDTO fleet: series.getFleets()) {
Color color = fleet.getColor();
List<RaceColumnDTO> raceColumns = racesOrderedByFleets.get(fleet.name);