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

Commit eed98a3

Browse files
authored
Merge pull request SORMAS-Foundation#3088 from hzi-braunschweig/feature-3065-StackLabelRotation
SORMAS-Foundation#3065 - rotate stack label's when there is more than 1 stack defined
2 parents 6418761 + 3cf3e11 commit eed98a3

1 file changed

Lines changed: 20 additions & 17 deletions

File tree

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

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
package de.symeda.sormas.ui.dashboard.campaigns;
22

3-
import com.vaadin.ui.VerticalLayout;
4-
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDataDto;
5-
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDefinitionDto;
6-
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramSeries;
7-
import de.symeda.sormas.api.i18n.Captions;
8-
import de.symeda.sormas.api.i18n.I18nProperties;
9-
import de.symeda.sormas.ui.highcharts.HighChart;
10-
import org.apache.commons.text.StringEscapeUtils;
11-
123
import java.math.BigDecimal;
134
import java.math.RoundingMode;
145
import java.util.ArrayList;
@@ -20,6 +11,17 @@
2011
import java.util.function.Function;
2112
import java.util.stream.Collectors;
2213

14+
import org.apache.commons.text.StringEscapeUtils;
15+
16+
import com.vaadin.ui.VerticalLayout;
17+
18+
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDataDto;
19+
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDefinitionDto;
20+
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramSeries;
21+
import de.symeda.sormas.api.i18n.Captions;
22+
import de.symeda.sormas.api.i18n.I18nProperties;
23+
import de.symeda.sormas.ui.highcharts.HighChart;
24+
2325
@SuppressWarnings("serial")
2426
public class CampaignDashboardDiagramComponent extends VerticalLayout {
2527

@@ -105,19 +107,20 @@ public void buildDiagramChart(String title) {
105107
", menuItems: ['viewFullscreen', 'printChart', 'separator', 'downloadPNG', 'downloadJPEG', 'downloadPDF', 'downloadSVG', 'separator', 'downloadCSV', 'downloadXLS', 'viewData', 'separator', 'togglePercentages']");
106108
}
107109

108-
//@formatter:off
109-
hcjs.append("} } },"
110-
+ "legend: { backgroundColor: 'transparent', margin: 30 },"
111-
+ "colors: ['#4472C4', '#ED7D31', '#A5A5A5', '#FFC000', '#5B9BD5', '#70AD47', '#FF0000', '#6691C4','#ffba08','#519e8a','#ed254e','#39a0ed','#FF8C00','#344055','#D36135','#82d173'],"
112-
+ "title:{ text: '" + StringEscapeUtils.escapeEcmaScript(title) + "', style: { fontSize: '15px' } },");
113-
//@formatter:on
114-
115110
Map<String, Long> stackMap = diagramDefinition.getCampaignDiagramSeries()
116111
.stream()
117112
.filter(campaignDiagramSeries -> campaignDiagramSeries.getStack() != null)
118113
.map(CampaignDiagramSeries::getStack)
119114
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
120115

116+
//@formatter:off
117+
final int legendMargin = stackMap.size() > 1 ? 60 : 30;
118+
hcjs.append("} } },"
119+
+ "legend: { backgroundColor: 'transparent', margin: " + legendMargin + " },"
120+
+ "colors: ['#4472C4', '#ED7D31', '#A5A5A5', '#FFC000', '#5B9BD5', '#70AD47', '#FF0000', '#6691C4','#ffba08','#519e8a','#ed254e','#39a0ed','#FF8C00','#344055','#D36135','#82d173'],"
121+
+ "title:{ text: '" + StringEscapeUtils.escapeEcmaScript(title) + "', style: { fontSize: '15px' } },");
122+
//@formatter:on
123+
121124
hcjs.append("xAxis: {");
122125
if (stackMap.size() > 1) {
123126
hcjs.append("opposite: true,");
@@ -135,7 +138,7 @@ public void buildDiagramChart(String title) {
135138
}
136139
if (stackMap.size() > 1) {
137140
hcjs.append(
138-
", stackLabels: {enabled: true,verticalAlign: 'bottom',crop: false,overflow: 'none',y: 20,formatter: function() { return this.stack;},style: { color: 'grey'}}");
141+
", stackLabels: {enabled: true,verticalAlign: 'bottom',crop: false, rotation: 45, x:20,y: 20, overflow: 'none',y: 20,formatter: function() { return this.stack;},style: { color: 'grey'}}");
139142
}
140143
hcjs.append("},");
141144
//@formatter:on

0 commit comments

Comments
 (0)