diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-12-22 23:04:19 +0200 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-12-22 23:04:19 +0200 |
commit | d794ae8e1f6351282707d45df97ac0ec2a41eeb6 (patch) | |
tree | f5065867a024f670c9d295ff20f61cddcc63c9ce | |
parent | f049b939653c9ff1be6ef9835682978d6db90196 (diff) | |
download | gitlab-ce-d794ae8e1f6351282707d45df97ac0ec2a41eeb6.tar.gz |
add frequently used category to emoji picker
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | app/assets/javascripts/awards_handler.coffee | 26 |
2 files changed, 29 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG index 7f9dfd98cd7..d4b0e3ccf00 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,8 @@ Please view this file on the master branch, on stable branches it's out of date. +v 8.4.0 (unreleased) + - Add "Frequently used" category to emoji picker + v 8.3.0 (unreleased) - Expand character set of usernames created by Omniauth (Corey Hinshaw) - Add button to automatically merge a merge request when the build succeeds (Zeger-Jan van de Weg) diff --git a/app/assets/javascripts/awards_handler.coffee b/app/assets/javascripts/awards_handler.coffee index 84e7287e48d..0dc84b4c7ac 100644 --- a/app/assets/javascripts/awards_handler.coffee +++ b/app/assets/javascripts/awards_handler.coffee @@ -10,6 +10,8 @@ class @AwardsHandler if $(".emoji-menu").is(":visible") $(".emoji-menu").hide() + @renderFrequentlyUsedBlock() + addAward: (emoji) -> emoji = @normilizeEmojiName(emoji) @postEmoji emoji, => @@ -18,6 +20,8 @@ class @AwardsHandler $(".emoji-menu").hide() addAwardToEmojiBar: (emoji) -> + @addEmojiToFrequentlyUsedList(emoji) + emoji = @normilizeEmojiName(emoji) if @exist(emoji) if @isActive(emoji) @@ -108,3 +112,25 @@ class @AwardsHandler normilizeEmojiName: (emoji) -> @aliases[emoji] || emoji + + addEmojiToFrequentlyUsedList: (emoji) -> + frequently_used_emojis = @getFrequentlyUsedEmojis() + frequently_used_emojis.push(emoji) + $.cookie('frequently_used_emojis', frequently_used_emojis.join(","), { expires: 365 }) + + getFrequentlyUsedEmojis: -> + frequently_used_emojis = ($.cookie('frequently_used_emojis') || "").split(",") + _.compact(_.uniq(frequently_used_emojis)) + + renderFrequentlyUsedBlock: -> + if $.cookie('frequently_used_emojis') + frequently_used_emojis = @getFrequentlyUsedEmojis() + + ul = $("<ul>") + + for emoji in frequently_used_emojis + do (emoji) -> + $(".emoji-menu-content [data-emoji='" + emoji + "']").closest("li").clone().appendTo(ul) + + $(".emoji-menu-content").prepend(ul).prepend($("<h4>").text("Frequently used")) + |