Skip to content

Commit b0763c7

Browse files
Fix chart layout detachment logic and reset currentCharts list in ReportViewer
1 parent 91da3a7 commit b0763c7

File tree

1 file changed

+8
-3
lines changed
  • extensions/reports/sources/ui/src/main/java/tools/dynamia/modules/reports/ui

1 file changed

+8
-3
lines changed

extensions/reports/sources/ui/src/main/java/tools/dynamia/modules/reports/ui/ReportViewer.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import tools.dynamia.domain.ValidationError;
3333
import tools.dynamia.domain.query.QueryCondition;
3434
import tools.dynamia.domain.query.QueryParameters;
35+
import tools.dynamia.modules.dashboard.ChartjsDashboardWidget;
3536
import tools.dynamia.modules.reports.api.EnumFilterProvider;
3637
import tools.dynamia.modules.reports.core.*;
3738
import tools.dynamia.modules.reports.core.domain.Report;
@@ -48,6 +49,7 @@
4849
import tools.dynamia.zk.crud.ui.EntityFiltersPanel;
4950
import tools.dynamia.zk.ui.chartjs.CategoryChartjsData;
5051
import tools.dynamia.zk.ui.chartjs.Chartjs;
52+
import tools.dynamia.zk.ui.chartjs.ChartjsOptions;
5153

5254
import java.io.File;
5355
import java.io.FileNotFoundException;
@@ -479,22 +481,23 @@ public void updateDataView() {
479481
updateChartView();
480482
} catch (Exception e) {
481483
UIMessages.showMessage(messages.get("errorCharting") + ": " + e.getMessage(), MessageType.ERROR);
482-
if (layout.getWest() != null) {
483-
layout.getWest().detach();
484+
if (layout.getEast() != null) {
485+
layout.getEast().detach();
484486
}
485487
}
486488
}
487489

488490
public void updateChartView() {
489491
if (report.isChartable() && report.getCharts() != null && chartsContainer != null) {
490492
chartsContainer.getChildren().clear();
491-
currentCharts.clear();
493+
currentCharts = new ArrayList<>();
492494

493495
Vlayout chartLayout = new Vlayout();
494496
chartsContainer.appendChild(chartLayout);
495497

496498
for (var c : report.getCharts()) {
497499
CategoryChartjsData data = new CategoryChartjsData();
500+
data.getDataset().setColorPalette(ChartjsDashboardWidget.MATERIAL_COLORS);
498501

499502
if (c.isGrouped()) {
500503
Map<String, Number> groups = new HashMap<>();
@@ -522,6 +525,8 @@ public void updateChartView() {
522525
chart.setType(c.getType());
523526
chart.setData(data);
524527
chart.setTitle(c.getTitle());
528+
529+
525530
currentCharts.add(chart);
526531

527532
chartLayout.appendChild(chart);

0 commit comments

Comments
 (0)