diff --git a/wax-prosemirror-schema/src/nodes/authorNode.js b/wax-prosemirror-schema/src/nodes/authorNode.js index a19909f2ce734a3f261eb290deb7c0910152a742..632b104e999f8ea038c5b66d0607809f2c6e180c 100644 --- a/wax-prosemirror-schema/src/nodes/authorNode.js +++ b/wax-prosemirror-schema/src/nodes/authorNode.js @@ -1,4 +1,4 @@ -import { parseFormatList, parseTracks, blockLevelToDOM } from "./helpers"; +import { parseTracks, blockLevelToDOM } from "./helpers"; const author = { content: "inline*", group: "block", diff --git a/wax-prosemirror-schema/src/nodes/titleNode.js b/wax-prosemirror-schema/src/nodes/titleNode.js index 0a6f528b17f6fd839e30c27c3cd65d08a9cd782c..c7c2b1bf0bf5bbe25b9a88eb15796d51b106db74 100644 --- a/wax-prosemirror-schema/src/nodes/titleNode.js +++ b/wax-prosemirror-schema/src/nodes/titleNode.js @@ -1,3 +1,4 @@ +import { parseTracks, blockLevelToDOM } from "./helpers"; const title = { content: "inline*", group: "block", @@ -10,17 +11,19 @@ const title = { parseDOM: [ { tag: "p.title", - getAttrs(dom) { - return { + getAttrs(hook, next) { + Object.assign(hook, { class: 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-services/src/DisplayBlockLevel/TitleService/TitleService.js b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js index e1586b2227e998276b1c059a756f30d4a058995d..05221017b16087b42854ac654e5d10bdcc42976d 100644 --- a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js +++ b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js @@ -1,4 +1,5 @@ import Service from "wax-prosemirror-core/src/services/Service"; +import { titleNode } from "wax-prosemirror-schema"; import Title from "./Title"; class TitleService extends Service { @@ -6,6 +7,13 @@ class TitleService extends Service { register() { this.container.bind("Title").to(Title); + const createNode = this.container.get("CreateNode"); + createNode( + { + title: titleNode + }, + { toWaxSchema: true } + ); } } diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/index.js b/wax-prosemirror-services/src/DisplayBlockLevel/index.js index 3661a97fe9eca9cd814d66e0ff74673f8d9116cb..b6bb3a22716ddee7c35975c335edd1d3a0641615 100644 --- a/wax-prosemirror-services/src/DisplayBlockLevel/index.js +++ b/wax-prosemirror-services/src/DisplayBlockLevel/index.js @@ -5,9 +5,9 @@ import SubTitleService from "./SubTitleService/SubTitleService"; import TitleService from "./TitleService/TitleService"; export default [ - new AuthorService() + new AuthorService(), // new EpigraphPoetryService(), // new HeadingService(), // new SubTitleService(), - // new TitleService() + new TitleService() ]; diff --git a/wax-prosemirror-services/src/TextStyleService/TextStyle.js b/wax-prosemirror-services/src/TextStyleService/TextStyle.js index f00cb6d29dc30c09ad96cc8721d83a0c082c3b41..c2df3f684e0467279b76d0ecdb465237b6f49b02 100644 --- a/wax-prosemirror-services/src/TextStyleService/TextStyle.js +++ b/wax-prosemirror-services/src/TextStyleService/TextStyle.js @@ -19,8 +19,7 @@ export default class Annotation extends ToolGroup { @inject("Heading2") heading2, @inject("Heading3") heading3, @inject("Plain") plain, - @inject("Subtitle") subtitle, - @inject("Title") title + @inject("Subtitle") subtitle ) { super(); this.tools = [ @@ -30,8 +29,7 @@ export default class Annotation extends ToolGroup { heading2, heading3, plain, - subtitle, - title + subtitle ]; } } diff --git a/wax-prosemirror-services/src/TextStyleService/tools/index.js b/wax-prosemirror-services/src/TextStyleService/tools/index.js index 7a9b47da04f1f2c077cc3319a3d7370a056a15cb..c4f818be186c8ff601d4c54f875f70b1b41c3cb8 100644 --- a/wax-prosemirror-services/src/TextStyleService/tools/index.js +++ b/wax-prosemirror-services/src/TextStyleService/tools/index.js @@ -4,5 +4,4 @@ export { default as Heading1 } from "./Heading1"; export { default as Heading2 } from "./Heading2"; export { default as Heading3 } from "./Heading3"; export { default as Plain } from "./Plain"; -export { default as Title } from "./Title"; export { default as Subtitle } from "./Subtitle"; diff --git a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js index af73f18897341935c4bf1e1ba511bc699024413c..3599246f4c3c6d1ef6c88ec13d9ca6e4c777f095 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js +++ b/wax-prosemirror-services/src/WaxToolGroups/DisplayToolGroupService/Display.js @@ -13,9 +13,9 @@ class Display extends ToolGroup { </span> ); }; - constructor(@inject("Author") author) { + constructor(@inject("Author") author, @inject("Title") title) { super(); - this.tools = [author]; + this.tools = [title, author]; } }