diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index cc91c503d7c202cd7727a8d48dec21c31d6f0ac3..ad2847a94200280c9af2df6f09f5b7bc053bc094 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 3172886ae1da8905ce548db6f934474f27d31eec..a8e0df88ab020353ebb2aef26e7834d08398f0b8 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 1cb8c2e9da23879bbce6b7c3c15e3a9fab0093ab..98de7cb1c547d46b3e4b6882cdb96daa14ee216d 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,