summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/pivot_view.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/pivot_view.js')
-rw-r--r--addons/web/static/src/js/views/pivot_view.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/addons/web/static/src/js/views/pivot_view.js b/addons/web/static/src/js/views/pivot_view.js
index 1b55895d847..22b74ecbf15 100644
--- a/addons/web/static/src/js/views/pivot_view.js
+++ b/addons/web/static/src/js/views/pivot_view.js
@@ -60,6 +60,8 @@ var PivotView = View.extend({
this.last_header_selected = null;
this.sorted_column = {};
+
+ this.numbering = {};
},
willStart: function () {
var self = this;
@@ -490,13 +492,22 @@ var PivotView = View.extend({
},
sanitize_value: function (value, field) {
if (value === false) return _t("Undefined");
- if (value instanceof Array) return value[1];
+ if (value instanceof Array) return this.get_numbered_value(value, field);
if (field && this.fields[field] && (this.fields[field].type === 'selection')) {
var selected = _.where(this.fields[field].selection, {0: value})[0];
return selected ? selected[1] : value;
}
return value;
},
+ get_numbered_value: function(value, field) {
+ var id= value[0];
+ var name= value[1]
+ this.numbering[field] = this.numbering[field] || {};
+ this.numbering[field][name] = this.numbering[field][name] || {};
+ var numbers = this.numbering[field][name];
+ numbers[id] = numbers[id] || _.size(numbers) + 1;
+ return name + (numbers[id] > 1 ? " (" + numbers[id] + ")" : "");
+ },
make_header: function (data_pt, root, i, j, parent_header) {
var attrs = data_pt.attributes,
value = attrs.value,