diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index 8934590881c27ea4f7930bd24ffc7f73efc736cb..1f1e3859de6379d7041663578482dde01fda862f 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 c52dd2c1a98b8b3f91f4baca872c1d6a5c3b22d4..8ef9fab556b14c0209d026cc6e358bf6b359e5a2 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 0000000000000000000000000000000000000000..1be38fc68e227dd5b301df09880453d6cde8b02a --- /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 ba62c4f0d2c9d90b888c55ec7180dc15b445b875..0434a1450d482241eda66ff463708461183f0335 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 77ac0af54e863f2ce42ec57ce4f0b1fc8944f5c0..4a9f9e17ae3f6b0aff608081ab8d91bfab1f67ca 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 66dc196635087e7868cb4e03dcdbb7bd22439fbf..73679091e089ea2d80ea286edf2079251e74ab97 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;