Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 44220dc

Browse files
1 parent 8dd830b commit 44220dc

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/dashboard/campaigns/CampaignDashboardDiagramComponent.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class CampaignDashboardDiagramComponent extends VerticalLayout {
3131
private final List<Object> axisKeys = new ArrayList<>();
3232
private final Map<Object, String> axisCaptions = new HashMap<>();
3333
private final Map<CampaignDashboardTotalsReference, Double> totalValuesMap;
34+
private boolean totalValuesWithoutStacks;
3435
private boolean showPercentages;
3536

3637
private final HighChart campaignColumnChart;
@@ -45,6 +46,10 @@ public CampaignDashboardDiagramComponent(
4546
this.showPercentages = showPercentages;
4647
this.totalValuesMap = totalValuesMap;
4748

49+
if (this.totalValuesMap.keySet().stream().noneMatch(r -> r.getStack() != null)) {
50+
totalValuesWithoutStacks = true;
51+
}
52+
4853
campaignColumnChart = new HighChart();
4954

5055
setSizeFull();
@@ -173,8 +178,10 @@ public void buildDiagramChart(String title) {
173178
for (Object axisKey : axisKeys) {
174179
if (seriesData.containsKey(axisKey)) {
175180
if (showPercentages && totalValuesMap != null) {
176-
double totalValue =
177-
totalValuesMap.get(new CampaignDashboardTotalsReference(seriesData.get(axisKey).getGroupingKey(), series.getStack()));
181+
double totalValue = totalValuesMap.get(
182+
new CampaignDashboardTotalsReference(
183+
seriesData.get(axisKey).getGroupingKey(),
184+
totalValuesWithoutStacks ? null : series.getStack()));
178185
if (totalValue > 0) {
179186
hcjs.append(
180187
BigDecimal.valueOf(seriesData.get(axisKey).getValueSum().doubleValue() / totalValue * 100)

0 commit comments

Comments
 (0)