mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
Race list - Start time is show with date, if the date varies
This commit is contained in:
1 parent
442201fee6
commit
ad921137a2
4 files changed
+44
-20
No files matched your search
+1
@@ -49,6 +49,7 @@ public class RacesListLive extends Composite {
|
||||
boolean hasFleets = RaceListDataUtil.hasFleets(data);
|
||||
this.fleetCornerColumn.setShowDetails(hasFleets);
|
||||
this.fleetNameColumn.setShowDetails(hasFleets);
|
||||
this.startTimeColumn.setShowTimeOnly(!RaceListDataUtil.hasDifferentStartDates(data));
|
||||
this.courseAreaColumn.setShowDetails(RaceListDataUtil.hasCourseAreas(data));
|
||||
this.courseColumn.setShowDetails(RaceListDataUtil.hasCourses(data));
|
||||
boolean hasWind = RaceListDataUtil.hasWind(data);
|
||||
|
||||
+2
-1
@@ -10,6 +10,7 @@ import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.raceListLive.RacesListLiveResources;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.raceListLive.RacesListLiveResources.LocalCss;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.racelist.RaceListColumnFactory.SortableRaceListStartTimeColumn;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.SortedCellTable;
|
||||
import com.sap.sailing.gwt.ui.shared.race.RaceMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.race.wind.AbstractWindDTO;
|
||||
@@ -25,7 +26,7 @@ public abstract class AbstractRaceList<T extends RaceMetadataDTO<? extends Abstr
|
||||
protected final SortableRaceListColumn<T, ?> fleetCornerColumn = RaceListColumnFactory.getFleetCornerColumn();
|
||||
protected final SortableRaceListColumn<T, ?> raceNameColumn = RaceListColumnFactory.getRaceNameColumn();
|
||||
protected final SortableRaceListColumn<T, ?> fleetNameColumn = RaceListColumnFactory.getFleetNameColumn();
|
||||
protected final SortableRaceListColumn<T, ?> startTimeColumn = RaceListColumnFactory.getStartTimeColumn();
|
||||
protected final SortableRaceListStartTimeColumn<T> startTimeColumn = RaceListColumnFactory.getStartTimeColumn();
|
||||
protected final SortableRaceListColumn<T, ?> windDirectionColumn = RaceListColumnFactory.getWindDirectionColumn();
|
||||
protected final SortableRaceListColumn<T, ?> raceViewerButtonColumn;
|
||||
|
||||
|
||||
+40
-19
@@ -4,7 +4,6 @@ import java.util.Date;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
import com.google.gwt.cell.client.Cell;
|
||||
import com.google.gwt.cell.client.DateCell;
|
||||
import com.google.gwt.cell.client.TextCell;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.TextTransform;
|
||||
@@ -185,30 +184,14 @@ public class RaceListColumnFactory {
|
||||
};
|
||||
}
|
||||
|
||||
public static <T extends RaceMetadataDTO<?>> SortableRaceListColumn<T, Date> getStartTimeColumn() {
|
||||
Cell<Date> cell = new DateCell(DateTimeFormat.getFormat(PredefinedFormat.HOUR24_MINUTE));
|
||||
public static <T extends RaceMetadataDTO<?>> SortableRaceListStartTimeColumn<T> getStartTimeColumn() {
|
||||
InvertibleComparator<T> comparator = new InvertibleComparatorWrapper<T, Date>(new NullSafeComparableComparator<Date>()) {
|
||||
@Override
|
||||
protected Date getComparisonValue(T object) {
|
||||
return object.getStart();
|
||||
}
|
||||
};
|
||||
return new SortableRaceListColumn<T, Date>(I18N.start(), cell, comparator) {
|
||||
@Override
|
||||
public String getHeaderStyle() {
|
||||
return CSS.raceslist_head_item();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getColumnStyle() {
|
||||
return CSS.race_item();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getValue(T object) {
|
||||
return object.getStart();
|
||||
}
|
||||
};
|
||||
return new SortableRaceListStartTimeColumn<T>(comparator);
|
||||
}
|
||||
|
||||
public static <T extends RaceListRaceDTO> SortableRaceListColumn<T, String> getDurationColumn() {
|
||||
@@ -557,6 +540,44 @@ public class RaceListColumnFactory {
|
||||
};
|
||||
}
|
||||
|
||||
public static class SortableRaceListStartTimeColumn<T extends RaceMetadataDTO<?>> extends SortableRaceListColumn<T, Date> {
|
||||
protected SortableRaceListStartTimeColumn(InvertibleComparator<T> comparator) {
|
||||
super(I18N.start(), new StartTimeCell(), comparator);
|
||||
}
|
||||
|
||||
public void setShowTimeOnly(boolean showTimeOnly) {
|
||||
((StartTimeCell) getCell()).showTimeOnly = showTimeOnly;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHeaderStyle() {
|
||||
return CSS.raceslist_head_item();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getColumnStyle() {
|
||||
return CSS.race_item();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getValue(T object) {
|
||||
return object.getStart();
|
||||
}
|
||||
|
||||
private static class StartTimeCell extends AbstractCell<Date> {
|
||||
private static final DateTimeFormat DATE_FORMAT = DateTimeFormat.getFormat(PredefinedFormat.MONTH_NUM_DAY);
|
||||
private static final DateTimeFormat TIME_FORMAT = DateTimeFormat.getFormat(PredefinedFormat.HOUR24_MINUTE);
|
||||
private boolean showTimeOnly = true;
|
||||
@Override
|
||||
public void render(Context context, Date value, SafeHtmlBuilder sb) {
|
||||
if (value != null) {
|
||||
sb.appendEscaped(showTimeOnly ? "" : (DATE_FORMAT.format(value) + " ") + TIME_FORMAT.format(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static abstract class WindSpeedOrRangeColumn<T extends RaceMetadataDTO<?>> extends SortableRaceListColumn<T, String> {
|
||||
protected WindSpeedOrRangeColumn(InvertibleComparator<T> comparator) {
|
||||
super(I18N.wind(), new TextCell(), comparator);
|
||||
|
||||
+1
@@ -220,6 +220,7 @@ public class RegattaRacesTabView extends Composite implements RegattaTabView<Reg
|
||||
boolean hasFleets = RaceListDataUtil.hasFleets(data);
|
||||
this.fleetCornerColumn.setShowDetails(hasFleets);
|
||||
this.fleetNameColumn.setShowDetails(hasFleets);
|
||||
this.startTimeColumn.setShowTimeOnly(!RaceListDataUtil.hasDifferentStartDates(data));
|
||||
this.durationColumn.setShowDetails(RaceListDataUtil.hasDurations(data));
|
||||
boolean hasWind = RaceListDataUtil.hasWind(data);
|
||||
this.windSpeedColumn.setShowDetails(hasWind);
|
||||
|
||||
Reference in new issue
Block a user