summaryrefslogtreecommitdiff
path: root/addons/web_graph/static/src/js/graph_widget.js
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2014-02-10 10:17:16 +0100
committerGery Debongnie <ged@openerp.com>2014-02-10 10:17:16 +0100
commitf4bbf7b5d4cda7825fc21b6175b6c11cf030ec19 (patch)
treeed9c12b36e33daf248666d034b3de981edb2a62f /addons/web_graph/static/src/js/graph_widget.js
parente5f97580d399ad56c37c2c7509930c7bbc51a149 (diff)
[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
Diffstat (limited to 'addons/web_graph/static/src/js/graph_widget.js')
-rw-r--r--addons/web_graph/static/src/js/graph_widget.js39
1 files changed, 22 insertions, 17 deletions
diff --git a/addons/web_graph/static/src/js/graph_widget.js b/addons/web_graph/static/src/js/graph_widget.js
index 881be188595..26f479790df 100644
--- a/addons/web_graph/static/src/js/graph_widget.js
+++ b/addons/web_graph/static/src/js/graph_widget.js
@@ -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;
- }
+ 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};
- });
- 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();
- }
+ 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) {