Recode 'Task Status' chart using jqplot4java

FEA: ItEr76S15OrganizingPerProjectDashboard
This commit is contained in:
Diego Pino 2012-04-29 23:19:52 +02:00
parent d506dbdc16
commit a35a468530
2 changed files with 8 additions and 67 deletions

View file

@ -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<Number> taskStatus = new PieChart<Number>(_("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 <dpino@igalia.com>
*
*/
static class TaskStatus {
private final Map<String, BigDecimal> data = new LinkedHashMap<String, BigDecimal>();
private TaskStatus() {
}
public static TaskStatus create() {
return new TaskStatus();
}
private String getData() {
List<String> result = new ArrayList<String>();
TreeSet<String> keys = new TreeSet<String>(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";

View file

@ -101,7 +101,6 @@
<!-- The variable for containing the 'global progress' has to be global and created before defer -->
<script type="text/javascript">
var global_progress = { };
var task_status = { };
var task_completation_lag = { };
</script>
@ -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',