summaryrefslogtreecommitdiff
path: root/addons/mail/static/src
diff options
context:
space:
mode:
authorRohan Patel <rop@odoo.com>2017-06-30 12:41:09 +0530
committerAaron Bohy <aab@odoo.com>2017-09-11 12:20:49 +0200
commit8c1f6a7cc6aea43aa9ef99b7b7ae70f5abbe3d92 (patch)
tree1f96835762a6c57fadc6ba4f11409b5406856b5d /addons/mail/static/src
parenta58fb415fc6465b1a150d7cc295c260b6ac0b9d5 (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')
-rw-r--r--addons/mail/static/src/img/smiley/angry.pngbin0 -> 5410 bytes
-rw-r--r--addons/mail/static/src/img/smiley/boar.pngbin4798 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/bug.pngbin0 -> 5255 bytes
-rw-r--r--addons/mail/static/src/img/smiley/cake.pngbin0 -> 5404 bytes
-rw-r--r--addons/mail/static/src/img/smiley/cat.pngbin6083 -> 5987 bytes
-rw-r--r--addons/mail/static/src/img/smiley/coffee.pngbin0 -> 4306 bytes
-rw-r--r--addons/mail/static/src/img/smiley/evil.pngbin0 -> 7189 bytes
-rw-r--r--addons/mail/static/src/img/smiley/flushed.pngbin0 -> 8284 bytes
-rw-r--r--addons/mail/static/src/img/smiley/man.pngbin5985 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/man_with_turban.pngbin6526 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/monkey_eye.pngbin0 -> 6828 bytes
-rw-r--r--addons/mail/static/src/img/smiley/monkey_hear.pngbin0 -> 6550 bytes
-rw-r--r--addons/mail/static/src/img/smiley/monkey_speak.pngbin0 -> 5977 bytes
-rw-r--r--addons/mail/static/src/img/smiley/musti.pngbin1017 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/normal_smile.pngbin0 -> 5284 bytes
-rw-r--r--addons/mail/static/src/img/smiley/party.pngbin0 -> 5945 bytes
-rw-r--r--addons/mail/static/src/img/smiley/pinky.pngbin2978 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/postal_horn.pngbin4815 -> 0 bytes
-rw-r--r--addons/mail/static/src/img/smiley/sunglass.pngbin0 -> 5749 bytes
-rw-r--r--addons/mail/static/src/img/smiley/tears_of_joy.pngbin0 -> 6339 bytes
-rw-r--r--addons/mail/static/src/img/smiley/trophy.pngbin0 -> 5520 bytes
-rw-r--r--addons/mail/static/src/js/chat_manager.js15
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
new file mode 100644
index 00000000000..c65ddff552a
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/angry.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/boar.png b/addons/mail/static/src/img/smiley/boar.png
deleted file mode 100644
index 3ef50325016..00000000000
--- a/addons/mail/static/src/img/smiley/boar.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/bug.png b/addons/mail/static/src/img/smiley/bug.png
new file mode 100644
index 00000000000..222577ca7ea
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/bug.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/cake.png b/addons/mail/static/src/img/smiley/cake.png
new file mode 100644
index 00000000000..36e8edcbec4
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/cake.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/cat.png b/addons/mail/static/src/img/smiley/cat.png
index dbf1b0276ab..09b9ef79a7d 100644
--- a/addons/mail/static/src/img/smiley/cat.png
+++ b/addons/mail/static/src/img/smiley/cat.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/coffee.png b/addons/mail/static/src/img/smiley/coffee.png
new file mode 100644
index 00000000000..57e1adcb04a
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/coffee.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/evil.png b/addons/mail/static/src/img/smiley/evil.png
new file mode 100644
index 00000000000..d904049309c
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/evil.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/flushed.png b/addons/mail/static/src/img/smiley/flushed.png
new file mode 100644
index 00000000000..6e3a0a7d038
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/flushed.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/man.png b/addons/mail/static/src/img/smiley/man.png
deleted file mode 100644
index c4a4217f4d4..00000000000
--- a/addons/mail/static/src/img/smiley/man.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/man_with_turban.png b/addons/mail/static/src/img/smiley/man_with_turban.png
deleted file mode 100644
index 8a0bda1ca77..00000000000
--- a/addons/mail/static/src/img/smiley/man_with_turban.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/monkey_eye.png b/addons/mail/static/src/img/smiley/monkey_eye.png
new file mode 100644
index 00000000000..0890a622279
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/monkey_eye.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/monkey_hear.png b/addons/mail/static/src/img/smiley/monkey_hear.png
new file mode 100644
index 00000000000..f97a1f9a090
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/monkey_hear.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/monkey_speak.png b/addons/mail/static/src/img/smiley/monkey_speak.png
new file mode 100644
index 00000000000..87944c4de54
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/monkey_speak.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/musti.png b/addons/mail/static/src/img/smiley/musti.png
deleted file mode 100644
index f6843ddf95c..00000000000
--- a/addons/mail/static/src/img/smiley/musti.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/normal_smile.png b/addons/mail/static/src/img/smiley/normal_smile.png
new file mode 100644
index 00000000000..1e9021cb6fe
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/normal_smile.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/party.png b/addons/mail/static/src/img/smiley/party.png
new file mode 100644
index 00000000000..7411b5266a0
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/party.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/pinky.png b/addons/mail/static/src/img/smiley/pinky.png
deleted file mode 100644
index 4466946601c..00000000000
--- a/addons/mail/static/src/img/smiley/pinky.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/postal_horn.png b/addons/mail/static/src/img/smiley/postal_horn.png
deleted file mode 100644
index 5b7ed85d4fc..00000000000
--- a/addons/mail/static/src/img/smiley/postal_horn.png
+++ /dev/null
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/sunglass.png b/addons/mail/static/src/img/smiley/sunglass.png
new file mode 100644
index 00000000000..1c468a1c91e
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/sunglass.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/tears_of_joy.png b/addons/mail/static/src/img/smiley/tears_of_joy.png
new file mode 100644
index 00000000000..47df693d424
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/tears_of_joy.png
Binary files differ
diff --git a/addons/mail/static/src/img/smiley/trophy.png b/addons/mail/static/src/img/smiley/trophy.png
new file mode 100644
index 00000000000..95d3b63f524
--- /dev/null
+++ b/addons/mail/static/src/img/smiley/trophy.png
Binary files differ
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;
}