summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/js/composers/basic_composer.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-11-16 19:30:20 +0100
committerChristophe Simonis <chs@odoo.com>2018-11-16 19:30:20 +0100
commit6faad524cf5e4db02855cb213277c40aee14c42a (patch)
tree383c984dc1461a03481baa9fbdce8c156ca97e2e /addons/mail/static/src/js/composers/basic_composer.js
parent3657dc77c2ddb4275f07d1271b93e7f25e09913a (diff)
parentbc744a1da46efda6f1eb5c341f2fa5df30c9c7ad (diff)
[MERGE] forward port branch 12.0 up to bc744a1da46
Diffstat (limited to 'addons/mail/static/src/js/composers/basic_composer.js')
-rw-r--r--addons/mail/static/src/js/composers/basic_composer.js25
1 files changed, 14 insertions, 11 deletions
diff --git a/addons/mail/static/src/js/composers/basic_composer.js b/addons/mail/static/src/js/composers/basic_composer.js
index a6cdb39e2de..8a533cd4515 100644
--- a/addons/mail/static/src/js/composers/basic_composer.js
+++ b/addons/mail/static/src/js/composers/basic_composer.js
@@ -211,7 +211,8 @@ var BasicComposer = Widget.extend({
* displayed to the user. If none of them match, then it will fetch for more
* partner suggestions (@see _mentionFetchPartners).
*
- * @param {$.Deferred<Object[]>} prefetchedPartners
+ * @param {$.Deferred<Object[]>} prefetchedPartners list of list of
+ * prefetched partners.
*/
mentionSetPrefetchedPartners: function (prefetchedPartners) {
this._mentionPrefetchedPartners = prefetchedPartners;
@@ -302,21 +303,23 @@ var BasicComposer = Widget.extend({
*/
_mentionFetchPartners: function (search) {
var self = this;
- return $.when(this._mentionPrefetchedPartners).then(function (partners) {
+ return $.when(this._mentionPrefetchedPartners).then(function (prefetchedPartners) {
// filter prefetched partners with the given search string
var suggestions = [];
var limit = self.options.mentionFetchLimit;
var searchRegexp = new RegExp(_.str.escapeRegExp(mailUtils.unaccent(search)), 'i');
- if (limit > 0) {
- var filteredPartners = _.filter(partners, function (partner) {
- return partner.email && searchRegexp.test(partner.email) ||
- partner.name && searchRegexp.test(mailUtils.unaccent(partner.name));
- });
- if (filteredPartners.length) {
- suggestions.push(filteredPartners.slice(0, limit));
- limit -= filteredPartners.length;
+ _.each(prefetchedPartners, function (partners) {
+ if (limit > 0) {
+ var filteredPartners = _.filter(partners, function (partner) {
+ return partner.email && searchRegexp.test(partner.email) ||
+ partner.name && searchRegexp.test(mailUtils.unaccent(partner.name));
+ });
+ if (filteredPartners.length) {
+ suggestions.push(filteredPartners.slice(0, limit));
+ limit -= filteredPartners.length;
+ }
}
- }
+ });
if (!suggestions.length && !self.options.mentionPartnersRestricted) {
// no result found among prefetched partners, fetch other suggestions
suggestions = self._mentionFetchThrottled(