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 c544ee21a..c74935290 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 @@ -27,7 +27,6 @@ import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.TreeSet; import org.apache.commons.lang.StringUtils; import org.libreplan.business.orders.entities.Order; @@ -144,16 +143,18 @@ public class DashboardController extends GenericForwardComposer { } private void renderTaskStatus() { - TaskStatus taskStatus = TaskStatus.create(); - taskStatus.data(_("Finished"), + final String divId = "task-status"; + + PieChart taskStatus = new PieChart(_("Task Status")); + taskStatus.addValue(_("Finished"), dashboardModel.getPercentageOfFinishedTasks()); - taskStatus.data(_("In progress"), + taskStatus.addValue(_("In progress"), dashboardModel.getPercentageOfInProgressTasks()); - taskStatus.data(_("Ready to start"), + taskStatus.addValue(_("Ready to start"), dashboardModel.getPercentageOfReadyToStartTasks()); - taskStatus.data(_("Blocked"), + taskStatus.addValue(_("Blocked"), dashboardModel.getPercentageOfBlockedTasks()); - taskStatus.render(); + renderChart(taskStatus, divId); } private void renderGlobalProgress() { @@ -313,46 +314,6 @@ public class DashboardController extends GenericForwardComposer { } - /** - * - * @author Diego Pino GarcĂ­a - * - */ - static class TaskStatus { - - private final Map data = new LinkedHashMap(); - - private TaskStatus() { - - } - - public static TaskStatus create() { - return new TaskStatus(); - } - - private String getData() { - List result = new ArrayList(); - - TreeSet keys = new TreeSet(data.keySet()); - for (String key : keys) { - BigDecimal value = data.get(key); - result.add(String.format("[\"%s\", %.2f]", key, value)); - } - return String.format("'[%s]'", StringUtils.join(result, ",")); - } - - public void data(String key, BigDecimal value) { - data.put(key, value); - } - - public void render() { - String command = String - .format("task_status.render(%s);", getData()); - Clients.evalJavaScript(command); - } - - } - static class TaskCompletationLag { private final String id = "task_completation_lag"; diff --git a/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul b/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul index b28165bfc..837c3bcaa 100644 --- a/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul +++ b/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul @@ -101,7 +101,6 @@ @@ -168,25 +167,6 @@ } }; - task_status = { - id: 'task-status', - title: 'Task status', - data: [['Completed', 14], ['In Progress', 36], ['Ready to Start', 30], ['Blocked', 20]], - seriesDefaults: { - renderer: jQuery.jqplot.PieRenderer, - rendererOptions: { - showDataLabels: true - } - }, - legend: { - show: true, - location: 'e' - }, - render: function(data) { - this.plot = jQuery.jqplot('task-status', [jQuery.parseJSON(data)], this); - } - }; - task_completation_lag = { id: 'task-completation-lag', title: 'Task completation lag',