diff options
author | Valery Sizov <valery@gitlab.com> | 2015-11-18 15:43:53 +0200 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-11-19 01:25:59 +0200 |
commit | f021bc5c6aa79147940ee31e800f519962f4d806 (patch) | |
tree | 1b2424e84748df8fff573b99280f28f98eca5176 /app/assets | |
parent | 36d0442e837cd520dec780590040c83108bc14e6 (diff) | |
download | gitlab-ce-f021bc5c6aa79147940ee31e800f519962f4d806.tar.gz |
add stats on hover
Diffstat (limited to 'app/assets')
-rw-r--r-- | app/assets/javascripts/awards_handler.coffee | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/app/assets/javascripts/awards_handler.coffee b/app/assets/javascripts/awards_handler.coffee index 8803c0cca2d..29b11b0cc58 100644 --- a/app/assets/javascripts/awards_handler.coffee +++ b/app/assets/javascripts/awards_handler.coffee @@ -13,6 +13,7 @@ class @AwardsHandler counter = @findEmojiIcon(emoji).siblings(".counter") counter.text(parseInt(counter.text()) + 1) counter.parent().addClass("active") + @addMeToAuthorList(emoji) else @createEmoji(emoji) @@ -28,13 +29,38 @@ class @AwardsHandler if parseInt(counter.text()) > 1 counter.text(parseInt(counter.text()) - 1) counter.parent().removeClass("active") + @removeMeFromAuthorList(emoji) else - counter.parent().remove() + award = counter.parent() + award.tooltip("destroy") + award.remove() + removeMeFromAuthorList: (emoji) -> + award_block = @findEmojiIcon(emoji).parent() + authors = award_block.attr("data-original-title").split(", ") + authors = _.without(authors, "me").join(", ") + award_block.attr("title", authors) + @resetTooltip(award_block) + + addMeToAuthorList: (emoji) -> + award_block = @findEmojiIcon(emoji).parent() + authors = award_block.attr("data-original-title").split(", ") + authors.push("me") + award_block.attr("title", authors.join(", ")) + @resetTooltip(award_block) + + resetTooltip: (award) -> + award.tooltip("destroy") + + # "destroy" call is asynchronous, this is why we need to set timeout. + setTimeout (-> + award.tooltip() + ), 200 + createEmoji: (emoji) -> nodes = [] - nodes.push("<div class='award active'>") + nodes.push("<div class='award active' title='me'>") nodes.push("<div class='icon' data-emoji='" + emoji + "'>") nodes.push(@getImage(emoji)) nodes.push("</div>") @@ -43,6 +69,8 @@ class @AwardsHandler $(".awards-controls").before(nodes.join("\n")) + $(".award").tooltip() + getImage: (emoji) -> $("li[data-emoji='" + emoji + "'").html() |