Recode 'Task Status' chart using jqplot4java
FEA: ItEr76S15OrganizingPerProjectDashboard
This commit is contained in:
parent
d506dbdc16
commit
a35a468530
2 changed files with 8 additions and 67 deletions
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue