From d506dbdc16f2cbd2dff4aa5ef17f14439acbdb29 Mon Sep 17 00:00:00 2001 From: Diego Pino Date: Sun, 29 Apr 2012 23:02:08 +0200 Subject: [PATCH] Recode 'Deadline Violation' chart using jqplot4java FEA: ItEr76S15OrganizingPerProjectDashboard --- .../web/dashboard/DashboardController.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java b/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java index 352dfadd0..c544ee21a 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java @@ -44,6 +44,10 @@ import org.zkoss.zul.Grid; import org.zkoss.zul.Label; import org.zkoss.zul.Window; +import br.com.digilabs.jqplot.Chart; +import br.com.digilabs.jqplot.JqPlotUtils; +import br.com.digilabs.jqplot.chart.PieChart; + /** * @author Nacho Barrientos * @author Diego Pino GarcĂ­a @@ -86,9 +90,29 @@ public class DashboardController extends GenericForwardComposer { renderTaskStatus(); renderTaskCompletationLag(); renderTasksSummary(); + renderDeadlineViolation(); } } + private void renderDeadlineViolation() { + final String divId = "deadline-violation"; + + PieChart pieChart = new PieChart( + _("Deadline Violation")); + pieChart.addValue(_("On schedule"), + dashboardModel.getPercentageOfOnScheduleTasks()); + pieChart.addValue(_("Violated deadline"), + dashboardModel.getPercentageOfTasksWithViolatedDeadline()); + pieChart.addValue(_("No deadline"), + dashboardModel.getPercentageOfTasksWithNoDeadline()); + renderChart(pieChart, divId); + } + + private void renderChart(Chart chart, String divId) { + String jsCode = JqPlotUtils.createJquery(chart, divId); + Clients.evalJavaScript(jsCode); + } + private void renderTaskCompletationLag() { Map taskCompletationData = dashboardModel .calculateTaskCompletation();