summaryrefslogtreecommitdiff
path: root/addons/web_graph/static/src/js/graph.js
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2013-11-18 15:19:55 +0100
committerGery Debongnie <ged@openerp.com>2013-11-18 15:19:55 +0100
commita6848a195a60b9b0d2a6a65daa2716dbeece4708 (patch)
tree73bc00e109ff2ae7efac1c896514e02e7eae35ef /addons/web_graph/static/src/js/graph.js
parentb34a2307cd60d857d4bcbf8cec053cf6748a8dc0 (diff)
[IMP] small code cleanup in addon web_graph
bzr revid: ged@openerp.com-20131118141955-00qcb19wm0gswvck
Diffstat (limited to 'addons/web_graph/static/src/js/graph.js')
-rw-r--r--addons/web_graph/static/src/js/graph.js49
1 files changed, 28 insertions, 21 deletions
diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js
index a1a9ef68429..4f8c579cfc3 100644
--- a/addons/web_graph/static/src/js/graph.js
+++ b/addons/web_graph/static/src/js/graph.js
@@ -147,11 +147,11 @@ var PivotTable = instance.web.Widget.extend({
events: {
'click .web_graph_click' : function (event) {
- var self = this;
+ var row_id = event.target.attributes['data-row-id'].nodeValue,
+ row = this.get_row(row_id);
+
event.preventDefault();
- var row_id = event.target.attributes['data-row-id'].nodeValue;
- var row = this.get_row(row_id);
if (row.expanded) {
this.fold_row(row_id);
} else {
@@ -159,24 +159,12 @@ var PivotTable = instance.web.Widget.extend({
var field_to_expand = this.data.row_groupby[row.path.length];
this.expand_row(row_id, field_to_expand);
} else {
- var already_grouped = self.data.row_groupby.concat(self.data.col_groupby);
- var possible_groups = _.difference(self.data.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);
- this.dropdown.css({position:'absolute',
- left:event.pageX,
- top:event.pageY});
- $('.field-selection').next('.dropdown-menu').toggle();
+ this.display_dropdown(row_id, $(event.target), event.pageY, event.pageY);
}
}
},
+
'click a.field-selection' : function (event) {
event.preventDefault();
this.dropdown.remove();
@@ -228,13 +216,32 @@ var PivotTable = instance.web.Widget.extend({
this.$el.css('display', 'none');
},
+ display_dropdown: function (row_id, target, x, y) {
+ var self = this,
+ already_grouped = self.data.row_groupby.concat(self.data.col_groupby),
+ possible_groups = _.difference(self.data.important_fields, already_grouped),
+ 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));
+ target.after(this.dropdown);
+ this.dropdown.css({position:'absolute',
+ left:x,
+ top:y});
+ $('.field-selection').next('.dropdown-menu').toggle();
+ },
+
build_table: function () {
var self = this;
- this.headers.push('<tr class="graph_table_header"><td class="graph_border">' +
- '</td><td class="graph_border">' +
- this.data.measure_label +
- '</td></tr>');
+ var header = $('<tr></tr>');
+ header.append(this.make_cell(' ', {is_border:true}));
+ header.append(this.make_cell(this.data.measure_label,
+ {is_border:true, foldable: true}));
+ this.headers = [header];
var main_row = this.make_row(this.data.total[0]);