From 16fcca94a3d55772d15465a5b48f2ebb5012e07a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 7 Jun 2011 13:36:29 +0200 Subject: [PATCH] [IMP] move list-wise aggregation results in the corresponding table columns, move labels to popover titles bzr revid: xmo@openerp.com-20110607113629-0jexwkti3bsiebxb --- addons/base/static/src/js/list.js | 21 ++++++++++++--------- addons/base/static/src/xml/base.xml | 8 +++++--- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index dea3feb3970..235b3bc814b 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -201,10 +201,11 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi return column.invisible !== '1'; }); - this.aggregate_columns = _(this.columns).chain() - .filter(function (column) { - return column['sum'] || column['avg'];}) + this.aggregate_columns = _(this.visible_columns) .map(function (column) { + if (!(column['sum'] || column['avg'])) { + return {}; + } var func = column['sum'] ? 'sum' : 'avg'; return { field: column.id, @@ -212,7 +213,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi 'function': func, label: column[func] }; - }).value(); + }); }, /** * Used to handle a click on a table row, if no other handler caught the @@ -493,12 +494,14 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi return aggregator; }, display_aggregates: function (aggregation) { - var $footer = this.$element.find('.oe-list-footer').empty(); + var $footer_cells = this.$element.find('.oe-list-footer'); _(this.aggregate_columns).each(function (column) { - $(_.sprintf( - "%s: %.2f", - column.label, aggregation[column.field])) - .appendTo($footer); + if (!column['function']) { + return; + } + var pattern = (column.type == 'integer') ? '%d' : '%.2f'; + $footer_cells.filter(_.sprintf('[data-field=%s]', column.field)) + .text(_.sprintf(pattern, aggregation[column.field])); }); } // TODO: implement reorder (drag and drop rows) diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index cbb405886f3..56cc6295f76 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -272,11 +272,13 @@ - + - - + + +