summaryrefslogtreecommitdiff
path: root/addons/web_graph/static/src
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2013-11-15 10:24:11 +0100
committerGery Debongnie <ged@openerp.com>2013-11-15 10:24:11 +0100
commitfecfa8e52cdaca9925c32945da0d5638a6802c1b (patch)
tree3949fae74e765d0cfba872fae2288e3a80070514 /addons/web_graph/static/src
parent2609105d41cfd7ef798a87c161e84eaf0092e2f1 (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')
-rw-r--r--addons/web_graph/static/src/js/graph.js30
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);