From 86a2d41d24045e1ba020199c998d315a5c8d9b10 Mon Sep 17 00:00:00 2001 From: Gery Debongnie Date: Mon, 25 Nov 2013 09:06:53 +0100 Subject: [PATCH] [IMP] adds expand_all button and method to graph view. beware, the code is not efficient (it does lots of db queries) (addon web_graph) bzr revid: ged@openerp.com-20131125080653-n3lgq7lb3kb3ygg7 --- addons/web_graph/static/src/js/graph.js | 4 ++++ addons/web_graph/static/src/js/pivot.js | 17 +++++++++++++++++ addons/web_graph/static/src/xml/web_graph.xml | 1 + 3 files changed, 22 insertions(+) diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index e1234e6f489..0a6a2fd15db 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -69,6 +69,10 @@ instance.web_graph.GraphView = instance.web.View.extend({ this.heat_map_mode = !this.heat_map_mode; this.draw_table(); }, + + 'click label.graph_expand_all' : function (event) { + this.pivot_table.expand_all().then(this.proxy('draw_table')); + }, }, view_loading: function (fields_view_get) { diff --git a/addons/web_graph/static/src/js/pivot.js b/addons/web_graph/static/src/js/pivot.js index e310a7799f6..0dfacf5cb06 100644 --- a/addons/web_graph/static/src/js/pivot.js +++ b/addons/web_graph/static/src/js/pivot.js @@ -185,6 +185,23 @@ var PivotTable = openerp.web.Class.extend({ this.fold_cols(); }, + expand_all: function () { + var self = this; + // temporary code, to use while waiting for correct code. + // this code expands all rows/cols by doing as many db queries. + // correct code widd do that with just 1 request. + var header_to_expand = _.find(this.rows.headers.concat(this.cols.headers), function (header) { + return ((!header.is_expanded) && (header.path.length < header.root.groupby.length)) + }); + if (header_to_expand === undefined) { + return $.when(); + } else { + return this.expand(header_to_expand.id, header_to_expand.root.groupby[header_to_expand.path.length]).then(function () { + return self.expand_all(); + }); + } + }, + }); diff --git a/addons/web_graph/static/src/xml/web_graph.xml b/addons/web_graph/static/src/xml/web_graph.xml index d9353778bcf..273ff90dac4 100644 --- a/addons/web_graph/static/src/xml/web_graph.xml +++ b/addons/web_graph/static/src/xml/web_graph.xml @@ -17,6 +17,7 @@ +