replace emoji references from class name to data [ci skip]
This commit is contained in:
parent
06a4fd1035
commit
36d0442e83
3 changed files with 26 additions and 22 deletions
|
@ -3,25 +3,27 @@ class @AwardsHandler
|
|||
|
||||
addAward: (emoji) ->
|
||||
@postEmoji emoji, =>
|
||||
if @exist(emoji)
|
||||
if @isActive(emoji)
|
||||
@decrementCounter(emoji)
|
||||
else
|
||||
counter = $(".icon." + emoji).siblings(".counter")
|
||||
counter.text(parseInt(counter.text()) + 1)
|
||||
counter.parent().addClass("active")
|
||||
else
|
||||
@createEmoji(emoji)
|
||||
@addAwardToEmojiBar(emoji)
|
||||
|
||||
addAwardToEmojiBar: (emoji) ->
|
||||
if @exist(emoji)
|
||||
if @isActive(emoji)
|
||||
@decrementCounter(emoji)
|
||||
else
|
||||
counter = @findEmojiIcon(emoji).siblings(".counter")
|
||||
counter.text(parseInt(counter.text()) + 1)
|
||||
counter.parent().addClass("active")
|
||||
else
|
||||
@createEmoji(emoji)
|
||||
|
||||
exist: (emoji) ->
|
||||
$(".icon").hasClass(emoji)
|
||||
@findEmojiIcon(emoji).length > 0
|
||||
|
||||
isActive: (emoji) ->
|
||||
$(".icon." + emoji).parent().hasClass("active")
|
||||
@findEmojiIcon(emoji).parent().hasClass("active")
|
||||
|
||||
decrementCounter: (emoji) ->
|
||||
counter = $(".icon." + emoji).siblings(".counter")
|
||||
counter = @findEmojiIcon(emoji).siblings(".counter")
|
||||
|
||||
if parseInt(counter.text()) > 1
|
||||
counter.text(parseInt(counter.text()) - 1)
|
||||
|
@ -33,7 +35,7 @@ class @AwardsHandler
|
|||
createEmoji: (emoji) ->
|
||||
nodes = []
|
||||
nodes.push("<div class='award active'>")
|
||||
nodes.push("<div class='icon " + emoji + "'>")
|
||||
nodes.push("<div class='icon' data-emoji='" + emoji + "'>")
|
||||
nodes.push(@getImage(emoji))
|
||||
nodes.push("</div>")
|
||||
nodes.push("<div class='counter'>1")
|
||||
|
@ -42,14 +44,16 @@ class @AwardsHandler
|
|||
$(".awards-controls").before(nodes.join("\n"))
|
||||
|
||||
getImage: (emoji) ->
|
||||
$("li." + emoji).html()
|
||||
$("li[data-emoji='" + emoji + "'").html()
|
||||
|
||||
postEmoji: (emoji, callback) ->
|
||||
emoji = emoji.replace("emoji-", "")
|
||||
$.post @post_emoji_url, {
|
||||
emoji: emoji
|
||||
noteable_type: @noteable_type
|
||||
noteable_id: @noteable_id
|
||||
},(data) ->
|
||||
if data.ok
|
||||
callback.call()
|
||||
callback.call()
|
||||
|
||||
findEmojiIcon: (emoji) ->
|
||||
$(".icon[data-emoji='" + emoji + "'")
|
|
@ -121,7 +121,7 @@ class @Notes
|
|||
@initTaskList()
|
||||
|
||||
if note.award
|
||||
awards_handler.addAward("emoji-" + note.note)
|
||||
awards_handler.addAwardToEmojiBar(note.note)
|
||||
|
||||
###
|
||||
Check if note does not exists on page
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.awards.votes-block
|
||||
- votable.notes.awards.grouped_awards.each do | vote |
|
||||
.award{class: ("active" if vote.last.pluck(:author_id).include?(current_user.id))}
|
||||
.icon{class: "emoji-#{vote.first}"}
|
||||
.icon{"data-emoji" => "#{vote.first}"}
|
||||
= image_tag url_to_emoji(vote.first), height: "20px", width: "20px"
|
||||
.counter
|
||||
= vote.last.count
|
||||
|
@ -10,22 +10,22 @@
|
|||
%a#add-award{"data-toggle" => "dropdown", "data-target" => "#", "href" => "#"} +
|
||||
%ul.dropdown-menu.awards-menu
|
||||
- ["100", "blush", "heart", "smile", "rage", "beers", "thumbsup", "disappointed", "ok_hand", "helicopter"].each do |emoji|
|
||||
%li{class: "emoji-#{emoji}"}= image_tag url_to_emoji(emoji), height: "20px", width: "20px"
|
||||
%li{"data-emoji" => "#{emoji}"}= image_tag url_to_emoji(emoji), height: "20px", width: "20px"
|
||||
|
||||
|
||||
:coffeescript
|
||||
post_emoji_url = "#{award_toggle_namespace_project_notes_path(@project.namespace, @project)}"
|
||||
noteable_type = "Issue"
|
||||
noteable_id = #{@issue.id}
|
||||
awards_handler = new AwardsHandler(post_emoji_url, noteable_type, noteable_id)
|
||||
window.awards_handler = new AwardsHandler(post_emoji_url, noteable_type, noteable_id)
|
||||
|
||||
$ ->
|
||||
$(".awards-menu li").click (e)->
|
||||
emoji = $(this).attr("class")
|
||||
emoji = $(this).data("emoji")
|
||||
awards_handler.addAward(emoji)
|
||||
|
||||
$(".awards").on "click", ".award", (e)->
|
||||
emoji = /(emoji-\S*)/.exec($(this).find(".icon").attr("class"))[0]
|
||||
emoji = $(this).find(".icon").data("emoji")
|
||||
awards_handler.addAward(emoji)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue