mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-11 23:00:59 +00:00
UI improvement for Bug 2035 - Raceboard counts legs wrong in case of split fleets
Show 'n/a' for legs in leaderboards with split fleets with different leg counts in case there is no leg data available
This commit is contained in:
1 parent
83097b0d62
commit
a437b2b7ef
2 files changed
+11
-7
No files matched your search
+3
-3
@@ -918,9 +918,9 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
|
||||
// it is important to re-use existing LegColumn objects because
|
||||
// removing the columns from the table
|
||||
// is based on column identity
|
||||
int legCount = getLeaderboard().getLegCount(getRaceColumnName(), preSelectedRace);
|
||||
if (legCount != -1) {
|
||||
for (int i = 0; i < legCount; i++) {
|
||||
int maxLegCount = getLeaderboard().getLegCount(getRaceColumnName(), preSelectedRace);
|
||||
if (maxLegCount != -1) {
|
||||
for (int i = 0; i < maxLegCount; i++) {
|
||||
LegColumn legColumn = getLegColumn(i);
|
||||
result.add(legColumn);
|
||||
}
|
||||
|
||||
+8
-4
@@ -27,7 +27,7 @@ import com.sap.sailing.gwt.ui.leaderboard.DetailTypeColumn.LegDetailField;
|
||||
*
|
||||
*/
|
||||
public class LegColumn extends ExpandableSortableColumn<String> {
|
||||
private final String raceName;
|
||||
private final String raceColumnName;
|
||||
private final int legIndex;
|
||||
private final StringMessages stringMessages;
|
||||
private final String headerStyle;
|
||||
@@ -218,13 +218,13 @@ public class LegColumn extends ExpandableSortableColumn<String> {
|
||||
}
|
||||
}
|
||||
|
||||
public LegColumn(LeaderboardPanel leaderboardPanel, String raceName, int legIndex, SortingOrder preferredSortingOrder, StringMessages stringMessages,
|
||||
public LegColumn(LeaderboardPanel leaderboardPanel, String raceColumnName, int legIndex, SortingOrder preferredSortingOrder, StringMessages stringMessages,
|
||||
List<DetailType> legDetailSelection, String headerStyle, String columnStyle,
|
||||
String detailHeaderStyle, String detailColumnStyle) {
|
||||
super(leaderboardPanel, /* expandable */true /* all legs have details */, new TextCell(), preferredSortingOrder,
|
||||
stringMessages, detailHeaderStyle, detailColumnStyle, legDetailSelection, leaderboardPanel);
|
||||
setHorizontalAlignment(ALIGN_CENTER);
|
||||
this.raceName = raceName;
|
||||
this.raceColumnName = raceColumnName;
|
||||
this.legIndex = legIndex;
|
||||
this.stringMessages = stringMessages;
|
||||
this.headerStyle = headerStyle;
|
||||
@@ -308,7 +308,7 @@ public class LegColumn extends ExpandableSortableColumn<String> {
|
||||
}
|
||||
|
||||
private String getRaceName() {
|
||||
return raceName;
|
||||
return raceColumnName;
|
||||
}
|
||||
|
||||
private LegEntryDTO getLegEntry(LeaderboardRowDTO row) {
|
||||
@@ -347,9 +347,13 @@ public class LegColumn extends ExpandableSortableColumn<String> {
|
||||
|
||||
@Override
|
||||
public String getValue(LeaderboardRowDTO row) {
|
||||
LeaderboardEntryDTO leaderboardEntryDTO = row.fieldsByRaceColumnName.get(raceColumnName);
|
||||
int legDetailsCount = leaderboardEntryDTO.legDetails.size();
|
||||
LegEntryDTO legEntry = getLegEntry(row);
|
||||
if (legEntry != null && legEntry.rank != 0) {
|
||||
return ""+legEntry.rank;
|
||||
} else if (legIndex+1 > legDetailsCount) {
|
||||
return "n/a";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user