diff --git a/web/src/bootstrap_typeahead.ts b/web/src/bootstrap_typeahead.ts
index 04e68eaad1..2c38ba09f8 100644
--- a/web/src/bootstrap_typeahead.ts
+++ b/web/src/bootstrap_typeahead.ts
@@ -178,7 +178,7 @@ const MENU_HTML = '
';
const ITEM_HTML = "";
const MIN_LENGTH = 1;
-type InputElement =
+type TypeaheadInputElement =
| {
$element: JQuery;
type: "contenteditable";
@@ -189,7 +189,7 @@ type InputElement =
};
class Typeahead {
- input_element: InputElement;
+ input_element: TypeaheadInputElement;
items: number;
matcher: (item: ItemType, query: string) => boolean;
sorter: (items: ItemType[], query: string) => ItemType[];
@@ -197,13 +197,13 @@ class Typeahead {
updater: (
item: ItemType,
query: string,
- input_element: InputElement,
+ input_element: TypeaheadInputElement,
event?: JQuery.ClickEvent | JQuery.KeyUpEvent | JQuery.KeyDownEvent,
) => string | undefined;
$container: JQuery;
$menu: JQuery;
$header: JQuery;
- source: (query: string, input_element: InputElement) => ItemType[];
+ source: (query: string, input_element: TypeaheadInputElement) => ItemType[];
dropup: boolean;
fixed: boolean;
automated: () => boolean;
@@ -226,7 +226,7 @@ class Typeahead {
advanceKeyCodes: number[];
parentElement?: string;
- constructor(input_element: InputElement, options: TypeaheadOptions) {
+ constructor(input_element: TypeaheadInputElement, options: TypeaheadOptions) {
this.input_element = input_element;
if (this.input_element.type === "contenteditable") {
assert(this.input_element.$element.is("[contenteditable]"));
@@ -694,7 +694,7 @@ class Typeahead {
type TypeaheadOptions = {
highlighter_html: (item: ItemType, query: string) => string | undefined;
items: number;
- source: (query: string, input_element: InputElement) => ItemType[];
+ source: (query: string, input_element: TypeaheadInputElement) => ItemType[];
// optional options
advanceKeyCodes?: number[];
automated?: () => boolean;
@@ -716,13 +716,13 @@ type TypeaheadOptions = {
updater: (
item: ItemType,
query: string,
- input_element: InputElement,
+ input_element: TypeaheadInputElement,
event?: JQuery.ClickEvent | JQuery.KeyUpEvent | JQuery.KeyDownEvent,
) => string | undefined;
};
export function create(
- input_element: InputElement,
+ input_element: TypeaheadInputElement,
options: TypeaheadOptions,
): void {
input_element.$element.data("typeahead", new Typeahead(input_element, options));