Commit 319c9360 authored by Phil Hughes's avatar Phil Hughes

Fixes issue with emoji comments not showing correct emoji image

Previously it would look for the unicode character inside the award menu. But this menu might not always be there.

Now, the unicode characters are loaded onto the page in an array which the award emoji that looks in to get the correct emoji unicode character

Fixes #15512
parent d5398e96
class @AwardsHandler class @AwardsHandler
constructor: (@get_emojis_url, @post_emoji_url, @noteable_type, @noteable_id, @aliases) -> constructor: (@get_emojis_url, @post_emoji_url, @noteable_type, @noteable_id, @unicodes) ->
$(".js-add-award").on "click", (event) => $(".js-add-award").on "click", (event) =>
event.stopPropagation() event.stopPropagation()
event.preventDefault() event.preventDefault()
...@@ -146,15 +146,7 @@ class @AwardsHandler ...@@ -146,15 +146,7 @@ class @AwardsHandler
$('.award-control').tooltip() $('.award-control').tooltip()
resolveNameToCssClass: (emoji) -> resolveNameToCssClass: (emoji) ->
emoji_icon = $(".emoji-menu-content [data-emoji='#{emoji}']") "emoji-#{@unicodes[emoji]}"
if emoji_icon.length > 0
unicodeName = emoji_icon.data("unicode-name")
else
# Find by alias
unicodeName = $(".emoji-menu-content [data-aliases*=':#{emoji}:']").data("unicode-name")
"emoji-#{unicodeName}"
postEmoji: (emoji, callback) -> postEmoji: (emoji, callback) ->
$.post @post_emoji_url, { note: { $.post @post_emoji_url, { note: {
...@@ -174,7 +166,7 @@ class @AwardsHandler ...@@ -174,7 +166,7 @@ class @AwardsHandler
}, 200) }, 200)
normilizeEmojiName: (emoji) -> normilizeEmojiName: (emoji) ->
@aliases[emoji] || emoji emoji
addEmojiToFrequentlyUsedList: (emoji) -> addEmojiToFrequentlyUsedList: (emoji) ->
frequently_used_emojis = @getFrequentlyUsedEmojis() frequently_used_emojis = @getFrequentlyUsedEmojis()
......
...@@ -19,12 +19,12 @@ ...@@ -19,12 +19,12 @@
var post_emoji_url = "#{award_toggle_namespace_project_notes_path(@project.namespace, @project)}"; var post_emoji_url = "#{award_toggle_namespace_project_notes_path(@project.namespace, @project)}";
var noteable_type = "#{votable.class.name.underscore}"; var noteable_type = "#{votable.class.name.underscore}";
var noteable_id = "#{votable.id}"; var noteable_id = "#{votable.id}";
var aliases = #{AwardEmoji.aliases.to_json}; var unicodes = #{AwardEmoji.unicode.to_json};
window.awards_handler = new AwardsHandler( window.awards_handler = new AwardsHandler(
get_emojis_url, get_emojis_url,
post_emoji_url, post_emoji_url,
noteable_type, noteable_type,
noteable_id, noteable_id,
aliases unicodes
); );
...@@ -52,6 +52,11 @@ class AwardEmoji ...@@ -52,6 +52,11 @@ class AwardEmoji
end end
end end
def self.unicode
emojis
emojis.map{|key, value| { key => emojis[key]["unicode"] } }.inject(:merge!)
end
def self.aliases def self.aliases
@aliases ||= begin @aliases ||= begin
json_path = File.join(Rails.root, 'fixtures', 'emojis', 'aliases.json' ) json_path = File.join(Rails.root, 'fixtures', 'emojis', 'aliases.json' )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment