From 7393a195db1593e6f5cd262e4e7b53ae1751e4d1 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 16 Jan 2020 12:17:52 +0200 Subject: [PATCH] move all Editoria nodes --- wax-prosemirror-schema/index.js | 2 +- .../src/editoria/EditoriaSchema.js | 2 -- wax-prosemirror-schema/src/editoria/nodes.js | 33 ------------------- .../src/nodes/blockQuoteNode.js | 13 ++++++++ .../src/nodes/extractProseNode.js | 17 ++++++---- .../src/nodes/paragraphContNode.js | 18 ++++++---- .../src/nodes/paragraphNode.js | 0 .../src/nodes/sourceNoteNode.js | 19 ++++++----- 8 files changed, 46 insertions(+), 58 deletions(-) delete mode 100644 wax-prosemirror-schema/src/editoria/nodes.js create mode 100644 wax-prosemirror-schema/src/nodes/blockQuoteNode.js delete mode 100644 wax-prosemirror-schema/src/nodes/paragraphNode.js diff --git a/wax-prosemirror-schema/index.js b/wax-prosemirror-schema/index.js index 0aad034c8..e9934167b 100644 --- a/wax-prosemirror-schema/index.js +++ b/wax-prosemirror-schema/index.js @@ -17,7 +17,6 @@ export { default as sourceMark } from "./src/marks/sourceMark"; /* LIST OF SUPPORTED NODES */ -export { default as paragraphNode } from "./src/nodes/paragraphNode"; export { default as authorNode } from "./src/nodes/authorNode"; export { default as epigraphPoetryNode } from "./src/nodes/epigraphPoetryNode"; export { default as epigraphProseNode } from "./src/nodes/epigraphProseNode"; @@ -32,3 +31,4 @@ export { default as listItemNode } from "./src/nodes/listItemNode"; export { default as subTitleNode } from "./src/nodes/subTitleNode"; export { default as imageNode } from "./src/nodes/imageNode"; export { default as headingNode } from "./src/nodes/headingNode"; +export { default as blockQuoteNode } from "./src/nodes/blockQuoteNode"; diff --git a/wax-prosemirror-schema/src/editoria/EditoriaSchema.js b/wax-prosemirror-schema/src/editoria/EditoriaSchema.js index a8411b0c8..4fb3d5cb7 100644 --- a/wax-prosemirror-schema/src/editoria/EditoriaSchema.js +++ b/wax-prosemirror-schema/src/editoria/EditoriaSchema.js @@ -1,8 +1,6 @@ -import nodes from "./nodes"; import marks from "./marks"; const EditoriaSchema = { - nodes, marks }; diff --git a/wax-prosemirror-schema/src/editoria/nodes.js b/wax-prosemirror-schema/src/editoria/nodes.js deleted file mode 100644 index 32769dc16..000000000 --- a/wax-prosemirror-schema/src/editoria/nodes.js +++ /dev/null @@ -1,33 +0,0 @@ -const pDOM = ["p", 0], - brDOM = ["br"], - blockquoteDOM = ["blockquote", 0]; - -const nodes = { - doc: { - content: "block+" - }, - - text: { - group: "inline" - }, - - hard_break: { - inline: true, - group: "inline", - selectable: false, - parseDOM: [{ tag: "br" }], - toDOM() { - return brDOM; - } - }, - blockquote: { - content: "block+", - group: "block", - defining: true, - parseDOM: [{ tag: "blockquote" }], - toDOM() { - return blockquoteDOM; - } - } -}; -export default nodes; diff --git a/wax-prosemirror-schema/src/nodes/blockQuoteNode.js b/wax-prosemirror-schema/src/nodes/blockQuoteNode.js new file mode 100644 index 000000000..d5ac23dcb --- /dev/null +++ b/wax-prosemirror-schema/src/nodes/blockQuoteNode.js @@ -0,0 +1,13 @@ +import { parseTracks, blockLevelToDOM } from "./helpers"; + +const blockquote = { + content: "block+", + group: "block", + defining: true, + parseDOM: [{ tag: "blockquote" }], + toDOM() { + return ["blockquote", 0]; + } +}; + +export default blockquote; diff --git a/wax-prosemirror-schema/src/nodes/extractProseNode.js b/wax-prosemirror-schema/src/nodes/extractProseNode.js index 74f572844..b0c52b604 100644 --- a/wax-prosemirror-schema/src/nodes/extractProseNode.js +++ b/wax-prosemirror-schema/src/nodes/extractProseNode.js @@ -1,3 +1,4 @@ +import { parseTracks, blockLevelToDOM } from "./helpers"; const extractProse = { content: "inline*", group: "block", @@ -10,17 +11,19 @@ const extractProse = { parseDOM: [ { tag: "p.extract-prose", - getAttrs(dom) { - return { + getAttrs(hook, next) { + Object.assign(hook, { class: hook.dom.getAttribute("class"), - track: parseTracks(dom.dataset.track) - }; + track: parseTracks(hook.dom.dataset.track) + }); + next(); } } ], - toDOM(node) { - const attrs = blockLevelToDOM(node); - return ["p", attrs, 0]; + toDOM(hook, next) { + const attrs = blockLevelToDOM(hook.node); + hook.value = ["p", attrs, 0]; + next(); } }; diff --git a/wax-prosemirror-schema/src/nodes/paragraphContNode.js b/wax-prosemirror-schema/src/nodes/paragraphContNode.js index f7cee3aa0..5dcdb0f4e 100644 --- a/wax-prosemirror-schema/src/nodes/paragraphContNode.js +++ b/wax-prosemirror-schema/src/nodes/paragraphContNode.js @@ -1,3 +1,5 @@ +import { parseTracks, blockLevelToDOM } from "./helpers"; + const paragraphCont = { content: "inline*", group: "block", @@ -10,17 +12,19 @@ const paragraphCont = { parseDOM: [ { tag: "p.paragraph-cont", - getAttrs(dom) { - return { + getAttrs(hook, next) { + Object.assign(hook, { class: hook.dom.getAttribute("class"), - track: parseTracks(dom.dataset.track) - }; + track: parseTracks(hook.dom.dataset.track) + }); + next(); } } ], - toDOM(node) { - const attrs = blockLevelToDOM(node); - return ["p", attrs, 0]; + toDOM(hook, next) { + const attrs = blockLevelToDOM(hook.node); + hook.value = ["p", attrs, 0]; + next(); } }; diff --git a/wax-prosemirror-schema/src/nodes/paragraphNode.js b/wax-prosemirror-schema/src/nodes/paragraphNode.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/wax-prosemirror-schema/src/nodes/sourceNoteNode.js b/wax-prosemirror-schema/src/nodes/sourceNoteNode.js index 9b97a9d6c..4b0298a24 100644 --- a/wax-prosemirror-schema/src/nodes/sourceNoteNode.js +++ b/wax-prosemirror-schema/src/nodes/sourceNoteNode.js @@ -1,3 +1,4 @@ +import { parseTracks, blockLevelToDOM } from "./helpers"; const sourceNote = { content: "inline*", group: "block", @@ -10,17 +11,19 @@ const sourceNote = { parseDOM: [ { tag: "p.source-note", - getAttrs(dom) { - return { - class: dom.getAttribute("class"), - track: parseTracks(dom.dataset.track) - }; + getAttrs(hook, next) { + Object.assign(hook, { + class: hook.dom.getAttribute("class"), + track: parseTracks(hook.dom.dataset.track) + }); + next(); } } ], - toDOM(node) { - const attrs = blockLevelToDOM(node); - return ["p", attrs, 0]; + toDOM(hook, next) { + const attrs = blockLevelToDOM(hook.node); + hook.value = ["p", attrs, 0]; + next(); } }; -- GitLab