navbar_menus: Convert module to TypeScript.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2024-11-27 13:28:55 -08:00
committed by Anders Kaseorg
parent 34ccf15daa
commit 550287b33c
3 changed files with 11 additions and 8 deletions

View File

@@ -163,7 +163,7 @@ EXEMPT_FILES = make_set(
"web/src/narrow_title.ts",
"web/src/navbar_alerts.ts",
"web/src/navbar_help_menu.ts",
"web/src/navbar_menus.js",
"web/src/navbar_menus.ts",
"web/src/navigate.js",
"web/src/onboarding_steps.ts",
"web/src/overlay_util.ts",

View File

@@ -35,7 +35,7 @@ import * as message_scroll_state from "./message_scroll_state.ts";
import * as message_view from "./message_view.ts";
import * as modals from "./modals.ts";
import * as narrow_state from "./narrow_state.ts";
import * as navbar_menus from "./navbar_menus.js";
import * as navbar_menus from "./navbar_menus.ts";
import * as navigate from "./navigate.js";
import * as overlays from "./overlays.ts";
import {page_params} from "./page_params.ts";

View File

@@ -6,7 +6,7 @@ import * as personal_menu_popover from "./personal_menu_popover.ts";
import * as popover_menus from "./popover_menus.ts";
import * as popovers from "./popovers.ts";
export function is_navbar_menus_displayed() {
export function is_navbar_menus_displayed(): boolean {
return (
popover_menus.is_personal_menu_popover_displayed() ||
popover_menus.is_gear_menu_popover_displayed() ||
@@ -14,17 +14,17 @@ export function is_navbar_menus_displayed() {
);
}
export function any_focused() {
export function any_focused(): boolean {
return $(".navbar-item:visible").is(":focus");
}
export function blur_focused() {
export function blur_focused(): void {
if (any_focused()) {
$(".navbar-item:visible").filter(":focus").trigger("blur");
}
}
export function handle_keyboard_events(event_name) {
export function handle_keyboard_events(event_name: string): boolean {
const allowed_events = new Set(["gear_menu", "left_arrow", "right_arrow"]);
if (!allowed_events.has(event_name)) {
return false;
@@ -44,7 +44,7 @@ export function handle_keyboard_events(event_name) {
return change_active_navbar_menu(target_menu);
}
function change_active_navbar_menu(target_menu) {
function change_active_navbar_menu(target_menu: string): boolean {
popovers.hide_all();
blur_focused();
switch (target_menu) {
@@ -66,7 +66,10 @@ function change_active_navbar_menu(target_menu) {
}
}
function get_target_navbar_menu(event_name, $current_navbar_menu) {
function get_target_navbar_menu(
event_name: string,
$current_navbar_menu: JQuery,
): string | undefined {
const $visible_navbar_menus = $(".navbar-item:visible");
const index = $visible_navbar_menus.index($current_navbar_menu);
let $target_navbar_menu;