From b15a8a8683bafbc9fd57dc64d60329f9ab08ecfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 24 Aug 2021 22:13:18 +0200 Subject: [PATCH] fix: fix a bug when using nested node views in react, fix #1747 --- packages/react/src/NodeViewContent.tsx | 8 +++++++- packages/react/src/ReactNodeViewRenderer.tsx | 3 ++- packages/react/src/useReactNodeView.ts | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/react/src/NodeViewContent.tsx b/packages/react/src/NodeViewContent.tsx index 0455d56d..e9a9e96f 100644 --- a/packages/react/src/NodeViewContent.tsx +++ b/packages/react/src/NodeViewContent.tsx @@ -1,4 +1,5 @@ -import React from 'react' +import React, { useEffect } from 'react' +import { useReactNodeView } from './useReactNodeView' export interface NodeViewContentProps { [key: string]: any, @@ -7,6 +8,11 @@ export interface NodeViewContentProps { export const NodeViewContent: React.FC = React.forwardRef((props, ref) => { const Tag = props.as || 'div' + const { maybeMoveContentDOM } = useReactNodeView() + + useEffect(() => { + maybeMoveContentDOM?.() + }, []) return ( { const onDragStart = this.onDragStart.bind(this) + const maybeMoveContentDOM = this.maybeMoveContentDOM.bind(this) const Component = this.component return ( - + ) diff --git a/packages/react/src/useReactNodeView.ts b/packages/react/src/useReactNodeView.ts index a1353e53..1cad98a2 100644 --- a/packages/react/src/useReactNodeView.ts +++ b/packages/react/src/useReactNodeView.ts @@ -2,6 +2,7 @@ import { createContext, useContext } from 'react' export interface ReactNodeViewContextProps { onDragStart: (event: DragEvent) => void, + maybeMoveContentDOM: () => void, } export const ReactNodeViewContext = createContext>({