From fd6b6788d08d60b45a1c87fc5f74c3369f98ecdb Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 19 Dec 2019 21:29:02 +0200 Subject: [PATCH] feat: underline service --- .../src/AnnotationService/tools/index.js | 1 - .../UnderlineService}/Underline.js | 0 .../UnderlineService/UnderlineService.js | 18 ++++++++++++++++++ .../src/InlineAnnotations/index.js | 5 ++++- wax-prosemirror-schema/index.js | 1 + wax-prosemirror-schema/src/editoria/marks.js | 9 --------- 6 files changed, 23 insertions(+), 11 deletions(-) rename wax-prosemirror-plugins/src/{AnnotationService/tools => InlineAnnotations/UnderlineService}/Underline.js (100%) create mode 100644 wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/UnderlineService.js diff --git a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js index 64e441543..26341a45b 100644 --- a/wax-prosemirror-plugins/src/AnnotationService/tools/index.js +++ b/wax-prosemirror-plugins/src/AnnotationService/tools/index.js @@ -1,5 +1,4 @@ export { default as Blockquote } from "./Blockquote"; export { default as SmallCaps } from "./SmallCaps"; -export { default as Underline } from "./Underline"; export { default as Table } from "./Table"; export { default as TableDropDownOptions } from "./TableDropDownOptions"; diff --git a/wax-prosemirror-plugins/src/AnnotationService/tools/Underline.js b/wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/Underline.js similarity index 100% rename from wax-prosemirror-plugins/src/AnnotationService/tools/Underline.js rename to wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/Underline.js diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/UnderlineService.js b/wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/UnderlineService.js new file mode 100644 index 000000000..5e9fd797f --- /dev/null +++ b/wax-prosemirror-plugins/src/InlineAnnotations/UnderlineService/UnderlineService.js @@ -0,0 +1,18 @@ +import Service from "wax-prosemirror-core/src/services/Service"; +import { underlineMark } from "wax-prosemirror-schema"; +import Underline from "./Underline"; + +class UnderlineService extends Service { + register() { + this.container.bind("Underline").to(Underline); + + this.container + .bind("schema") + .toConstantValue({ + underline: underlineMark + }) + .whenTargetNamed("mark"); + } +} + +export default UnderlineService; diff --git a/wax-prosemirror-plugins/src/InlineAnnotations/index.js b/wax-prosemirror-plugins/src/InlineAnnotations/index.js index 25dec0ebd..ad9036fd2 100644 --- a/wax-prosemirror-plugins/src/InlineAnnotations/index.js +++ b/wax-prosemirror-plugins/src/InlineAnnotations/index.js @@ -4,11 +4,14 @@ import EmphasisService from "./EmphasisService/EmphasisService"; import SubscriptService from "./SubscriptService/SubscriptService"; import SuperscriptService from "./SuperscriptService/SuperscriptService"; import StrikeThroughService from "./StrikeThroughService/StrikeThroughService"; +import UnderlineService from "./UnderlineService/UnderlineService"; + export default [ new CodeService(), new StrongService(), new EmphasisService(), new SubscriptService(), new SuperscriptService(), - new StrikeThroughService() + new StrikeThroughService(), + new UnderlineService() ]; diff --git a/wax-prosemirror-schema/index.js b/wax-prosemirror-schema/index.js index dea985b30..2a5f4c3b7 100644 --- a/wax-prosemirror-schema/index.js +++ b/wax-prosemirror-schema/index.js @@ -12,6 +12,7 @@ export { default as emphasisMark } from "./src/marks/emphasisMark"; export { default as subscriptMark } from "./src/marks/subscriptMark"; export { default as superscriptMark } from "./src/marks/superscriptMark"; export { default as strikethroughMark } from "./src/marks/strikethroughMark"; +export { default as underlineMark } from "./src/marks/underlineMark"; export { default as smallcapsMark } from "./src/marks/smallcapsMark"; /* LIST OF SUPPORTED NODES diff --git a/wax-prosemirror-schema/src/editoria/marks.js b/wax-prosemirror-schema/src/editoria/marks.js index 2191cf6aa..d0d989e3b 100644 --- a/wax-prosemirror-schema/src/editoria/marks.js +++ b/wax-prosemirror-schema/src/editoria/marks.js @@ -3,15 +3,6 @@ const emDOM = ["em", 0], codeDOM = ["code", 0]; const marks = { - underline: { - parseDOM: [{ tag: "u" }, { style: "text-decoration:underline" }], - toDOM: () => [ - "span", - { - style: "text-decoration:underline" - } - ] - }, small_caps: { attrs: { class: { default: "small-caps" } -- GitLab