diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js index 7294dc1fe1344f60bff1c9054ab5f7ec0c5c5304..af5aa3c859c5c86e94d752e953c19d80544fd5b6 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js @@ -1,14 +1,9 @@ const deletion = { attrs: { - user: { - default: 0 - }, - username: { - default: "" - }, - date: { - default: 0 - } + id: { default: "" }, + user: { default: 0 }, + username: { default: "" }, + date: { default: 0 } }, inclusive: false, group: "track", @@ -17,6 +12,7 @@ const deletion = { tag: "span.deletion", getAttrs(dom) { return { + id: dom.dataset.id, user: parseInt(dom.dataset.user), username: dom.dataset.username, date: parseInt(dom.dataset.date) @@ -28,6 +24,7 @@ const deletion = { return [ "span", { + "data-id": node.attrs.id, class: `deletion user-${node.attrs.user}`, "data-user": node.attrs.user, "data-username": node.attrs.username, diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js index 37ceac821b6f8eb05db3a62762b42945b8cb7575..0ac326672504efa77d084bcda4d0bd77cf3f8733 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js @@ -1,20 +1,11 @@ const format_change = { attrs: { - user: { - default: 0 - }, - username: { - default: "" - }, - date: { - default: 0 - }, - before: { - default: [] - }, - after: { - default: [] - } + id: { default: "" }, + user: { default: 0 }, + username: { default: "" }, + date: { default: 0 }, + before: { default: [] }, + after: { default: [] } }, inclusive: false, group: "track", @@ -23,6 +14,7 @@ const format_change = { tag: "span.format-change", getAttrs(dom) { return { + id: dom.dataset.id, user: parseInt(dom.dataset.user), username: dom.dataset.username, date: parseInt(dom.dataset.date), @@ -36,6 +28,7 @@ const format_change = { return [ "span", { + "data-id": node.attrs.id, class: `format-change user-${node.attrs.user}`, "data-user": node.attrs.user, "data-username": node.attrs.username, diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js index 365ccc3c52806b747bad3fe069aa6593c5c59dd5..04f202eae6b6bff73e231b963086de9439bdd172 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js @@ -1,17 +1,10 @@ const insertion = { attrs: { - user: { - default: 0 - }, - username: { - default: "" - }, - date: { - default: 0 - }, - approved: { - default: true - } + id: { default: "" }, + user: { default: 0 }, + username: { default: "" }, + date: { default: 0 }, + approved: { default: true } }, inclusive: false, group: "track", @@ -20,6 +13,7 @@ const insertion = { tag: "span.insertion", getAttrs(dom) { return { + id: dom.dataset.id, user: parseInt(dom.dataset.user), username: dom.dataset.username, date: parseInt(dom.dataset.date), @@ -32,6 +26,7 @@ const insertion = { tag: "span.approved-insertion", getAttrs(dom) { return { + "data-id": node.attrs.id, user: parseInt(dom.dataset.user), username: dom.dataset.username, date: parseInt(dom.dataset.date), diff --git a/wax-prosemirror-services/src/SchemaService/DefaultSchema.js b/wax-prosemirror-services/src/SchemaService/DefaultSchema.js index 88b4f88c11c767cfa005f0eb18c9de88ae13ec90..b711dab33bb94612f7b2243b8535a53eea8ef9a7 100644 --- a/wax-prosemirror-services/src/SchemaService/DefaultSchema.js +++ b/wax-prosemirror-services/src/SchemaService/DefaultSchema.js @@ -21,6 +21,7 @@ export default { group: "block", content: "inline*", attrs: { + id: { default: "" }, class: { default: "paragraph" }, track: { default: [] } }, @@ -29,6 +30,7 @@ export default { tag: "p.paragraph", getAttrs(dom) { return { + id: hook.dom.dataset.id, class: dom.getAttribute("class"), track: SchemaHelpers.parseTracks(dom.dataset.track) }; diff --git a/wax-prosemirror-utilities/src/schema/SchemaHelpers.js b/wax-prosemirror-utilities/src/schema/SchemaHelpers.js index fc773c2db35005ac17ae27a63a9b1ede15b24e34..b141d234eee5a16dccf1af389130537f66035dde 100644 --- a/wax-prosemirror-utilities/src/schema/SchemaHelpers.js +++ b/wax-prosemirror-utilities/src/schema/SchemaHelpers.js @@ -40,6 +40,7 @@ const parseTracks = str => { const blockLevelToDOM = node => { const attrs = node.attrs.track.length ? { + "data-id": node.attrs.id, class: node.attrs.class, "data-track": JSON.stringify(node.attrs.track) }