diff options
| author | Rohan Patel <rop@odoo.com> | 2017-06-30 12:41:09 +0530 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-09-11 12:20:49 +0200 |
| commit | 8c1f6a7cc6aea43aa9ef99b7b7ae70f5abbe3d92 (patch) | |
| tree | 1f96835762a6c57fadc6ba4f11409b5406856b5d /addons/mail/static/src | |
| parent | a58fb415fc6465b1a150d7cc295c260b6ac0b9d5 (diff) | |
[IMP] mail,*: replace emojis by unicode in chat messages
*im_livechat,rating.
Emojis are now encoded in unicode characters in messages. This
allows to copy/paste messages including emojis, ensures that
emojis are properly displayed in mail interfaces (at least those
that support unicode, e.g. GMAIL, counter-example: outlook), and
allows the user to directly use emojis of its smartphone in mobile.
This commit also adds several new emojis.
PR #11095
Diffstat (limited to 'addons/mail/static/src')
22 files changed, 14 insertions, 1 deletions
diff --git a/addons/mail/static/src/img/smiley/angry.png b/addons/mail/static/src/img/smiley/angry.png Binary files differnew file mode 100644 index 00000000000..c65ddff552a --- /dev/null +++ b/addons/mail/static/src/img/smiley/angry.png diff --git a/addons/mail/static/src/img/smiley/boar.png b/addons/mail/static/src/img/smiley/boar.png Binary files differdeleted file mode 100644 index 3ef50325016..00000000000 --- a/addons/mail/static/src/img/smiley/boar.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/bug.png b/addons/mail/static/src/img/smiley/bug.png Binary files differnew file mode 100644 index 00000000000..222577ca7ea --- /dev/null +++ b/addons/mail/static/src/img/smiley/bug.png diff --git a/addons/mail/static/src/img/smiley/cake.png b/addons/mail/static/src/img/smiley/cake.png Binary files differnew file mode 100644 index 00000000000..36e8edcbec4 --- /dev/null +++ b/addons/mail/static/src/img/smiley/cake.png diff --git a/addons/mail/static/src/img/smiley/cat.png b/addons/mail/static/src/img/smiley/cat.png Binary files differindex dbf1b0276ab..09b9ef79a7d 100644 --- a/addons/mail/static/src/img/smiley/cat.png +++ b/addons/mail/static/src/img/smiley/cat.png diff --git a/addons/mail/static/src/img/smiley/coffee.png b/addons/mail/static/src/img/smiley/coffee.png Binary files differnew file mode 100644 index 00000000000..57e1adcb04a --- /dev/null +++ b/addons/mail/static/src/img/smiley/coffee.png diff --git a/addons/mail/static/src/img/smiley/evil.png b/addons/mail/static/src/img/smiley/evil.png Binary files differnew file mode 100644 index 00000000000..d904049309c --- /dev/null +++ b/addons/mail/static/src/img/smiley/evil.png diff --git a/addons/mail/static/src/img/smiley/flushed.png b/addons/mail/static/src/img/smiley/flushed.png Binary files differnew file mode 100644 index 00000000000..6e3a0a7d038 --- /dev/null +++ b/addons/mail/static/src/img/smiley/flushed.png diff --git a/addons/mail/static/src/img/smiley/man.png b/addons/mail/static/src/img/smiley/man.png Binary files differdeleted file mode 100644 index c4a4217f4d4..00000000000 --- a/addons/mail/static/src/img/smiley/man.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/man_with_turban.png b/addons/mail/static/src/img/smiley/man_with_turban.png Binary files differdeleted file mode 100644 index 8a0bda1ca77..00000000000 --- a/addons/mail/static/src/img/smiley/man_with_turban.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/monkey_eye.png b/addons/mail/static/src/img/smiley/monkey_eye.png Binary files differnew file mode 100644 index 00000000000..0890a622279 --- /dev/null +++ b/addons/mail/static/src/img/smiley/monkey_eye.png diff --git a/addons/mail/static/src/img/smiley/monkey_hear.png b/addons/mail/static/src/img/smiley/monkey_hear.png Binary files differnew file mode 100644 index 00000000000..f97a1f9a090 --- /dev/null +++ b/addons/mail/static/src/img/smiley/monkey_hear.png diff --git a/addons/mail/static/src/img/smiley/monkey_speak.png b/addons/mail/static/src/img/smiley/monkey_speak.png Binary files differnew file mode 100644 index 00000000000..87944c4de54 --- /dev/null +++ b/addons/mail/static/src/img/smiley/monkey_speak.png diff --git a/addons/mail/static/src/img/smiley/musti.png b/addons/mail/static/src/img/smiley/musti.png Binary files differdeleted file mode 100644 index f6843ddf95c..00000000000 --- a/addons/mail/static/src/img/smiley/musti.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/normal_smile.png b/addons/mail/static/src/img/smiley/normal_smile.png Binary files differnew file mode 100644 index 00000000000..1e9021cb6fe --- /dev/null +++ b/addons/mail/static/src/img/smiley/normal_smile.png diff --git a/addons/mail/static/src/img/smiley/party.png b/addons/mail/static/src/img/smiley/party.png Binary files differnew file mode 100644 index 00000000000..7411b5266a0 --- /dev/null +++ b/addons/mail/static/src/img/smiley/party.png diff --git a/addons/mail/static/src/img/smiley/pinky.png b/addons/mail/static/src/img/smiley/pinky.png Binary files differdeleted file mode 100644 index 4466946601c..00000000000 --- a/addons/mail/static/src/img/smiley/pinky.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/postal_horn.png b/addons/mail/static/src/img/smiley/postal_horn.png Binary files differdeleted file mode 100644 index 5b7ed85d4fc..00000000000 --- a/addons/mail/static/src/img/smiley/postal_horn.png +++ /dev/null diff --git a/addons/mail/static/src/img/smiley/sunglass.png b/addons/mail/static/src/img/smiley/sunglass.png Binary files differnew file mode 100644 index 00000000000..1c468a1c91e --- /dev/null +++ b/addons/mail/static/src/img/smiley/sunglass.png diff --git a/addons/mail/static/src/img/smiley/tears_of_joy.png b/addons/mail/static/src/img/smiley/tears_of_joy.png Binary files differnew file mode 100644 index 00000000000..47df693d424 --- /dev/null +++ b/addons/mail/static/src/img/smiley/tears_of_joy.png diff --git a/addons/mail/static/src/img/smiley/trophy.png b/addons/mail/static/src/img/smiley/trophy.png Binary files differnew file mode 100644 index 00000000000..95d3b63f524 --- /dev/null +++ b/addons/mail/static/src/img/smiley/trophy.png diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js index d0c41ad67b3..807d5352180 100644 --- a/addons/mail/static/src/js/chat_manager.js +++ b/addons/mail/static/src/js/chat_manager.js @@ -29,6 +29,7 @@ var chat_unread_counter = 0; var unread_conversation_counter = 0; var emojis = []; var emoji_substitutions = {}; +var emoji_unicodes = {}; var needaction_counter = 0; var starred_counter = 0; var mention_partner_suggestions = []; @@ -670,8 +671,12 @@ var ChatManager = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, { if (s.shortcode_type === 'text') { canned_responses.push(_.pick(s, ['id', 'source', 'substitution'])); } else { - emojis.push(_.pick(s, ['id', 'source', 'substitution', 'description'])); + emojis.push(_.pick(s, ['id', 'source', 'unicode_source', 'substitution', 'description'])); emoji_substitutions[_.escape(s.source)] = s.substitution; + if (s.unicode_source) { + emoji_substitutions[_.escape(s.unicode_source)] = s.substitution; + emoji_unicodes[_.escape(s.source)] = s.unicode_source; + } } }); bus.start_polling(); @@ -760,6 +765,14 @@ var ChatManager = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, { body: body, attachment_ids: data.attachment_ids, }; + + // Replace emojis by their unicode character + _.each(_.keys(emoji_unicodes), function (key) { + var escaped_key = String(key).replace(/([.*+?=^!:${}()|[\]\/\\])/g, '\\$1'); + var regexp = new RegExp("(\\s|^)(" + escaped_key + ")(?=\\s|$)", "g"); + msg.body = msg.body.replace(regexp, "$1" + emoji_unicodes[key]); + }); + if ('subject' in data) { msg.subject = data.subject; } |
