Skip to content
Snippets Groups Projects
Commit dab3e54e authored by chris's avatar chris
Browse files

use setBlockType

parent 13db5407
No related branches found
No related tags found
1 merge request!289Pm node views portals
...@@ -25,7 +25,14 @@ const Hhmi = () => { ...@@ -25,7 +25,14 @@ const Hhmi = () => {
fileUpload={file => renderImage(file)} fileUpload={file => renderImage(file)}
value="" value=""
targetFormat="JSON" targetFormat="JSON"
nodeViews={[{ multiple_choice: { component: TestComponent } }]} nodeViews={[
{
multiple_choice: {
node: 'multiple_choice',
component: TestComponent,
},
},
]}
// readonly // readonly
layout={HhmiLayout} layout={HhmiLayout}
// onChange={source => console.log(source)} // onChange={source => console.log(source)}
......
import { injectable } from 'inversify'; import { injectable } from 'inversify';
import { Tools } from 'wax-prosemirror-services'; import { Tools } from 'wax-prosemirror-services';
import { wrapIn } from 'prosemirror-commands'; import { setBlockType } from 'prosemirror-commands';
@injectable() @injectable()
class MultipleChoiceQuestion extends Tools { class MultipleChoiceQuestion extends Tools {
...@@ -10,7 +10,7 @@ class MultipleChoiceQuestion extends Tools { ...@@ -10,7 +10,7 @@ class MultipleChoiceQuestion extends Tools {
get run() { get run() {
return (state, dispatch) => { return (state, dispatch) => {
wrapIn(state.config.schema.nodes.multiple_choice)(state, dispatch); setBlockType(state.config.schema.nodes.multiple_choice)(state, dispatch);
}; };
} }
......
// const multipleChoiceNode = {
// group: 'block multiple',
// content: 'text*',
// atom: true,
// code: true,
// toDOM: () => ['multiple-choice', { class: 'multiple-choice' }, 0],
// parseDOM: [
// {
// tag: 'multiple-choice',
// },
// ],
// };
const multipleChoiceNode = { const multipleChoiceNode = {
content: 'block+', group: 'block multiple',
group: 'block', content: 'text*',
defining: true, atom: true,
parseDOM: [{ tag: 'multiple-choice' }], code: true,
toDOM() { toDOM: () => ['multiple-choice', { class: 'multiple-choice' }, 0],
return ['multiple-choice', 0]; parseDOM: [
}, {
tag: 'multiple-choice',
},
],
}; };
// const multipleChoiceNode = {
// content: 'block+',
// group: 'block',
// defining: true,
// // parseDOM: [{ tag: 'multiple-choice' }],
// toDOM() {
// // return ['multiple-choice', 0];
// },
// };
export default multipleChoiceNode; export default multipleChoiceNode;
...@@ -85,9 +85,9 @@ export default props => { ...@@ -85,9 +85,9 @@ export default props => {
); );
const createNodeVies = () => { const createNodeVies = () => {
const test = nodeViews.map((nodeView, key) => { const test = nodeViews.map((nodeView, key, index) => {
return { return {
multiple_choice(node, view, getPos, decorations) { [nodeView.multiple_choice.node](node, view, getPos, decorations) {
console.log('rerenders for ever'); console.log('rerenders for ever');
return createReactNodeView({ return createReactNodeView({
node, node,
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment