diff --git a/tools/test-js-with-node b/tools/test-js-with-node index 942231d100..c6332a54da 100755 --- a/tools/test-js-with-node +++ b/tools/test-js-with-node @@ -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", diff --git a/web/src/hotkey.js b/web/src/hotkey.js index 674963f1d0..bf1e2eea0f 100644 --- a/web/src/hotkey.js +++ b/web/src/hotkey.js @@ -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"; diff --git a/web/src/navbar_menus.js b/web/src/navbar_menus.ts similarity index 86% rename from web/src/navbar_menus.js rename to web/src/navbar_menus.ts index 4fd6348a00..b5b8976f37 100644 --- a/web/src/navbar_menus.js +++ b/web/src/navbar_menus.ts @@ -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;