diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java index c4b144cfa2f..7afd6f6ff85 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBody.java @@ -41,12 +41,6 @@ public class MultiRegattaListStepsBody extends UIObject implements RequiresResiz nameUi.getStyle().setVisibility(Visibility.HIDDEN); seriesName = DEFAULT_SERIES_NAME.equals(seriesProgress.getName()) ? I18N.races() : seriesProgress.getName(); nameUi.setInnerText(seriesName); - Scheduler.get().scheduleDeferred(new ScheduledCommand() { - @Override - public void execute() { - renderNames(); - } - }); if (seriesProgress.isCompleted()) { progressUi.setInnerText(String.valueOf(seriesProgress.getTotalRaceCount())); } else { @@ -55,21 +49,26 @@ public class MultiRegattaListStepsBody extends UIObject implements RequiresResiz seriesProgress.getProgressRaceCount(), seriesProgress.getTotalRaceCount())); } addFleetProgresses(seriesProgress.getFleetState(), seriesProgress.getTotalRaceCount()); + Scheduler.get().scheduleDeferred(new ScheduledCommand() { + @Override + public void execute() { + renderNames(); + } + }); } - private void addFleetProgresses(Map fleetStates, int totalRaceCount) { double height = fleetStates.isEmpty() ? 100.0 : 100.0 / fleetStates.size(); for (Entry fleetState : fleetStates.entrySet()) { - double fleetWidth = (fleetState.getValue().getFinishedRaceCount() * 100.0) / totalRaceCount; + double finishedWidth = (fleetState.getValue().getFinishedRaceCount() * 100.0) / totalRaceCount; + double liveWidth = (fleetState.getValue().getFinishedAndLiveRaceCount() * 100.0) / totalRaceCount; String fleetColor = fleetState.getKey().getFleetColor(); - MultiRegattaListStepsBodyFleet fleet = new MultiRegattaListStepsBodyFleet(fleetWidth, height, fleetColor); + MultiRegattaListStepsBodyFleet fleet = new MultiRegattaListStepsBodyFleet(finishedWidth, liveWidth, height, fleetColor); fleetsContainerUi.appendChild(fleet.getElement()); } } private void renderNames() { - if (getElement().getOffsetWidth() < nameUi.getOffsetWidth() + checkUi.getOffsetWidth() + progressUi.getOffsetWidth()) { String[] tokens = seriesName.split(" "); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.java index 9ed3a907e5c..94474e460a1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.java @@ -16,12 +16,15 @@ public class MultiRegattaListStepsBodyFleet extends UIObject { } @UiField DivElement fleetProgressBarUi; + @UiField DivElement fleetProgressBarLiveUi; - public MultiRegattaListStepsBodyFleet(double width, double height, String color) { + public MultiRegattaListStepsBodyFleet(double finishedWidth, double liveWidth, double height, String color) { setElement(uiBinder.createAndBindUi(this)); getElement().getStyle().setHeight(height, Unit.PCT); - fleetProgressBarUi.getStyle().setWidth(width, Unit.PCT); + fleetProgressBarUi.getStyle().setWidth(finishedWidth, Unit.PCT); fleetProgressBarUi.getStyle().setBackgroundColor(color); + fleetProgressBarLiveUi.getStyle().setWidth(liveWidth, Unit.PCT); + fleetProgressBarLiveUi.getStyle().setBackgroundColor("#ff4040"); } - + } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.ui.xml index 4bb1819a9f9..fe69964d172 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.ui.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/partials/multiRegattaList/MultiRegattaListStepsBodyFleet.ui.xml @@ -4,7 +4,8 @@ -
-
+
+
+
\ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/regatta/RegattaProgressFleetDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/regatta/RegattaProgressFleetDTO.java index 40c5262c700..be3a530de8e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/regatta/RegattaProgressFleetDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/dispatch/regatta/RegattaProgressFleetDTO.java @@ -22,4 +22,8 @@ public class RegattaProgressFleetDTO implements DTO { public int getLiveRaceCount() { return liveRaceCount; } + + public int getFinishedAndLiveRaceCount() { + return finishedRaceCount + liveRaceCount; + } }