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:
Nacho Barrientos 2011-11-14 17:43:12 +01:00 committed by Manuel Rego Casasnovas
parent 16978d0963
commit 3adecfa6f9
2 changed files with 30 additions and 5 deletions

View file

@ -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)"),

View file

@ -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>