X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/20364382034c4979dc05e207242baf2871bf6283..refs/pull/5405/head:/resources/js/wysiwyg/utils/nodes.ts diff --git a/resources/js/wysiwyg/utils/nodes.ts b/resources/js/wysiwyg/utils/nodes.ts index b8bb8de9a..b5cc78955 100644 --- a/resources/js/wysiwyg/utils/nodes.ts +++ b/resources/js/wysiwyg/utils/nodes.ts @@ -1,23 +1,23 @@ import { + $createParagraphNode, $getRoot, $isDecoratorNode, - $isElementNode, + $isElementNode, $isRootNode, $isTextNode, ElementNode, LexicalEditor, LexicalNode } from "lexical"; import {LexicalNodeMatcher} from "../nodes"; -import {$createCustomParagraphNode} from "../nodes/custom-paragraph"; import {$generateNodesFromDOM} from "@lexical/html"; import {htmlToDom} from "./dom"; -import {NodeHasAlignment} from "../nodes/_common"; +import {NodeHasAlignment, NodeHasInset} from "lexical/nodes/common"; import {$findMatchingParent} from "@lexical/utils"; function wrapTextNodes(nodes: LexicalNode[]): LexicalNode[] { return nodes.map(node => { if ($isTextNode(node)) { - const paragraph = $createCustomParagraphNode(); + const paragraph = $createParagraphNode(); paragraph.append(node); return paragraph; } @@ -84,7 +84,7 @@ export function $getNearestBlockNodeForCoords(editor: LexicalEditor, x: number, export function $getNearestNodeBlockParent(node: LexicalNode): LexicalNode|null { const isBlockNode = (node: LexicalNode): boolean => { - return ($isElementNode(node) || $isDecoratorNode(node)) && !node.isInline(); + return ($isElementNode(node) || $isDecoratorNode(node)) && !node.isInline() && !$isRootNode(node); }; if (isBlockNode(node)) { @@ -96,4 +96,8 @@ export function $getNearestNodeBlockParent(node: LexicalNode): LexicalNode|null export function nodeHasAlignment(node: object): node is NodeHasAlignment { return '__alignment' in node; +} + +export function nodeHasInset(node: object): node is NodeHasInset { + return '__inset' in node; } \ No newline at end of file