mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 21:43:21 +00:00
emoji_picker: Refactor toggle_emoji_popover to split out to functions.
This commit is contained in:
committed by
Steve Howell
parent
f645a0304b
commit
0dcbacdbc6
@@ -178,24 +178,17 @@ function add_scrollbar(element) {
|
||||
});
|
||||
}
|
||||
|
||||
exports.toggle_emoji_popover = function (element, id) {
|
||||
var last_popover_elem = current_message_emoji_popover_elem;
|
||||
popovers.hide_all();
|
||||
if (last_popover_elem !== undefined
|
||||
&& last_popover_elem.get()[0] === element) {
|
||||
// We want it to be the case that a user can dismiss a popover
|
||||
// by clicking on the same element that caused the popover.
|
||||
return;
|
||||
function refill_section_head_offsets(popover) {
|
||||
section_head_offsets = [];
|
||||
popover.find('.emoji-popover-subheading').each(function () {
|
||||
section_head_offsets.push({
|
||||
section: $(this).attr('data-section'),
|
||||
position_y: $(this).position().top,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(element).closest('.message_row').toggleClass('has_popover has_emoji_popover');
|
||||
var elt = $(element);
|
||||
if (id !== undefined) {
|
||||
current_msg_list.select_id(id);
|
||||
}
|
||||
|
||||
if (elt.data('popover') === undefined) {
|
||||
elt.prop('title', '');
|
||||
exports.render_emoji_popover = function (elt, id) {
|
||||
var template_args = {
|
||||
class: "emoji-info-popover",
|
||||
categories: get_rendered_emoji_categories(),
|
||||
@@ -223,18 +216,31 @@ exports.toggle_emoji_popover = function (element, id) {
|
||||
show_emoji_catalog();
|
||||
|
||||
var popover = elt.data('popover').$tip;
|
||||
|
||||
section_head_offsets = [];
|
||||
popover.find('.emoji-popover-subheading').each(function () {
|
||||
section_head_offsets.push({
|
||||
section: $(this).attr('data-section'),
|
||||
position_y: $(this).position().top,
|
||||
});
|
||||
});
|
||||
refill_section_head_offsets(popover);
|
||||
var $emoji_map = popover.find('.emoji-popover-emoji-map');
|
||||
$emoji_map.on("scroll", function () {
|
||||
emoji_picker.emoji_select_tab($emoji_map);
|
||||
});
|
||||
};
|
||||
|
||||
exports.toggle_emoji_popover = function (element, id) {
|
||||
var last_popover_elem = current_message_emoji_popover_elem;
|
||||
popovers.hide_all();
|
||||
if (last_popover_elem !== undefined
|
||||
&& last_popover_elem.get()[0] === element) {
|
||||
// We want it to be the case that a user can dismiss a popover
|
||||
// by clicking on the same element that caused the popover.
|
||||
return;
|
||||
}
|
||||
|
||||
$(element).closest('.message_row').toggleClass('has_popover has_emoji_popover');
|
||||
var elt = $(element);
|
||||
if (id !== undefined) {
|
||||
current_msg_list.select_id(id);
|
||||
}
|
||||
|
||||
if (elt.data('popover') === undefined) {
|
||||
emoji_picker.render_emoji_popover(elt, id);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user