]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/utils/nodes.ts
respective book and chapter structure added.
[bookstack] / resources / js / wysiwyg / utils / nodes.ts
index b8bb8de9a2de6ee88bc1fe2625de7811472aae0e..2dd99d369c76e776bb406ef1f377834a37fe3fe5 100644 (file)
@@ -1,7 +1,7 @@
 import {
     $getRoot,
     $isDecoratorNode,
-    $isElementNode,
+    $isElementNode, $isRootNode,
     $isTextNode,
     ElementNode,
     LexicalEditor,
@@ -11,7 +11,7 @@ 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 "../nodes/_common";
 import {$findMatchingParent} from "@lexical/utils";
 
 function wrapTextNodes(nodes: LexicalNode[]): LexicalNode[] {
@@ -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