mirror of https://github.com/zulip/zulip.git
ts: Convert `compose_textarea.js` to TypeScript.
Added type definitions for `jquery-caret-plugin` third party package and converted `compose_textarea.js` to TypeScript.
This commit is contained in:
parent
48e99657ad
commit
38dd1de5b2
|
@ -67,7 +67,7 @@ EXEMPT_FILES = make_set(
|
|||
"web/src/compose_fade.js",
|
||||
"web/src/compose_recipient.js",
|
||||
"web/src/compose_state.js",
|
||||
"web/src/compose_textarea.js",
|
||||
"web/src/compose_textarea.ts",
|
||||
"web/src/compose_ui.js",
|
||||
"web/src/compose_validate.js",
|
||||
"web/src/composebox_typeahead.js",
|
||||
|
|
|
@ -4,7 +4,7 @@ import $ from "jquery";
|
|||
// shift-tab back in (see hotkey.js).
|
||||
let saved_compose_cursor = 0;
|
||||
|
||||
function set_compose_textarea_handlers() {
|
||||
function set_compose_textarea_handlers(): void {
|
||||
$("#compose-textarea").on("blur", function () {
|
||||
saved_compose_cursor = $(this).caret();
|
||||
});
|
||||
|
@ -16,10 +16,10 @@ function set_compose_textarea_handlers() {
|
|||
});
|
||||
}
|
||||
|
||||
export function restore_compose_cursor() {
|
||||
export function restore_compose_cursor(): void {
|
||||
$("#compose-textarea").trigger("focus").caret(saved_compose_cursor);
|
||||
}
|
||||
|
||||
export function initialize() {
|
||||
export function initialize(): void {
|
||||
set_compose_textarea_handlers();
|
||||
}
|
|
@ -5,10 +5,26 @@
|
|||
|
||||
declare let zulip_test: any; // eslint-disable-line @typescript-eslint/no-explicit-any
|
||||
|
||||
type JQueryCaretRange = {
|
||||
start: number;
|
||||
end: number;
|
||||
length: number;
|
||||
text: string;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
||||
interface JQuery {
|
||||
expectOne(): JQuery;
|
||||
tab(action?: string): this; // From web/third/bootstrap
|
||||
|
||||
// Types for jquery-caret-plugin
|
||||
caret(): number;
|
||||
caret(arg: number | string): this;
|
||||
range(): JQueryCaretRange;
|
||||
range(start: number, end?: number): this;
|
||||
range(text: string): this;
|
||||
selectAll(): this;
|
||||
deselectAll(): this;
|
||||
}
|
||||
|
||||
declare const ZULIP_VERSION: string;
|
||||
|
|
Loading…
Reference in New Issue