added a text field displaying the number of selected competitors for a chart.

This commit is contained in:
fmittag committed 2015-02-12 18:35:59 +01:00
1 parent c5e8b67da0
commit d661c30de5
6 files changed
+26 -5

No files matched your search

@@ -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);
}
}
}
@@ -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>
@@ -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);
}
@@ -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());
@@ -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);
}
@@ -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);