[imp] added multi-level group split

bzr revid: nicolas.vanhoren@openerp.com-20120120171920-9jftou2o8scpz3o9
This commit is contained in:
niv-openerp 2012-01-20 18:19:20 +01:00
parent 98e13f1ddb
commit 8d662a223a
1 changed files with 20 additions and 10 deletions

View File

@ -69,16 +69,26 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({
}
// get the groups
var groups = [];
_.each(tasks, function(task) {
var group_name = task[group_bys[0]];
var group = _.find(groups, function(group) { return _.isEqual(group.name, group_name); });
if (group === undefined) {
group = {name:group_name, tasks: []};
groups.push(group);
}
group.tasks.push(task);
});
var split_groups = function(tasks, group_bys) {
if (group_bys.length === 0)
return tasks;
var groups = [];
_.each(tasks, function(task) {
var group_name = task[_.first(group_bys)];
var group = _.find(groups, function(group) { return _.isEqual(group.name, group_name); });
if (group === undefined) {
group = {name:group_name, tasks: [], __is_group: true};
groups.push(group);
}
group.tasks.push(task);
});
_.each(groups, function(group) {
group.tasks = split_groups(group.tasks, _.rest(group_bys));
});
return groups;
}
var groups = split_groups(tasks, group_bys);
debugger;
// creation of the chart
var gantt = new GanttChart();