From 874ac3f4c6f93fcd938f1a34508cc37f429bda58 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 16 Jan 2020 15:18:49 +0200 Subject: [PATCH] add track change marks --- editors/editoria/src/config/config.js | 6 ++++-- wax-prosemirror-schema/index.js | 9 +++++++++ .../src/marks/trackChangesMarks/index.js | 9 +++++++++ wax-prosemirror-services/index.js | 3 +++ .../TextBlockLevel/BlockQuoteService/BlockQuote.js | 1 + .../src/TrackChangeService/TrackChangeService.js | 11 ++++++++++- 6 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 wax-prosemirror-schema/src/marks/trackChangesMarks/index.js diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index 893459088..1f1e3859d 100644 --- a/editors/editoria/src/config/config.js +++ b/editors/editoria/src/config/config.js @@ -16,7 +16,8 @@ import { DisplayToolGroupService, ImageToolGroupService, TextBlockLevelService, - TextToolGroupService + TextToolGroupService, + TrackChangeService } from "wax-prosemirror-services"; import invisibles, { @@ -63,6 +64,7 @@ export default { new DisplayToolGroupService(), new ImageToolGroupService(), new TextBlockLevelService(), - new TextToolGroupService() + new TextToolGroupService(), + new TrackChangeService() ] }; diff --git a/wax-prosemirror-schema/index.js b/wax-prosemirror-schema/index.js index c52dd2c1a..8ef9fab55 100644 --- a/wax-prosemirror-schema/index.js +++ b/wax-prosemirror-schema/index.js @@ -12,6 +12,11 @@ export { default as underlineMark } from "./src/marks/underlineMark"; export { default as smallcapsMark } from "./src/marks/smallcapsMark"; export { default as sourceMark } from "./src/marks/sourceMark"; +/* +LIST OF TRACK CHANGES MARKS +*/ +export { default as trackChangesMarks } from "./src/marks/trackChangesMarks"; + /* LIST OF SUPPORTED NODES */ @@ -30,3 +35,7 @@ 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"; + +/* +LIST OF TRACK CHANGES NODES +*/ diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/index.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/index.js new file mode 100644 index 000000000..1be38fc68 --- /dev/null +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/index.js @@ -0,0 +1,9 @@ +import insertionMark from "./insertionMark"; +import deletionMark from "./deletionMark"; +import formatChangeMark from "./formatChangeMark"; + +export default { + insertion: insertionMark, + deletion: deletionMark, + format_change: formatChangeMark +}; diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index ba62c4f0d..0434a1450 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -13,6 +13,9 @@ export { export { default as OverlayService } from "./src/OverlayService/OverlayService"; export { default as Tool } from "./src/lib/Tools"; +export { + default as TrackChangeService +} from "./src/TrackChangeService/TrackChangeService"; /* All Elements services diff --git a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js index 77ac0af54..4a9f9e17a 100644 --- a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js +++ b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js @@ -15,6 +15,7 @@ class BlockQuote extends Tools { get enable() { return state => { + console.log(state); return wrapIn(state.config.schema.nodes.blockquote)(state); }; } diff --git a/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js b/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js index 66dc19663..73679091e 100644 --- a/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js +++ b/wax-prosemirror-services/src/TrackChangeService/TrackChangeService.js @@ -1,9 +1,18 @@ import Service from "wax-prosemirror-core/src/services/Service"; +import { trackChangesMarks } from "wax-prosemirror-schema"; class TrackChangeService extends Service { boot() {} - register() {} + register() { + const createMark = this.container.get("CreateMark"); + + Object.keys(trackChangesMarks).forEach(mark => { + createMark({ + [mark]: trackChangesMarks[mark] + }); + }); + } } export default TrackChangeService; -- GitLab