mirror of https://github.com/zulip/zulip.git
compose: Fix bug where spoiler would not always start on a new line.
Earlier, when a selection not starting at the beginning of a line was
formatted as a spoiler, the spoiler would not start on a new line, and
so would not be rendered as a spoiler. The `Header` highlighting too
was off by one character.
Now, the spoiler starts on a new line, and the `Header` highlighting
works as expected too.
(cherry picked from commit c46375f6fc
)
This commit is contained in:
parent
7a474e4cbf
commit
b1fcbfd89a
|
@ -581,8 +581,8 @@ export function format_text($textarea, type, inserted_content) {
|
||||||
};
|
};
|
||||||
|
|
||||||
const format_spoiler = () => {
|
const format_spoiler = () => {
|
||||||
let spoiler_syntax_start = "```spoiler \n";
|
const spoiler_syntax_start = "```spoiler \n";
|
||||||
const spoiler_syntax_start_without_break = "```spoiler ";
|
let spoiler_syntax_start_without_break = "```spoiler ";
|
||||||
let spoiler_syntax_end = "\n```";
|
let spoiler_syntax_end = "\n```";
|
||||||
|
|
||||||
// For when the entire spoiler block (with no header) is selected.
|
// For when the entire spoiler block (with no header) is selected.
|
||||||
|
@ -708,7 +708,7 @@ export function format_text($textarea, type, inserted_content) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (range.start > 0 && text[range.start - 1] !== "\n") {
|
if (range.start > 0 && text[range.start - 1] !== "\n") {
|
||||||
spoiler_syntax_start = "\n" + spoiler_syntax_start;
|
spoiler_syntax_start_without_break = "\n" + spoiler_syntax_start_without_break;
|
||||||
}
|
}
|
||||||
if (range.end < text.length && text[range.end] !== "\n") {
|
if (range.end < text.length && text[range.end] !== "\n") {
|
||||||
spoiler_syntax_end = spoiler_syntax_end + "\n";
|
spoiler_syntax_end = spoiler_syntax_end + "\n";
|
||||||
|
@ -720,7 +720,7 @@ export function format_text($textarea, type, inserted_content) {
|
||||||
wrapSelection(field, spoiler_syntax_start_with_header, spoiler_syntax_end);
|
wrapSelection(field, spoiler_syntax_start_with_header, spoiler_syntax_end);
|
||||||
|
|
||||||
field.setSelectionRange(
|
field.setSelectionRange(
|
||||||
range.start + spoiler_syntax_start.length - 1,
|
range.start + spoiler_syntax_start_without_break.length,
|
||||||
range.start + spoiler_syntax_start_with_header.length - 1,
|
range.start + spoiler_syntax_start_with_header.length - 1,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue