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

create empty paragraph in progress

parent 213da56c
No related branches found
No related tags found
1 merge request!306Answer nodeview
......@@ -9,6 +9,7 @@ import { baseKeymap } from 'prosemirror-commands';
import { undo, redo } from 'prosemirror-history';
import { WaxContext } from 'wax-prosemirror-core';
import Placeholder from '../plugins/placeholder';
import EmptyParagraphPlugin from '../plugins/EmptyParagraphPlugin';
const EditorWrapper = styled.div`
border: none;
......@@ -77,6 +78,7 @@ const EditorComponent = ({ node, view, getPos }) => {
};
finalPlugins = finalPlugins.concat([
EmptyParagraphPlugin(),
createPlaceholder('Type your answer'),
...plugins,
]);
......@@ -142,6 +144,7 @@ const EditorComponent = ({ node, view, getPos }) => {
}, []);
const dispatchTransaction = tr => {
console.log('hohoho');
let { state, transactions } = questionView.state.applyTransaction(tr);
questionView.updateState(state);
context.updateView({}, questionId);
......
......@@ -117,6 +117,7 @@ export default ({ node, view, getPos }) => {
};
const addOption = nodeId => {
const newAnswerId = uuidv4();
context.view.main.state.doc.descendants((editorNode, index) => {
if (editorNode.type.name === 'multiple_choice') {
if (editorNode.attrs.id === nodeId) {
......@@ -131,12 +132,38 @@ export default ({ node, view, getPos }) => {
);
const answerOption = context.view.main.state.config.schema.nodes.multiple_choice.create(
{ id: uuidv4() },
{ id: newAnswerId },
Fragment.empty,
);
context.view.main.dispatch(
context.view.main.state.tr.replaceSelectionWith(answerOption),
);
// create Empty Paragraph
setTimeout(() => {
if (context.view[newAnswerId]) {
context.view[newAnswerId].dispatch(
context.view[newAnswerId].state.tr.setSelection(
TextSelection.between(
context.view[newAnswerId].state.selection.$anchor,
context.view[newAnswerId].state.selection.$head,
),
),
);
let type = context.view.main.state.schema.nodes.paragraph;
context.view[newAnswerId].dispatch(
context.view[newAnswerId].state.tr.insert(0, type.create()),
);
}
context.view[newAnswerId].dispatch(
context.view[newAnswerId].state.tr.setSelection(
TextSelection.between(
context.view[newAnswerId].state.selection.$anchor,
context.view[newAnswerId].state.selection.$head,
),
),
);
}, 100);
}
}
});
......
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