mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-17 01:31:01 +00:00
implemented the competitor preselection for the competitor chart for series
fixed recalculation of competitor charts after a competior selection change in the leaderboard
This commit is contained in:
1 parent
ba71824cde
commit
c5e8b67da0
7 files changed
+35
-3
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
||||
chartSelectionHint=Hint: To change the displayed competitors in the chart you can also use the leaderboard.
|
||||
chartSelectionHint=Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart.
|
||||
chooseALanguage=Choose a language
|
||||
events=Events
|
||||
home=Home
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
chartSelectionHint=Hinweis: Die im Diagramm angezeigten Teilnehmer können auch in der Ergebnisstabelle ausgewählt werden.
|
||||
chartSelectionHint=Hinweis: Sie können auch Ergebnisstabelle (im Menü ERGEBNISSE) nutzen, um die im Diagramm angezeigten Teilnehmer auszuwählen.
|
||||
chooseALanguage=Wähle eine Sprache
|
||||
events=Veranstaltungen
|
||||
home=Startseite
|
||||
|
||||
+2
@@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -26,6 +27,7 @@ public class OldCompetitorCharts extends Composite {
|
||||
|
||||
@UiField HTMLPanel oldCompetitorChartsPanel;
|
||||
@UiField ListBox chartTypeSelectionListBox;
|
||||
// @UiField DivElement filterStateUi;
|
||||
|
||||
private final List<DetailType> availableDetailsTypes;
|
||||
private MultiCompetitorLeaderboardChart multiCompetitorChart;
|
||||
|
||||
+5
@@ -18,6 +18,11 @@
|
||||
<div class="{res.mediaCss.column}" style="margin-bottom: 1em;">
|
||||
<b><ui:text from="{i18n.chartSelectionHint}" /></b>
|
||||
</div>
|
||||
<!--
|
||||
<div ui:field="filterStateUi" class="{res.mediaCss.column}" style="margin-bottom: 1em;">
|
||||
<b>Filter: </b>
|
||||
</div>
|
||||
-->
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<g:HTMLPanel ui:field="oldCompetitorChartsPanel">
|
||||
</g:HTMLPanel>
|
||||
|
||||
+1
@@ -102,6 +102,7 @@ public class RegattaAnalyticsDataManager {
|
||||
multiCompetitorChart.updateSettings(settings);
|
||||
multiCompetitorChart.setVisible(true);
|
||||
timer.addTimeListener(multiCompetitorChart);
|
||||
multiCompetitorChart.clearChart();
|
||||
multiCompetitorChart.timeChanged(timer.getTime(), null);
|
||||
}
|
||||
|
||||
|
||||
+24
@@ -1,7 +1,13 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.seriesanalytics;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -13,6 +19,7 @@ import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.MultiLeaderboardPanel;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -36,6 +43,7 @@ public class EventSeriesAnalyticsDataManager {
|
||||
private final UserAgentDetails userAgent;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final Timer timer;
|
||||
private final int MAX_COMPETITORS_IN_CHART = 30;
|
||||
|
||||
public EventSeriesAnalyticsDataManager(final SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor, Timer timer, ErrorReporter errorReporter, UserAgentDetails userAgent) {
|
||||
this.competitorSelectionProvider = new CompetitorSelectionModel(/* hasMultiSelection */true);
|
||||
@@ -93,11 +101,27 @@ public class EventSeriesAnalyticsDataManager {
|
||||
}
|
||||
|
||||
public void showCompetitorChart(DetailType chartDetailType) {
|
||||
// preselect the top N competitors in case there was no selection before and there too many competitors for a chart
|
||||
int competitorsCount = Util.size(competitorSelectionProvider.getAllCompetitors());
|
||||
int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors());
|
||||
|
||||
if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) {
|
||||
List<CompetitorDTO> selectedCompetitors = new ArrayList<CompetitorDTO>();
|
||||
Iterator<CompetitorDTO> allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator();
|
||||
int counter = 0;
|
||||
while(counter < MAX_COMPETITORS_IN_CHART) {
|
||||
selectedCompetitors.add(allCompetitorsIt.next());
|
||||
counter++;
|
||||
}
|
||||
competitorSelectionProvider.setSelection(selectedCompetitors, (CompetitorSelectionChangeListener[]) null);
|
||||
}
|
||||
|
||||
MultiCompetitorLeaderboardChart multiCompetitorChart = getMultiCompetitorChart();
|
||||
MultiCompetitorLeaderboardChartSettings settings = new MultiCompetitorLeaderboardChartSettings(chartDetailType);
|
||||
multiCompetitorChart.updateSettings(settings);
|
||||
multiCompetitorChart.setVisible(true);
|
||||
timer.addTimeListener(multiCompetitorChart);
|
||||
multiCompetitorChart.clearChart();
|
||||
multiCompetitorChart.timeChanged(timer.getTime(), null);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -181,7 +181,7 @@ public abstract class AbstractCompetitorLeaderboardChart<SettingsType> extends A
|
||||
}));
|
||||
}
|
||||
|
||||
protected void clearChart() {
|
||||
public void clearChart() {
|
||||
competitorSeries.clear();
|
||||
chart.removeAllSeries();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user