diff options
| author | Christophe Simonis <chs@openerp.com> | 2014-03-11 14:22:00 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@openerp.com> | 2014-03-11 14:22:00 +0100 |
| commit | c3827cb8f78a441d4a0c71a825bbb51a7ebe4085 (patch) | |
| tree | c08481f8f51cd3f58aa14baa60cc32b01f2a0338 /addons/web_graph/static/src | |
| parent | 096432ff73057b819aefa4bfce81488711478cd8 (diff) | |
| parent | f8bad6f81467658103a8ffc6d3f3eadd42b1f371 (diff) | |
[MERGE] forward port of branch saas-3 up to revid 3967 jke@openerp.com-20140311093515-02xw8phrcqhgz6zx
bzr revid: chs@openerp.com-20140311132200-1bln6gaj80njyh18
Diffstat (limited to 'addons/web_graph/static/src')
| -rw-r--r-- | addons/web_graph/static/src/css/graph.css | 8 | ||||
| -rw-r--r-- | addons/web_graph/static/src/js/graph_view.js | 52 | ||||
| -rw-r--r-- | addons/web_graph/static/src/js/graph_widget.js | 7 |
3 files changed, 44 insertions, 23 deletions
diff --git a/addons/web_graph/static/src/css/graph.css b/addons/web_graph/static/src/css/graph.css index 2213f655a6b..1949028d6d8 100644 --- a/addons/web_graph/static/src/css/graph.css +++ b/addons/web_graph/static/src/css/graph.css @@ -1,5 +1,9 @@ -.graph_main_content { - position: relative; +.graph_pivot_mode { + position:initial; +} + +.graph_chart_mode { + position:relative; } .graph_main_content td { diff --git a/addons/web_graph/static/src/js/graph_view.js b/addons/web_graph/static/src/js/graph_view.js index fa39fc581db..25a1f932cc4 100644 --- a/addons/web_graph/static/src/js/graph_view.js +++ b/addons/web_graph/static/src/js/graph_view.js @@ -140,11 +140,20 @@ instance.web_graph.GraphView = instance.web.View.extend({ // add groupby to the search view register_groupby: function(row_groupby, col_groupby) { - var query = this.search_view.query; + var query = this.search_view.query, + groupbys = this.get_groupbys_from_searchview(), + search_row_groupby = groupbys.group_by, + search_col_groupby = groupbys.col_group_by, + row_gb_changed = !_.isEqual(_.pluck(row_groupby, 'field'), search_row_groupby), + col_gb_changed = !_.isEqual(_.pluck(col_groupby, 'field'), search_col_groupby); if (!_.has(this.search_view, '_s_groupby')) { return; } - if (row_groupby.length && col_groupby.length) { + if (!row_gb_changed && !col_gb_changed) { + return; + } + + if (row_gb_changed && col_gb_changed) { // when two changes to the search view will be done, the method do_search // will be called twice, once with the correct groupby and incorrect col_groupby, // and once with correct informations. This flag is necessary to prevent the @@ -152,26 +161,31 @@ instance.web_graph.GraphView = instance.web.View.extend({ this.ignore_do_search = true; } - // add row groupbys - var row_facet = this.make_row_groupby_facets(row_groupby), - row_search_facet = query.findWhere({category:'GroupBy'}); + if (row_gb_changed) { + // add row groupbys + var row_facet = this.make_row_groupby_facets(row_groupby), + row_search_facet = query.findWhere({category:'GroupBy'}); - if (row_search_facet) { - row_search_facet.values.reset(row_facet.values); - } else { - if (row_groupby.length) { - query.add(row_facet); + if (row_search_facet) { + row_search_facet.values.reset(row_facet.values); + } else { + if (row_groupby.length) { + query.add(row_facet); + } } } - // add col groupbys - var col_facet = this.make_col_groupby_facets(col_groupby), - col_search_facet = query.findWhere({category:'ColGroupBy'}); - - if (col_search_facet) { - col_search_facet.values.reset(col_facet.values); - } else { - if (col_groupby.length) { - query.add(col_facet); + + if (col_gb_changed) { + // add col groupbys + var col_facet = this.make_col_groupby_facets(col_groupby), + col_search_facet = query.findWhere({category:'ColGroupBy'}); + + if (col_search_facet) { + col_search_facet.values.reset(col_facet.values); + } else { + if (col_groupby.length) { + query.add(col_facet); + } } } }, diff --git a/addons/web_graph/static/src/js/graph_widget.js b/addons/web_graph/static/src/js/graph_widget.js index b4f06aee3f1..3f6acdf87a7 100644 --- a/addons/web_graph/static/src/js/graph_widget.js +++ b/addons/web_graph/static/src/js/graph_widget.js @@ -38,6 +38,9 @@ openerp.web_graph.Graph = openerp.web.Widget.extend({ if (this.mode !== 'pivot') { this.$('.graph_heatmap label').addClass('disabled'); + this.$('.graph_main_content').addClass('graph_chart_mode'); + } else { + this.$('.graph_main_content').addClass('graph_pivot_mode'); } openerp.session.rpc('/web_graph/check_xlwt').then(function (result) { @@ -171,10 +174,10 @@ openerp.web_graph.Graph = openerp.web.Widget.extend({ if (mode === 'pivot') { this.$('.graph_heatmap label').removeClass('disabled'); - this.$('.graph_main_content').css('position', 'inherit') + this.$('.graph_main_content').removeClass('graph_chart_mode').addClass('graph_pivot_mode'); } else { this.$('.graph_heatmap label').addClass('disabled'); - this.$('.graph_main_content').css('position', 'relative') + this.$('.graph_main_content').removeClass('graph_pivot_mode').addClass('graph_chart_mode'); } this.display_data(); }, |
