summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/awards_handler.js
diff options
context:
space:
mode:
authorFatih Acet <acetfatih@gmail.com>2017-07-08 12:19:39 +0300
committerFatih Acet <acetfatih@gmail.com>2017-07-21 22:35:25 +0300
commit7edc1bc3a62769f5186d237ca716b321a4a88d56 (patch)
treeb3c487b988655c568bc96936a4895e29016b3ac8 /app/assets/javascripts/awards_handler.js
parent575544f6d5477504821a0f73b9ec3407a6242170 (diff)
downloadgitlab-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.js23
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) {