mirror of
https://github.com/zulip/zulip.git
synced 2026-06-24 21:08:25 +08:00
emoji_picker: Move enter handling into picker.
This means the picker no longer has to export is_composition(emoji) and toggle_selected_emoji().
This commit is contained in:
parent
42f20e81be
commit
1113589b9d
@ -247,12 +247,16 @@ function toggle_reaction(emoji_name) {
|
||||
exports.hide_emoji_popover();
|
||||
}
|
||||
|
||||
function is_composition(emoji) {
|
||||
return $(emoji).hasClass('composition');
|
||||
}
|
||||
|
||||
function maybe_select_emoji(e) {
|
||||
if (e.keyCode === 13) { // enter key
|
||||
e.preventDefault();
|
||||
const first_emoji = get_rendered_emoji(0, 0);
|
||||
if (first_emoji) {
|
||||
if (exports.is_composition(first_emoji)) {
|
||||
if (is_composition(first_emoji)) {
|
||||
first_emoji.click();
|
||||
} else {
|
||||
toggle_reaction(first_emoji.attr("data-emoji-name"));
|
||||
@ -261,7 +265,7 @@ function maybe_select_emoji(e) {
|
||||
}
|
||||
}
|
||||
|
||||
exports.toggle_selected_emoji = function () {
|
||||
function toggle_selected_emoji() {
|
||||
// Toggle the currently selected emoji.
|
||||
const selected_emoji = get_selected_emoji();
|
||||
|
||||
@ -272,7 +276,7 @@ exports.toggle_selected_emoji = function () {
|
||||
const emoji_name = $(selected_emoji).attr("data-emoji-name");
|
||||
|
||||
toggle_reaction(emoji_name);
|
||||
};
|
||||
}
|
||||
|
||||
function round_off_to_previous_multiple(number_to_round, multiple) {
|
||||
return number_to_round - number_to_round % multiple;
|
||||
@ -379,7 +383,7 @@ function change_focus_to_filter() {
|
||||
reset_emoji_showcase();
|
||||
}
|
||||
|
||||
exports.navigate = function (event_name) {
|
||||
exports.navigate = function (event_name, e) {
|
||||
if (event_name === 'toggle_reactions_popover' && exports.reactions_popped() &&
|
||||
(search_is_active === false || search_results.length === 0)) {
|
||||
exports.hide_emoji_popover();
|
||||
@ -388,7 +392,16 @@ exports.navigate = function (event_name) {
|
||||
|
||||
// If search is active and results are empty then return immediately.
|
||||
if (search_is_active === true && search_results.length === 0) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (event_name === 'enter') {
|
||||
if (is_composition(e.target)) {
|
||||
e.target.click();
|
||||
} else {
|
||||
toggle_selected_emoji();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
const $popover = $(".emoji-popover").expectOne();
|
||||
@ -736,10 +749,6 @@ exports.register_click_handlers = function () {
|
||||
});
|
||||
};
|
||||
|
||||
exports.is_composition = function (emoji) {
|
||||
return $(emoji).hasClass('composition');
|
||||
};
|
||||
|
||||
exports.initialize = function () {
|
||||
exports.generate_emoji_picker_data(emoji.active_realm_emojis);
|
||||
};
|
||||
|
||||
@ -282,12 +282,7 @@ exports.process_enter_key = function (e) {
|
||||
}
|
||||
|
||||
if (emoji_picker.reactions_popped()) {
|
||||
if (emoji_picker.is_composition(e.target)) {
|
||||
e.target.click();
|
||||
} else {
|
||||
emoji_picker.toggle_selected_emoji();
|
||||
}
|
||||
return true;
|
||||
return emoji_picker.navigate('enter', e);
|
||||
}
|
||||
|
||||
if (exports.in_content_editable_widget(e)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user