diff options
| author | Gery Debongnie <ged@openerp.com> | 2013-11-15 10:24:11 +0100 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2013-11-15 10:24:11 +0100 |
| commit | fecfa8e52cdaca9925c32945da0d5638a6802c1b (patch) | |
| tree | 3949fae74e765d0cfba872fae2288e3a80070514 /addons/web_graph/static/src/js | |
| parent | 2609105d41cfd7ef798a87c161e84eaf0092e2f1 (diff) | |
[IMP] makes display smarter list of options in dropdown menu on pivottable widget (addon web_graph)
bzr revid: ged@openerp.com-20131115092411-abnckphk4mn9ji3z
Diffstat (limited to 'addons/web_graph/static/src/js')
| -rw-r--r-- | addons/web_graph/static/src/js/graph.js | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index efde4315b29..875a34aa92f 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -222,15 +222,22 @@ var PivotTable = BasicDataView.extend({ if (row.expanded) { this.fold_row(row_id); } else { - var dropdown_options = { - fields: _.map(this.important_fields, function (field) { - return {id: field, value: self.get_descr(field)}; - }), - row_id: row_id, - }; - this.dropdown = $(QWeb.render('field_selection', dropdown_options)); - $(event.target).after(this.dropdown); - $('.field-selection').next('.dropdown-menu').toggle(); + if (row.path.length < this.row_groupby.length) { + var field_to_expand = this.row_groupby[row.path.length]; + this.expand_row(row_id, field_to_expand); + } else { + var already_grouped = self.row_groupby.concat(self.col_groupby); + var possible_groups = _.difference(self.important_fields, already_grouped); + var dropdown_options = { + fields: _.map(possible_groups, function (field) { + return {id: field, value: self.get_descr(field)}; + }), + row_id: row_id, + }; + this.dropdown = $(QWeb.render('field_selection', dropdown_options)); + $(event.target).after(this.dropdown); + $('.field-selection').next('.dropdown-menu').toggle(); + } } @@ -334,7 +341,10 @@ var PivotTable = BasicDataView.extend({ expand_row: function (row_id, field_id) { var self = this; var row = this.get_row(row_id); - this.row_groupby.push(field_id); + + if (row.path.length == this.row_groupby.length) { + this.row_groupby.push(field_id); + } var visible_fields = this.row_groupby.concat(this.col_groupby, this.measure); |
