mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-04 03:13:49 +00:00
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:
1 parent
bbfdc0f7ea
commit
8b16ebafe4
1 file changed
+29
-99
+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);
|
||||
|
||||
Reference in new issue
Block a user