navbar_menus: Avoid jQuery sizzle extension :visible.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2025-05-12 15:38:03 -07:00
committed by Tim Abbott
parent 1289e39cd5
commit d8ba3b4ea7
2 changed files with 7 additions and 5 deletions

View File

@@ -15,13 +15,11 @@ export function is_navbar_menus_displayed(): boolean {
}
export function any_focused(): boolean {
return $(".navbar-item:visible").is(":focus");
return $(".navbar-item:focus").length > 0;
}
export function blur_focused(): void {
if (any_focused()) {
$(".navbar-item:visible").filter(":focus").trigger("blur");
}
$(".navbar-item:focus").trigger("blur");
}
export function handle_keyboard_events(event_name: string): boolean {
@@ -35,7 +33,7 @@ export function handle_keyboard_events(event_name: string): boolean {
gear_menu.toggle();
return true;
}
const $current_navbar_menu = $(".navbar-item:visible").filter(".active-navbar-menu, :focus");
const $current_navbar_menu = $(".navbar-item.active-navbar-menu, .navbar-item:focus");
const target_menu = get_target_navbar_menu(event_name, $current_navbar_menu);
if (!target_menu) {

View File

@@ -294,6 +294,8 @@ run_test("allow normal typing when editing text", ({override, override_rewire})
override(overlays, "settings_open", () => settings_open);
override(overlays, "info_overlay_open", () => info_overlay_open);
$.create(".navbar-item:focus", {children: []});
for (settings_open of [true, false]) {
for (any_active of [true, false]) {
for (info_overlay_open of [true, false]) {
@@ -457,6 +459,8 @@ test_while_not_editing_text("narrow next unread followed topic", () => {
});
test_while_not_editing_text("motion_keys", () => {
$.create(".navbar-item:focus", {children: []});
const codes = {
down_arrow: 40,
end: 35,