From cd28ea6d07cfe300bf71e47ab61cd38bbaacabbd Mon Sep 17 00:00:00 2001 From: Joshua Pan Date: Wed, 19 Apr 2017 05:49:54 +0000 Subject: [PATCH] reaction.js: Update toggle_reaction(). Created get_selected_emoji() function. toggle_reaction() now doesn't require emoji_name and automatically looks for a selected_emoji if possible. --- static/js/hotkey.js | 5 +++++ static/js/reactions.js | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/static/js/hotkey.js b/static/js/hotkey.js index 91834f17fa..2b63578d17 100644 --- a/static/js/hotkey.js +++ b/static/js/hotkey.js @@ -282,6 +282,11 @@ exports.process_enter_key = function (e) { return true; } + if (popovers.reactions_popped()) { + reactions.toggle_reaction(current_msg_list.selected_id()); + return true; + } + if (exports.is_editing_stream_name(e)) { $(e.target).parent().find(".checkmark").click(); return false; diff --git a/static/js/reactions.js b/static/js/reactions.js index 0f73e198e7..2c5793a37e 100644 --- a/static/js/reactions.js +++ b/static/js/reactions.js @@ -51,7 +51,18 @@ exports.message_reaction_on_click = function (message_id, emoji_name) { send_reaction_ajax(message_id, emoji_name, operation); }; +function get_selected_emoji() { + return $(".reaction-popover-reaction").filter(":focus")[0]; +} + exports.toggle_reaction = function (message_id, emoji_name) { + var selected_emoji = get_selected_emoji(); + if (emoji_name === undefined && selected_emoji === undefined) { + return; + } + if (selected_emoji) { + emoji_name = selected_emoji.title; + } var user_list = get_user_list_for_message_reaction(message_id, emoji_name); var operation = 'add'; if (user_list.indexOf(page_params.user_id) !== -1) {