mirror of
https://github.com/zulip/zulip.git
synced 2025-11-10 17:07:07 +00:00
web: Avoid several unchecked TypeScript casts.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
4650b789ce
commit
3d7b9e622d
@@ -129,7 +129,7 @@ function render_attachments_ui(): void {
|
||||
set_upload_space_stats();
|
||||
|
||||
const $uploaded_files_table = $("#uploaded_files_table").expectOne();
|
||||
const $search_input = $("#upload_file_search");
|
||||
const $search_input = $<HTMLInputElement>("input#upload_file_search");
|
||||
|
||||
ListWidget.create<Attachment>($uploaded_files_table, attachments, {
|
||||
name: "uploaded-files-list",
|
||||
|
||||
@@ -154,8 +154,8 @@ export function set_tab(page: string): void {
|
||||
$("html").scrollTop(0);
|
||||
}
|
||||
|
||||
$(`#${CSS.escape(page)}-tabs.nav-tabs a`).on("click", function () {
|
||||
location.hash = (this as HTMLAnchorElement).hash;
|
||||
$<HTMLAnchorElement>(`#${CSS.escape(page)}-tabs.nav-tabs a`).on("click", function () {
|
||||
location.hash = this.hash;
|
||||
});
|
||||
|
||||
current_page = page;
|
||||
|
||||
@@ -20,7 +20,7 @@ type ListWidgetMeta<Key = unknown, Item = Key> = {
|
||||
|
||||
// This type ensures the mutually exclusive nature of the predicate and filterer options.
|
||||
type ListWidgetFilterOpts<Item = unknown> = {
|
||||
$element?: JQuery;
|
||||
$element?: JQuery<HTMLInputElement>;
|
||||
onupdate?: () => void;
|
||||
} & (
|
||||
| {
|
||||
@@ -359,7 +359,7 @@ export function create<Key = unknown, Item = Key>(
|
||||
}
|
||||
|
||||
opts.filter?.$element?.on("input.list_widget_filter", function () {
|
||||
const value = (this as HTMLInputElement).value.toLocaleLowerCase();
|
||||
const value = this.value.toLocaleLowerCase();
|
||||
widget.set_filter_value(value);
|
||||
widget.hard_redraw();
|
||||
});
|
||||
|
||||
@@ -43,7 +43,7 @@ export type RealmDefaultSettings = {
|
||||
wildcard_mentions_notify: boolean;
|
||||
};
|
||||
|
||||
export let realm_user_settings_defaults = {} as RealmDefaultSettings;
|
||||
export let realm_user_settings_defaults: RealmDefaultSettings;
|
||||
|
||||
export function initialize(params: Record<string, RealmDefaultSettings>): void {
|
||||
realm_user_settings_defaults = params.realm_user_settings_defaults;
|
||||
|
||||
@@ -136,7 +136,9 @@ export function populate_emoji(): void {
|
||||
return "";
|
||||
},
|
||||
filter: {
|
||||
$element: $emoji_table.closest(".settings-section").find(".search"),
|
||||
$element: $emoji_table
|
||||
.closest(".settings-section")
|
||||
.find<HTMLInputElement>("input.search"),
|
||||
predicate(item, value) {
|
||||
return item.name.toLowerCase().includes(value);
|
||||
},
|
||||
|
||||
@@ -110,14 +110,14 @@ export async function play_audio(elem: HTMLVideoElement): Promise<void> {
|
||||
export function listener_for_preferred_color_scheme_change(callback: () => void): void {
|
||||
const media_query_list = window.matchMedia("(prefers-color-scheme: dark)");
|
||||
// MediaQueryList.addEventListener is missing in Safari < 14
|
||||
const listener: () => void = () => {
|
||||
const listener = (): void => {
|
||||
if ($(":root").hasClass("color-scheme-automatic")) {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
if ("addEventListener" in media_query_list) {
|
||||
if (media_query_list.addEventListener) {
|
||||
media_query_list.addEventListener("change", listener);
|
||||
} else {
|
||||
(media_query_list as MediaQueryList).addListener(listener);
|
||||
media_query_list.addListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ export type UserSettings = (StreamNotificationSettings &
|
||||
send_read_receipts: boolean;
|
||||
};
|
||||
|
||||
export let user_settings = {} as UserSettings;
|
||||
export let user_settings: UserSettings;
|
||||
|
||||
export function initialize_user_settings(params: Record<string, UserSettings>): void {
|
||||
user_settings = params.user_settings;
|
||||
|
||||
Reference in New Issue
Block a user