mirror of
https://github.com/zulip/zulip.git
synced 2025-11-07 23:43:43 +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();
|
set_upload_space_stats();
|
||||||
|
|
||||||
const $uploaded_files_table = $("#uploaded_files_table").expectOne();
|
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, {
|
ListWidget.create<Attachment>($uploaded_files_table, attachments, {
|
||||||
name: "uploaded-files-list",
|
name: "uploaded-files-list",
|
||||||
|
|||||||
@@ -154,8 +154,8 @@ export function set_tab(page: string): void {
|
|||||||
$("html").scrollTop(0);
|
$("html").scrollTop(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(`#${CSS.escape(page)}-tabs.nav-tabs a`).on("click", function () {
|
$<HTMLAnchorElement>(`#${CSS.escape(page)}-tabs.nav-tabs a`).on("click", function () {
|
||||||
location.hash = (this as HTMLAnchorElement).hash;
|
location.hash = this.hash;
|
||||||
});
|
});
|
||||||
|
|
||||||
current_page = page;
|
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.
|
// This type ensures the mutually exclusive nature of the predicate and filterer options.
|
||||||
type ListWidgetFilterOpts<Item = unknown> = {
|
type ListWidgetFilterOpts<Item = unknown> = {
|
||||||
$element?: JQuery;
|
$element?: JQuery<HTMLInputElement>;
|
||||||
onupdate?: () => void;
|
onupdate?: () => void;
|
||||||
} & (
|
} & (
|
||||||
| {
|
| {
|
||||||
@@ -359,7 +359,7 @@ export function create<Key = unknown, Item = Key>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
opts.filter?.$element?.on("input.list_widget_filter", function () {
|
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.set_filter_value(value);
|
||||||
widget.hard_redraw();
|
widget.hard_redraw();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export type RealmDefaultSettings = {
|
|||||||
wildcard_mentions_notify: boolean;
|
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 {
|
export function initialize(params: Record<string, RealmDefaultSettings>): void {
|
||||||
realm_user_settings_defaults = params.realm_user_settings_defaults;
|
realm_user_settings_defaults = params.realm_user_settings_defaults;
|
||||||
|
|||||||
@@ -136,7 +136,9 @@ export function populate_emoji(): void {
|
|||||||
return "";
|
return "";
|
||||||
},
|
},
|
||||||
filter: {
|
filter: {
|
||||||
$element: $emoji_table.closest(".settings-section").find(".search"),
|
$element: $emoji_table
|
||||||
|
.closest(".settings-section")
|
||||||
|
.find<HTMLInputElement>("input.search"),
|
||||||
predicate(item, value) {
|
predicate(item, value) {
|
||||||
return item.name.toLowerCase().includes(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 {
|
export function listener_for_preferred_color_scheme_change(callback: () => void): void {
|
||||||
const media_query_list = window.matchMedia("(prefers-color-scheme: dark)");
|
const media_query_list = window.matchMedia("(prefers-color-scheme: dark)");
|
||||||
// MediaQueryList.addEventListener is missing in Safari < 14
|
// MediaQueryList.addEventListener is missing in Safari < 14
|
||||||
const listener: () => void = () => {
|
const listener = (): void => {
|
||||||
if ($(":root").hasClass("color-scheme-automatic")) {
|
if ($(":root").hasClass("color-scheme-automatic")) {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if ("addEventListener" in media_query_list) {
|
if (media_query_list.addEventListener) {
|
||||||
media_query_list.addEventListener("change", listener);
|
media_query_list.addEventListener("change", listener);
|
||||||
} else {
|
} 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;
|
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 {
|
export function initialize_user_settings(params: Record<string, UserSettings>): void {
|
||||||
user_settings = params.user_settings;
|
user_settings = params.user_settings;
|
||||||
|
|||||||
Reference in New Issue
Block a user