summaryrefslogtreecommitdiff
path: root/addons/web_graph/static/src
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2013-11-28 14:38:54 +0100
committerGery Debongnie <ged@openerp.com>2013-11-28 14:38:54 +0100
commit2a3eb6c336a66fd27721898474b5d12d1e87c72d (patch)
tree8ebfaabd472bdf25188a8dc6cd58035394157449 /addons/web_graph/static/src
parentd41ca29475074bfccf79d9206019913e0c16f5ff (diff)
[REF] removes duplicated code in update/expand methods (addon web_graph)
bzr revid: ged@openerp.com-20131128133854-28k6utrer7cdsz4z
Diffstat (limited to 'addons/web_graph/static/src')
-rw-r--r--addons/web_graph/static/src/js/pivot.js59
1 files changed, 20 insertions, 39 deletions
diff --git a/addons/web_graph/static/src/js/pivot.js b/addons/web_graph/static/src/js/pivot.js
index 621d3fbeb3d..a9ef922819f 100644
--- a/addons/web_graph/static/src/js/pivot.js
+++ b/addons/web_graph/static/src/js/pivot.js
@@ -158,23 +158,12 @@ openerp.web_graph.PivotTable = openerp.web.Class.extend({
expand_all: function () {
var self = this;
-
return this.query_all_values().then(function (result) {
if (result) {
self.no_data = false;
- self.rows.headers = result.row_headers;
- self.cols.headers = result.col_headers;
+ self.expand_headers(self.rows, result.row_headers);
+ self.expand_headers(self.cols, result.col_headers);
self.cells = result.cells;
- self.rows.main = self.rows.headers[0];
- self.cols.main = self.cols.headers[0];
- _.each(self.rows.headers, function (row) {
- row.root = self.rows;
- row.is_expanded = (row.children.length > 0);
- });
- _.each(self.cols.headers, function (col) {
- col.root = self.cols;
- col.is_expanded = (col.children.length > 0);
- });
} else {
self.no_data = true;
}
@@ -182,25 +171,24 @@ openerp.web_graph.PivotTable = openerp.web.Class.extend({
});
},
+ expand_headers: function (root, new_headers) {
+ root.headers = new_headers;
+ root.main = new_headers[0];
+ _.each(root.headers, function (header) {
+ header.root = root;
+ header.is_expanded = (header.children.length > 0);
+ });
+ },
+
set_row_groupby: function (groupby) {
var self = this;
this.rows.groupby = groupby;
return this.query_all_values().then(function (result) {
if (result) {
self.no_data = false;
- self.rows.headers = result.row_headers;
- self.cols.headers = self.update_headers(self.cols.headers, result.col_headers);
+ self.expand_headers(self.rows, result.row_headers);
+ self.update_headers(self.cols, result.col_headers);
self.cells = result.cells;
- self.cols.main = self.cols.headers[0];
- self.rows.main = self.rows.headers[0];
- _.each(self.rows.headers, function (row) {
- row.root = self.rows;
- row.is_expanded = (row.children.length > 0);
- });
- _.each(self.cols.headers, function (col) {
- col.root = self.cols;
- });
-
} else {
self.no_data = true;
}
@@ -227,23 +215,14 @@ openerp.web_graph.PivotTable = openerp.web.Class.extend({
return undefined;
}
self.no_data = false;
- self.cols.headers = self.update_headers(self.cols.headers, result.col_headers);
- self.rows.headers = self.update_headers(self.rows.headers, result.row_headers);
- self.cols.main = self.cols.headers[0];
- self.rows.main = self.rows.headers[0];
-
- _.each(self.rows.headers, function (row) {
- row.root = self.rows;
- });
- _.each(self.cols.headers, function (col) {
- col.root = self.cols;
- });
+ self.update_headers(self.cols, result.col_headers);
+ self.update_headers(self.rows, result.row_headers);
self.cells = result.cells;
});
},
- update_headers: function (old_headers, new_headers) {
- _.each(old_headers, function (header) {
+ update_headers: function (root, new_headers) {
+ _.each(root.headers, function (header) {
var corresponding_header = _.find(new_headers, function (h) {
return _.isEqual(h.path, header.path);
});
@@ -264,8 +243,10 @@ openerp.web_graph.PivotTable = openerp.web.Class.extend({
if (!hdr.is_expanded) {
hdr.children = [];
}
+ hdr.root = root;
});
- return updated_headers;
+ root.headers = updated_headers;
+ root.main = root.headers[0];
},
// this method is a little tricky. In order to obtain all the values