diff options
author | Fatih Acet <acetfatih@gmail.com> | 2017-07-08 12:19:39 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2017-07-21 22:35:25 +0300 |
commit | 7edc1bc3a62769f5186d237ca716b321a4a88d56 (patch) | |
tree | b3c487b988655c568bc96936a4895e29016b3ac8 /app/assets/javascripts/awards_handler.js | |
parent | 575544f6d5477504821a0f73b9ec3407a6242170 (diff) | |
download | gitlab-ce-7edc1bc3a62769f5186d237ca716b321a4a88d56.tar.gz |
IssueNotesRefactor: Implement awarding emoji from emoji dropdown.
Diffstat (limited to 'app/assets/javascripts/awards_handler.js')
-rw-r--r-- | app/assets/javascripts/awards_handler.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js index 18cd04b176a..177904543b6 100644 --- a/app/assets/javascripts/awards_handler.js +++ b/app/assets/javascripts/awards_handler.js @@ -2,6 +2,7 @@ /* global Flash */ import Cookies from 'js-cookie'; +import issueNotesEventHub from './notes/event_hub'; const animationEndEventString = 'animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd'; const transitionEndEventString = 'transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd'; @@ -234,12 +235,23 @@ class AwardsHandler { } addAward(votesBlock, awardUrl, emoji, checkMutuality, callback) { + if (this.isInIssuePage()) { + const id = votesBlock[0].id.replace('note_', ''); + + $('.emoji-menu').removeClass('is-visible'); + $('.js-add-award.is-active').removeClass('is-active'); + + return issueNotesEventHub.$emit('toggleAward', { awardName: emoji, noteId: id }); + } + const normalizedEmoji = this.emoji.normalizeEmojiName(emoji); const $emojiButton = this.findEmojiIcon(votesBlock, normalizedEmoji).parent(); + this.postEmoji($emojiButton, awardUrl, normalizedEmoji, () => { this.addAwardToEmojiBar(votesBlock, normalizedEmoji, checkMutuality); return typeof callback === 'function' ? callback() : undefined; }); + $('.emoji-menu').removeClass('is-visible'); $('.js-add-award.is-active').removeClass('is-active'); } @@ -267,7 +279,18 @@ class AwardsHandler { } } + isInIssuePage() { + const page = gl.utils.getPagePath(1); + const action = gl.utils.getPagePath(2); + + return page === 'issues' && action === 'show'; + } + getVotesBlock() { + if (this.isInIssuePage()) { + return $('.js-add-award.is-active').closest('.note.timeline-entry'); + } + const currentBlock = $('.js-awards-block.current'); let resultantVotesBlock = currentBlock; if (currentBlock.length === 0) { |