[IMP] changes the set_row_groupby method into set_groupby (more generic, works for rows and cols) (addon web_graph)

bzr revid: ged@openerp.com-20131128134904-ubkxdowr29is2o86
This commit is contained in:
Gery Debongnie 2013-11-28 14:49:04 +01:00
parent 2a3eb6c336
commit 55bbabaf46
2 changed files with 16 additions and 5 deletions

View File

@ -181,7 +181,8 @@ instance.web_graph.GraphView = instance.web.View.extend({
do_search: function (domain, context, group_by) {
this.pivot_table.domain = domain;
if (group_by.length > 0) {
this.pivot_table.set_row_groupby(group_by).done(this.proxy('display_data'));
this.pivot_table.set_groupby(this.pivot_table.rows, group_by)
.done(this.proxy('display_data'));
} else {
this.pivot_table.update_values().done(this.proxy('display_data'));
}

View File

@ -180,14 +180,24 @@ openerp.web_graph.PivotTable = openerp.web.Class.extend({
});
},
set_row_groupby: function (groupby) {
set_groupby: function (root, groupby) {
var self = this;
this.rows.groupby = groupby;
var other_root = (root === this.cols) ? this.rows : this.cols;
root.groupby = groupby;
return this.query_all_values().then(function (result) {
if (result) {
var new_root_headers, new_other_root_headers;
if (root === this.cols) {
new_root_headers = result.col_headers;
new_other_root_headers = result.how_headers;
} else {
new_root_headers = result.row_headers;
new_other_root_headers = result.col_headers;
}
self.no_data = false;
self.expand_headers(self.rows, result.row_headers);
self.update_headers(self.cols, result.col_headers);
self.expand_headers(root, new_root_headers);
self.update_headers(other_root, new_other_root_headers);
self.cells = result.cells;
} else {
self.no_data = true;