mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
added competitors charts as configurable component to the Autoplay config
This commit is contained in:
1 parent
53f9741a5a
commit
beb779d428
9 files changed
+90
-9
No files matched your search
+12
-1
@@ -24,6 +24,7 @@ import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.autoplay.client.app.PlaceNavigator;
|
||||
@@ -31,6 +32,9 @@ import com.sap.sailing.gwt.autoplay.client.place.player.AutoPlayerConfiguration;
|
||||
import com.sap.sailing.gwt.autoplay.client.shared.header.SAPHeader;
|
||||
import com.sap.sailing.gwt.common.client.SharedResources;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.AbstractCompetitorRaceChart;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.ChartSettings;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorRaceChartSettings;
|
||||
import com.sap.sailing.gwt.ui.client.shared.perspective.Perspective;
|
||||
import com.sap.sailing.gwt.ui.client.shared.perspective.TabbedPerspectiveConfigurationDialog;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
@@ -127,7 +131,8 @@ public class DesktopStartView extends Composite implements StartView {
|
||||
|
||||
private void updatePerspectives(AbstractLeaderboardDTO leaderboard) {
|
||||
leaderboardPerspective = new ProxyLeaderboardPerspective(leaderboard, createDefaultLeaderboardSettings(leaderboard));
|
||||
raceboardPerspective = new ProxyRaceBoardPerspective(new RaceBoardPerspectiveSettings(), leaderboard, createDefaultLeaderboardSettings(leaderboard));
|
||||
raceboardPerspective = new ProxyRaceBoardPerspective(new RaceBoardPerspectiveSettings(), leaderboard,
|
||||
createDefaultLeaderboardSettings(leaderboard), createDefaultMultiCompetitorRaceChartSettings());
|
||||
|
||||
perspectiveSettings.clear();
|
||||
}
|
||||
@@ -241,6 +246,12 @@ public class DesktopStartView extends Composite implements StartView {
|
||||
}
|
||||
}
|
||||
|
||||
private MultiCompetitorRaceChartSettings createDefaultMultiCompetitorRaceChartSettings() {
|
||||
ChartSettings chartSettings = new ChartSettings(AbstractCompetitorRaceChart.DEFAULT_STEPSIZE);
|
||||
DetailType defaultDetailType = DetailType.WINDWARD_DISTANCE_TO_COMPETITOR_FARTHEST_AHEAD;
|
||||
return new MultiCompetitorRaceChartSettings(chartSettings, defaultDetailType);
|
||||
}
|
||||
|
||||
private LeaderboardSettings createDefaultLeaderboardSettings(AbstractLeaderboardDTO leaderboard) {
|
||||
List<String> namesOfRaceColumnsToShow = new ArrayList<String>();
|
||||
for (RaceColumnDTO raceColumn : leaderboard.getRaceList()) {
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@
|
||||
</div>
|
||||
<div class="{res.mediaCss.grid} {style.row}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
|
||||
<span>Raceboard Viewer:</span>
|
||||
<span>Race Viewer:</span>
|
||||
</div>
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
|
||||
<g:FlowPanel ui:field="raceboardPerspectiveSettingsPanel" />
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ public class ProxyLeaderboardComponent implements Component<LeaderboardSettings>
|
||||
|
||||
@Override
|
||||
public String getLocalizedShortName() {
|
||||
return stringMessages.leaderboardConfiguration();
|
||||
return stringMessages.leaderboard();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.sap.sailing.gwt.autoplay.client.place.start;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorRaceChartSettings;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorRaceChartSettingsComponent;
|
||||
import com.sap.sse.gwt.client.shared.components.Component;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
|
||||
public class ProxyMultiCompetitorRaceChartComponent implements Component<MultiCompetitorRaceChartSettings> {
|
||||
private final StringMessages stringMessages;
|
||||
private MultiCompetitorRaceChartSettings settings;
|
||||
|
||||
public ProxyMultiCompetitorRaceChartComponent(MultiCompetitorRaceChartSettings settings, StringMessages stringMessages) {
|
||||
this.settings = settings;
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSettings() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SettingsDialogComponent<MultiCompetitorRaceChartSettings> getSettingsDialogComponent() {
|
||||
return new MultiCompetitorRaceChartSettingsComponent(settings, stringMessages, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSettings(MultiCompetitorRaceChartSettings newSettings) {
|
||||
this.settings = newSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLocalizedShortName() {
|
||||
return stringMessages.competitorCharts();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Widget getEntryWidget() {
|
||||
throw new UnsupportedOperationException(
|
||||
"Internal error. This settings dialog does not actually belong to a real chart");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVisible(boolean visibility) {
|
||||
// no-op
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDependentCssClassName() {
|
||||
return "multiCompetitorRaceChart";
|
||||
}
|
||||
|
||||
@Override
|
||||
public MultiCompetitorRaceChartSettings getSettings() {
|
||||
return settings;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -33,7 +33,7 @@ public class ProxyRaceMapComponent implements Component<RaceMapSettings> {
|
||||
|
||||
@Override
|
||||
public String getLocalizedShortName() {
|
||||
return stringMessages.settingsForComponent(stringMessages.map());
|
||||
return stringMessages.map();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ public class ProxyWindChartComponent implements Component<WindChartSettings> {
|
||||
|
||||
@Override
|
||||
public String getLocalizedShortName() {
|
||||
return stringMessages.settingsForComponent(stringMessages.windChart());
|
||||
return stringMessages.windChart();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-1
@@ -76,6 +76,8 @@ public abstract class AbstractCompetitorRaceChart<SettingsType extends ChartSett
|
||||
CompetitorSelectionChangeListener, RequiresResize {
|
||||
public static final String LOAD_COMPETITOR_CHART_DATA_CATEGORY = "loadCompetitorChartData";
|
||||
|
||||
public static final long DEFAULT_STEPSIZE = 5000;
|
||||
|
||||
private static final int LINE_WIDTH = 1;
|
||||
|
||||
private final Label noCompetitorsSelectedLabel;
|
||||
@@ -87,7 +89,7 @@ public abstract class AbstractCompetitorRaceChart<SettingsType extends ChartSett
|
||||
private final boolean allowTimeAdjust;
|
||||
private final String leaderboardGroupName;
|
||||
private final String leaderboardName;
|
||||
private long stepSize = 5000;
|
||||
private long stepSize = DEFAULT_STEPSIZE;
|
||||
private final Map<CompetitorDTO, Series> dataSeriesByCompetitor;
|
||||
private final Map<CompetitorDTO, Series> markPassingSeriesByCompetitor;
|
||||
private Long timeOfEarliestRequestInMillis;
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@ import com.sap.sailing.domain.common.DetailType;
|
||||
public class MultiCompetitorRaceChartSettings extends ChartSettings {
|
||||
private final DetailType detailType;
|
||||
|
||||
public MultiCompetitorRaceChartSettings(ChartSettings superResult, DetailType detailType) {
|
||||
super(superResult);
|
||||
public MultiCompetitorRaceChartSettings(ChartSettings settings, DetailType detailType) {
|
||||
super(settings);
|
||||
this.detailType = detailType;
|
||||
}
|
||||
|
||||
|
||||
+5
-1
@@ -3,9 +3,11 @@ package com.sap.sailing.gwt.ui.raceboard;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
|
||||
import com.sap.sailing.gwt.autoplay.client.place.start.ProxyLeaderboardComponent;
|
||||
import com.sap.sailing.gwt.autoplay.client.place.start.ProxyMultiCompetitorRaceChartComponent;
|
||||
import com.sap.sailing.gwt.autoplay.client.place.start.ProxyRaceMapComponent;
|
||||
import com.sap.sailing.gwt.autoplay.client.place.start.ProxyWindChartComponent;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorRaceChartSettings;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.WindChartSettings;
|
||||
import com.sap.sailing.gwt.ui.client.shared.perspective.AbstractPerspective;
|
||||
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapSettings;
|
||||
@@ -20,7 +22,8 @@ import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
|
||||
public class ProxyRaceBoardPerspective extends AbstractPerspective<RaceBoardPerspectiveSettings> {
|
||||
private RaceBoardPerspectiveSettings perspectiveSettings;
|
||||
|
||||
public ProxyRaceBoardPerspective(RaceBoardPerspectiveSettings perspectiveSettings, AbstractLeaderboardDTO leaderboard, LeaderboardSettings defaultLeaderboardSettings) {
|
||||
public ProxyRaceBoardPerspective(RaceBoardPerspectiveSettings perspectiveSettings, AbstractLeaderboardDTO leaderboard, LeaderboardSettings defaultLeaderboardSettings,
|
||||
MultiCompetitorRaceChartSettings defaultMultiCompetitorRaceChartSettings) {
|
||||
super();
|
||||
|
||||
this.perspectiveSettings = perspectiveSettings;
|
||||
@@ -28,6 +31,7 @@ public class ProxyRaceBoardPerspective extends AbstractPerspective<RaceBoardPers
|
||||
components.add(new ProxyRaceMapComponent(new RaceMapSettings(), StringMessages.INSTANCE));
|
||||
components.add(new ProxyWindChartComponent(new WindChartSettings(), StringMessages.INSTANCE));
|
||||
components.add(new ProxyLeaderboardComponent(defaultLeaderboardSettings, leaderboard, StringMessages.INSTANCE));
|
||||
components.add(new ProxyMultiCompetitorRaceChartComponent(defaultMultiCompetitorRaceChartSettings, StringMessages.INSTANCE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user