mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-17 01:31:01 +00:00
added a text field displaying the number of selected competitors for a chart.
This commit is contained in:
1 parent
c5e8b67da0
commit
d661c30de5
6 files changed
+26
-5
No files matched your search
+15
-1
@@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.Visibility;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -15,9 +16,11 @@ import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChart;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChartSettings;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class OldCompetitorCharts extends Composite {
|
||||
private static OldCompetitorChartsUiBinder uiBinder = GWT.create(OldCompetitorChartsUiBinder.class);
|
||||
@@ -27,7 +30,7 @@ public class OldCompetitorCharts extends Composite {
|
||||
|
||||
@UiField HTMLPanel oldCompetitorChartsPanel;
|
||||
@UiField ListBox chartTypeSelectionListBox;
|
||||
// @UiField DivElement filterStateUi;
|
||||
@UiField DivElement competitorSelectionStateUi;
|
||||
|
||||
private final List<DetailType> availableDetailsTypes;
|
||||
private MultiCompetitorLeaderboardChart multiCompetitorChart;
|
||||
@@ -81,4 +84,15 @@ public class OldCompetitorCharts extends Composite {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void updateSelectionState(CompetitorSelectionProvider competitorSelectionProvider) {
|
||||
int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors());
|
||||
if(selectedCompetitorsCount > 0) {
|
||||
int competitorsCount = Util.size(competitorSelectionProvider.getAllCompetitors());
|
||||
competitorSelectionStateUi.getStyle().setVisibility(Visibility.VISIBLE);
|
||||
competitorSelectionStateUi.setInnerText(selectedCompetitorsCount + "/" + competitorsCount + " competitors selected.");
|
||||
} else {
|
||||
competitorSelectionStateUi.getStyle().setVisibility(Visibility.HIDDEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-4
@@ -18,11 +18,8 @@
|
||||
<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 ui:field="competitorSelectionStateUi" class="{res.mediaCss.column}" style="margin-bottom: 1em;">
|
||||
</div>
|
||||
-->
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<g:HTMLPanel ui:field="oldCompetitorChartsPanel">
|
||||
</g:HTMLPanel>
|
||||
|
||||
+1
@@ -181,6 +181,7 @@ public class RegattaAnalytics extends Composite implements LeaderboardUpdateList
|
||||
setActiveTabPanel(competitorChartsTabPanel, competitorChartsAnchor);
|
||||
DetailType selectedChartDetailType = oldCompetitorChartsComposite.getSelectedChartDetailType();
|
||||
regattaAnalyticsManager.showCompetitorChart(selectedChartDetailType);
|
||||
oldCompetitorChartsComposite.updateSelectionState(regattaAnalyticsManager.getCompetitorSelectionProvider());
|
||||
handleClickEvent(event, competitorChartsNavigation);
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -81,6 +81,10 @@ public class RegattaAnalyticsDataManager {
|
||||
return multiCompetitorChart;
|
||||
}
|
||||
|
||||
public CompetitorSelectionModel getCompetitorSelectionProvider() {
|
||||
return competitorSelectionProvider;
|
||||
}
|
||||
|
||||
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());
|
||||
|
||||
+1
@@ -212,6 +212,7 @@ public class EventSeriesAnalytics extends Composite implements LeaderboardUpdate
|
||||
setActiveTabPanel(competitorChartsTabPanel, eventSeriesAnalyticsManager.getMultiCompetitorChart(), competitorChartsAnchor);
|
||||
DetailType selectedChartDetailType = oldCompetitorChartsComposite.getSelectedChartDetailType();
|
||||
eventSeriesAnalyticsManager.showCompetitorChart(selectedChartDetailType);
|
||||
oldCompetitorChartsComposite.updateSelectionState(eventSeriesAnalyticsManager.getCompetitorSelectionProvider());
|
||||
handleClickEvent(event, competitorChartsNavigation);
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -125,6 +125,10 @@ public class EventSeriesAnalyticsDataManager {
|
||||
multiCompetitorChart.timeChanged(timer.getTime(), null);
|
||||
}
|
||||
|
||||
public CompetitorSelectionModel getCompetitorSelectionProvider() {
|
||||
return competitorSelectionProvider;
|
||||
}
|
||||
|
||||
public void hideCompetitorChart() {
|
||||
MultiCompetitorLeaderboardChart multiCompetitorChart = getMultiCompetitorChart();
|
||||
multiCompetitorChart.setVisible(false);
|
||||
|
||||
Reference in new issue
Block a user