diff options
| author | Gery Debongnie <ged@openerp.com> | 2013-11-15 09:50:37 +0100 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2013-11-15 09:50:37 +0100 |
| commit | 2609105d41cfd7ef798a87c161e84eaf0092e2f1 (patch) | |
| tree | 6c4b9fa075323732cfd53234d2fa1ffb8cfad1e3 /addons/web_graph/static/src/js/graph.js | |
| parent | 2216a699087c790182bd34227d3d1d4554131b9d (diff) | |
[IMP] allow pivottable to fold rows (addon web_graph)
bzr revid: ged@openerp.com-20131115085037-nhbi5x9ooa75drnk
Diffstat (limited to 'addons/web_graph/static/src/js/graph.js')
| -rw-r--r-- | addons/web_graph/static/src/js/graph.js | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 3ab9b034ea1..efde4315b29 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -220,7 +220,7 @@ var PivotTable = BasicDataView.extend({ var row = this.get_row(row_id); if (row.expanded) { - this.fold_row(row_id) + this.fold_row(row_id); } else { var dropdown_options = { fields: _.map(this.important_fields, function (field) { @@ -326,7 +326,7 @@ var PivotTable = BasicDataView.extend({ row.domain = this.domain; } if (has_parent) { - parent.children.push(row); + parent.children.push(row.id); } return row; }, @@ -360,14 +360,37 @@ var PivotTable = BasicDataView.extend({ } }); if (row.remove_when_expanded) { - row.html_tr.remove(); + row.html_tr.remove(); } }); }, fold_row: function (row_id) { + var self = this; + var row = this.get_row(row_id); + + _.each(row.children, function (child_row) { + self.remove_row(child_row); + }); + row.children = []; + + row.expanded = false; + row.html_tr.find('.icon-minus-sign') + .removeClass('icon-minus-sign') + .addClass('icon-plus-sign');; + + }, + + remove_row: function (row_id) { + var self = this; + var row = this.get_row(row_id); + + _.each(row.children, function (child_row) { + self.remove_row(child_row); + }); + row.html_tr.remove(); }, draw: function () { |
