From e68da3b1dccfd6926a6809c897da135e22c41e9c Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 9 May 2012 17:41:24 +0200 Subject: [PATCH] [imp] optimized name_search bzr revid: nicolas.vanhoren@openerp.com-20120509154124-6x83am250nigsuwj --- addons/web/static/src/js/view_form.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 671ffc93cae..b2a0c0d955c 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3156,7 +3156,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(_. render_value: function() { var self = this; var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.view.dataset.get_context()); - this.display_orderer.add(dataset.name_get(self.get("value"))).then(function(data) { + var handle_names = function(data) { var indexed = {}; _.each(data, function(el) { indexed[el[0]] = el; @@ -3180,7 +3180,12 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(_. }); }); } - }); + }; + if (! self.get('values') || self.get('values').length > 0) { + this.display_orderer.add(dataset.name_get(self.get("value"))).then(handle_names); + } else { + handle_names([]); + } }, add_id: function(id) { this.set({'value': _.uniq(this.get('value').concat([id]))});