summaryrefslogtreecommitdiff
path: root/app/assets
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2015-11-18 15:43:53 +0200
committerValery Sizov <vsv2711@gmail.com>2015-11-19 01:25:59 +0200
commitf021bc5c6aa79147940ee31e800f519962f4d806 (patch)
tree1b2424e84748df8fff573b99280f28f98eca5176 /app/assets
parent36d0442e837cd520dec780590040c83108bc14e6 (diff)
downloadgitlab-ce-f021bc5c6aa79147940ee31e800f519962f4d806.tar.gz
add stats on hover
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/awards_handler.coffee32
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()