1 import {EditorState} from "prosemirror-state";
2 import {EditorView} from "prosemirror-view";
3 import {exampleSetup} from "prosemirror-example-setup";
5 import {DOMParser} from "prosemirror-model";
7 import schema from "./schema";
8 import menu from "./menu";
9 import nodeViews from "./node-views";
10 import {stateToHtml} from "./util";
12 class ProseMirrorView {
13 constructor(target, content) {
15 // Build DOM from content
16 const renderDoc = document.implementation.createHTMLDocument();
17 renderDoc.body.innerHTML = content;
19 this.view = new EditorView(target, {
20 state: EditorState.create({
21 doc: DOMParser.fromSchema(schema).parse(renderDoc.body),
23 ...exampleSetup({schema, menuBar: false}),
32 return stateToHtml(this.view.state);
44 export default ProseMirrorView;