[FIX] fixes an issue in graph view (addon web_graph)

when the user clicked several times on a field name to expand it, the dropdown menu was displayed several times, overlapping, instead of being reset to the last click location

bzr revid: ged@openerp.com-20140210091716-of9w9xhjnpmaa5td
This commit is contained in:
Gery Debongnie 2014-02-10 10:17:16 +01:00
parent e5f97580d3
commit f4bbf7b5d4
1 changed files with 23 additions and 18 deletions

View File

@ -284,25 +284,30 @@ openerp.web_graph.Graph = openerp.web.Widget.extend({
if (header.expanded) {
this.fold(header);
} else {
if (header.path.length < header.root.groupby.length) {
this.expand(id);
} else {
if (!this.important_fields.length) {
return;
}
var fields = _.map(this.important_fields, function (field) {
return {id: field.field, value: field.string, type:self.fields[field.field.split(':')[0]].type};
});
this.dropdown = $(QWeb.render('field_selection', {fields:fields, header_id:id}));
$(event.target).after(this.dropdown);
this.dropdown.css({position:'absolute',
left:event.pageX,
top:event.pageY});
this.$('.field-selection').next('.dropdown-menu').toggle();
}
return;
}
if (header.path.length < header.root.groupby.length) {
this.expand(id);
return;
}
if (!this.important_fields.length) {
return;
}
var fields = _.map(this.important_fields, function (field) {
return {id: field.field, value: field.string, type:self.fields[field.field.split(':')[0]].type};
});
if (this.dropdown) {
this.dropdown.remove();
}
this.dropdown = $(QWeb.render('field_selection', {fields:fields, header_id:id}));
$(event.target).after(this.dropdown);
this.dropdown.css({position:'absolute',
left:event.pageX,
top:event.pageY});
this.$('.field-selection').next('.dropdown-menu').toggle();
},
field_selection: function (event) {