Add pie chart to represent progress KPI "Number of tasks by status".
WARNING: These changes require a patched version of Igalia's jFreeChartEngine to work properly. FEA: ItEr75S27PerProjectDashboard
This commit is contained in:
parent
16978d0963
commit
3adecfa6f9
2 changed files with 30 additions and 5 deletions
|
|
@ -30,7 +30,9 @@ import org.springframework.stereotype.Component;
|
|||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.CategoryModel;
|
||||
import org.zkoss.zul.Chart;
|
||||
import org.zkoss.zul.PieModel;
|
||||
import org.zkoss.zul.SimpleCategoryModel;
|
||||
import org.zkoss.zul.SimplePieModel;
|
||||
import org.zkoss.zul.Window;
|
||||
|
||||
/**
|
||||
|
|
@ -49,6 +51,7 @@ public class DashboardController extends GenericForwardComposer {
|
|||
private Order order;
|
||||
|
||||
private Chart progressKPIglobalProgressChart;
|
||||
private Chart progressKPItaskStatusChart;
|
||||
|
||||
public DashboardController() {
|
||||
}
|
||||
|
|
@ -74,6 +77,12 @@ public class DashboardController extends GenericForwardComposer {
|
|||
|
||||
private void reloadCharts() {
|
||||
generateProgressKPIglobalProgressChart();
|
||||
generateProgressKPItaskStatusChart();
|
||||
}
|
||||
|
||||
private void generateProgressKPItaskStatusChart() {
|
||||
PieModel model = refreshProgressKPItaskStatusPieModel();
|
||||
progressKPItaskStatusChart.setModel(model);
|
||||
}
|
||||
|
||||
private void generateProgressKPIglobalProgressChart() {
|
||||
|
|
@ -82,6 +91,15 @@ public class DashboardController extends GenericForwardComposer {
|
|||
progressKPIglobalProgressChart.setModel(xymodel);
|
||||
}
|
||||
|
||||
private PieModel refreshProgressKPItaskStatusPieModel() {
|
||||
PieModel model = new SimplePieModel();
|
||||
model.setValue("Finished", dashboardModel.getPercentageOfFinishedTasks());
|
||||
model.setValue("In progress", dashboardModel.getPercentageOfInProgressTasks());
|
||||
model.setValue("Ready to start", dashboardModel.getPercentageOfReadyToStartTasks());
|
||||
model.setValue("Blocked", dashboardModel.getPercentageOfBlockedTasks());
|
||||
return model;
|
||||
}
|
||||
|
||||
private CategoryModel refreshProgressKPIglobalProgressCategoryModel() {
|
||||
CategoryModel result = new SimpleCategoryModel();
|
||||
result.setValue(_("Current"), _("All tasks (hours)"),
|
||||
|
|
|
|||
|
|
@ -23,13 +23,20 @@
|
|||
</zscript>
|
||||
<div self="@{define(content)}">
|
||||
<window id="dashboardWindow" apply="${dsController}">
|
||||
<vbox id="charts">
|
||||
<chart id="progressKPIglobalProgressChart" height="400px"
|
||||
width="600px" type="bar" threeD="true"
|
||||
yAxis="%" orient="horizontal"
|
||||
<hbox id="charts">
|
||||
<chart id="progressKPIglobalProgressChart"
|
||||
height="400px" width="600px" type="bar"
|
||||
threeD="true" yAxis="%" orient="horizontal"
|
||||
title="${i18n:_('Global progress of the project')}"
|
||||
paneColor="#FFFFFF" showLegend="true" />
|
||||
</vbox>
|
||||
<separator bar="false" spacing="40px"
|
||||
orient="vertical" />
|
||||
<chart id="progressKPItaskStatusChart" height="400px"
|
||||
width="600px" type="pie" threeD="true"
|
||||
title="${i18n:_('Task status')}" paneColor="#FFFFFF"
|
||||
bgColor="#FFFFFF"
|
||||
showLegend="true" showTooltiptext="true" />
|
||||
</hbox>
|
||||
</window>
|
||||
</div>
|
||||
</zk>
|
||||
Loading…
Add table
Reference in a new issue