From dfb79a957398fe44cec61efeb290bb65b817f67a Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Tue, 6 Apr 2021 20:25:40 +0300 Subject: [PATCH] simple node view --- editors/demo/src/HHMI/HHMI.js | 10 +--------- .../components/TestComponent.js | 20 ++++++++----------- wax-prosemirror-core/src/WaxView.js | 17 ++++++++++++++-- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index cc91c503d..ad2847a94 100644 --- a/editors/demo/src/HHMI/HHMI.js +++ b/editors/demo/src/HHMI/HHMI.js @@ -40,17 +40,9 @@ const Hhmi = () => { fileUpload={file => renderImage(file)} value="" targetFormat="JSON" - nodeViews={[ - { - multiple_choice: { - node: 'multiple_choice', - component: TestComponent, - }, - }, - ]} // readonly layout={HhmiLayout} - // onChange={source => console.log(source)} + onChange={source => console.log(source)} /> </> ); diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/TestComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/TestComponent.js index 3172886ae..a8e0df88a 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/TestComponent.js +++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/TestComponent.js @@ -53,16 +53,12 @@ export default () => { [state, handleChange], ); - useEffect(() => { - const editorViewDOM = editorViewRef.current; - if (editorViewDOM) { - createEditorView(editorViewDOM); - } - }, [createEditorView]); - console.log(editorViewRef); - return ( - <div> - <div ref={editorViewRef}></div> - </div> - ); + // useEffect(() => { + // const editorViewDOM = editorViewRef.current; + // if (editorViewDOM) { + // createEditorView(editorViewDOM); + // } + // }, [createEditorView]); + + return <div style={styles}></div>; }; diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index 1cb8c2e9d..98de7cb1c 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -10,6 +10,7 @@ import { trackedTransaction } from 'wax-prosemirror-services'; import { WaxContext, useReactNodeViewPortals } from './WaxContext'; import transformPasted from './helpers/TransformPasted'; import { createReactNodeView } from './ReactNodeView'; +import TestComponent from '../../editors/demo/src/HHMI/MultipleChoiceQuestionService/components/TestComponent'; let previousDoc; @@ -48,7 +49,19 @@ export default props => { user, scrollMargin: 200, scrollThreshold: 200, - nodeViews: createNodeVies(), + nodeViews: { + multiple_choice(node, view, getPos, decorations) { + console.log('rerenders for ever', node); + return createReactNodeView({ + node, + view, + getPos, + decorations, + component: TestComponent, + onCreatePortal: handleCreatePortal, + }); + }, + }, handleDOMEvents: { blur: onBlur ? view => { @@ -88,7 +101,7 @@ export default props => { const test = nodeViews.map((nodeView, key, index) => { return { [nodeView.multiple_choice.node](node, view, getPos, decorations) { - console.log('rerenders for ever'); + console.log('rerenders for ever', node); return createReactNodeView({ node, view, -- GitLab