Fix/autofix empty div (#2066)
* Remove empty divs in rich text input * Refactor inline content detection * Fix formatting
This commit is contained in:
parent
497b246b66
commit
892c9f6da8
@ -19,7 +19,7 @@ function adjustInputHTML(html: string): string {
|
|||||||
|
|
||||||
function adjustInputFragment(fragment: DocumentFragment): void {
|
function adjustInputFragment(fragment: DocumentFragment): void {
|
||||||
if (nodeContainsInlineContent(fragment)) {
|
if (nodeContainsInlineContent(fragment)) {
|
||||||
fragment.appendChild(document.createElement("br"));
|
fragment.append(document.createElement("br"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,12 +35,16 @@ export function storedToFragment(storedHTML: string): DocumentFragment {
|
|||||||
|
|
||||||
function adjustOutputFragment(fragment: DocumentFragment): void {
|
function adjustOutputFragment(fragment: DocumentFragment): void {
|
||||||
if (
|
if (
|
||||||
fragment.hasChildNodes() &&
|
|
||||||
nodeIsElement(fragment.lastChild!) &&
|
|
||||||
nodeContainsInlineContent(fragment) &&
|
nodeContainsInlineContent(fragment) &&
|
||||||
fragment.lastChild!.tagName === "BR"
|
fragment.lastChild &&
|
||||||
|
nodeIsElement(fragment.lastChild) &&
|
||||||
|
fragment.lastChild.tagName === "BR"
|
||||||
) {
|
) {
|
||||||
fragment.lastChild!.remove();
|
fragment.lastChild.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const divElement of fragment.querySelectorAll("div:empty")) {
|
||||||
|
divElement.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user