From 2b6641ab394a8c0a762a13f352eb11cbc601c446 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Sat, 9 May 2020 11:02:47 +0300 Subject: [PATCH] add group attribute --- .../marks/trackChangesMarks/deletionMark.js | 9 ++++++--- .../trackChangesMarks/formatChangeMark.js | 9 ++++++--- .../marks/trackChangesMarks/insertionMark.js | 12 ++++++++---- .../trackChangesNodes/authorTrackNode.js | 9 ++++++--- .../epigraphPoetryTrackNode.js | 9 ++++++--- .../epigraphProseTrackNode.js | 9 ++++++--- .../extractPoetryTrackNode.js | 9 ++++++--- .../extractProseTrackNode.js | 9 ++++++--- .../trackChangesNodes/headingTrackNode.js | 19 +++++++++++++------ .../trackChangesNodes/orderedListTrackNode.js | 9 ++++++--- .../paragraphContTrackNode.js | 9 ++++++--- .../trackChangesNodes/sourceNoteTrackNode.js | 9 ++++++--- .../trackChangesNodes/subTitleTrackNode.js | 9 ++++++--- .../nodes/trackChangesNodes/titleTrackNode.js | 9 ++++++--- .../src/SchemaService/DefaultSchema.js | 8 +++++--- .../src/schema/SchemaHelpers.js | 3 ++- 16 files changed, 100 insertions(+), 50 deletions(-) diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js index d276d0d00..1de64cb02 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/deletionMark.js @@ -3,7 +3,8 @@ const deletion = { id: { default: "" }, user: { default: 0 }, username: { default: "" }, - date: { default: 0 } + date: { default: 0 }, + group: { default: "" } }, inclusive: false, group: "track", @@ -15,7 +16,8 @@ const deletion = { id: dom.dataset.id, user: parseInt(dom.dataset.user), username: dom.dataset.username, - date: parseInt(dom.dataset.date) + date: parseInt(dom.dataset.date), + group: dom.dataset.group }; } } @@ -28,7 +30,8 @@ const deletion = { "data-id": node.attrs.id, "data-user": node.attrs.user, "data-username": node.attrs.username, - "data-date": node.attrs.date + "data-date": node.attrs.date, + "data-group": node.attrs.group } ]; } diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js index 0746be431..5fc79a00c 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/formatChangeMark.js @@ -5,7 +5,8 @@ const format_change = { username: { default: "" }, date: { default: 0 }, before: { default: [] }, - after: { default: [] } + after: { default: [] }, + group: { default: "" } }, inclusive: false, group: "track", @@ -19,7 +20,8 @@ const format_change = { username: dom.dataset.username, date: parseInt(dom.dataset.date), before: parseFormatList(dom.dataset.before), - after: parseFormatList(dom.dataset.after) + after: parseFormatList(dom.dataset.after), + group: dom.dataset.group }; } } @@ -34,7 +36,8 @@ const format_change = { "data-username": node.attrs.username, "data-date": node.attrs.date, "data-before": JSON.stringify(node.attrs.before), - "data-after": JSON.stringify(node.attrs.after) + "data-after": JSON.stringify(node.attrs.after), + "data-group": node.attrs.group } ]; } diff --git a/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js b/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js index 356b1016e..945d52ea7 100644 --- a/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js +++ b/wax-prosemirror-schema/src/marks/trackChangesMarks/insertionMark.js @@ -4,7 +4,8 @@ const insertion = { user: { default: 0 }, username: { default: "" }, date: { default: 0 }, - approved: { default: true } + approved: { default: true }, + group: { default: "" } }, inclusive: false, group: "track", @@ -18,7 +19,8 @@ const insertion = { username: dom.dataset.username, date: parseInt(dom.dataset.date), inline: true, - approved: false + approved: false, + group: dom.dataset.group }; } }, @@ -31,7 +33,8 @@ const insertion = { username: dom.dataset.username, date: parseInt(dom.dataset.date), inline: true, - approved: true + approved: true, + group: dom.dataset.group }; } } @@ -46,7 +49,8 @@ const insertion = { "data-id": node.attrs.id, "data-user": node.attrs.user, "data-username": node.attrs.username, - "data-date": node.attrs.date + "data-date": node.attrs.date, + "data-group": node.attrs.group } ]; } diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js index 18ed78889..4ee38f0b2 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/authorTrackNode.js @@ -7,7 +7,8 @@ const author = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const author = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const author = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphPoetryTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphPoetryTrackNode.js index 83b7932e9..e888ed541 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphPoetryTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphPoetryTrackNode.js @@ -7,7 +7,8 @@ const epigraphPoetry = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const epigraphPoetry = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const epigraphPoetry = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphProseTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphProseTrackNode.js index 45bcc7e94..e4135cf06 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphProseTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/epigraphProseTrackNode.js @@ -7,7 +7,8 @@ const epigraphProse = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const epigraphProse = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const epigraphProse = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractPoetryTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractPoetryTrackNode.js index afbf31893..937af7bd4 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractPoetryTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractPoetryTrackNode.js @@ -7,7 +7,8 @@ const extractPoetry = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const extractPoetry = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const extractPoetry = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractProseTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractProseTrackNode.js index 9365f0dc8..83d9bda49 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractProseTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/extractProseTrackNode.js @@ -7,7 +7,8 @@ const extractProse = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const extractProse = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const extractProse = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/headingTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/headingTrackNode.js index d1aa1b593..55be2a66a 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/headingTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/headingTrackNode.js @@ -3,7 +3,8 @@ import { SchemaHelpers } from "wax-prosemirror-utilities"; const heading = { attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, content: "inline*", group: "block", @@ -14,7 +15,8 @@ const heading = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -23,8 +25,9 @@ const heading = { tag: "h2", getAttrs(hook, next) { Object.assign(hook, { - "data-id": hook.node.attrs.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + id: hook.dom.dataset.id, + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -33,7 +36,9 @@ const heading = { tag: "h3", getAttrs(hook, next) { Object.assign(hook, { - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + id: hook.dom.dataset.id, + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -42,7 +47,9 @@ const heading = { toDOM(hook, next) { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { - "data-track": JSON.stringify(hook.node.attrs.track) + "data-id": hook.node.attrs.id, + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/orderedListTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/orderedListTrackNode.js index a126470a9..a4214da44 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/orderedListTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/orderedListTrackNode.js @@ -5,7 +5,8 @@ const orderedlist = { content: "list_item+", attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -13,7 +14,8 @@ const orderedlist = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -23,7 +25,8 @@ const orderedlist = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/paragraphContTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/paragraphContTrackNode.js index b6fc42ed4..3bc477abf 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/paragraphContTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/paragraphContTrackNode.js @@ -7,7 +7,8 @@ const paragraphCont = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const paragraphCont = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const paragraphCont = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/sourceNoteTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/sourceNoteTrackNode.js index c6e3e08f8..cf9437b3c 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/sourceNoteTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/sourceNoteTrackNode.js @@ -7,7 +7,8 @@ const sourceNote = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const sourceNote = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const sourceNote = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/subTitleTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/subTitleTrackNode.js index 496d71340..c2d21e612 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/subTitleTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/subTitleTrackNode.js @@ -7,7 +7,8 @@ const subtitle = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const subtitle = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const subtitle = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-schema/src/nodes/trackChangesNodes/titleTrackNode.js b/wax-prosemirror-schema/src/nodes/trackChangesNodes/titleTrackNode.js index 017a73af5..81de595b5 100644 --- a/wax-prosemirror-schema/src/nodes/trackChangesNodes/titleTrackNode.js +++ b/wax-prosemirror-schema/src/nodes/trackChangesNodes/titleTrackNode.js @@ -7,7 +7,8 @@ const title = { defining: true, attrs: { id: { default: "" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { @@ -15,7 +16,8 @@ const title = { getAttrs(hook, next) { Object.assign(hook, { id: hook.dom.dataset.id, - track: SchemaHelpers.parseTracks(hook.dom.dataset.track) + track: SchemaHelpers.parseTracks(hook.dom.dataset.track), + group: hook.dom.dataset.group }); next(); } @@ -25,7 +27,8 @@ const title = { if (hook.node.attrs.track.length) { Object.assign(hook.value[1], { "data-id": hook.node.attrs.id, - "data-track": JSON.stringify(hook.node.attrs.track) + "data-track": JSON.stringify(hook.node.attrs.track), + "data-group": hook.node.attrs.group }); } next(); diff --git a/wax-prosemirror-services/src/SchemaService/DefaultSchema.js b/wax-prosemirror-services/src/SchemaService/DefaultSchema.js index b711dab33..23653b144 100644 --- a/wax-prosemirror-services/src/SchemaService/DefaultSchema.js +++ b/wax-prosemirror-services/src/SchemaService/DefaultSchema.js @@ -23,16 +23,18 @@ export default { attrs: { id: { default: "" }, class: { default: "paragraph" }, - track: { default: [] } + track: { default: [] }, + group: { default: "" } }, parseDOM: [ { tag: "p.paragraph", getAttrs(dom) { return { - id: hook.dom.dataset.id, + id: dom.dataset.id, class: dom.getAttribute("class"), - track: SchemaHelpers.parseTracks(dom.dataset.track) + track: SchemaHelpers.parseTracks(dom.dataset.track), + group: dom.dataset.group }; } } diff --git a/wax-prosemirror-utilities/src/schema/SchemaHelpers.js b/wax-prosemirror-utilities/src/schema/SchemaHelpers.js index b141d234e..40cac9e01 100644 --- a/wax-prosemirror-utilities/src/schema/SchemaHelpers.js +++ b/wax-prosemirror-utilities/src/schema/SchemaHelpers.js @@ -42,7 +42,8 @@ const blockLevelToDOM = node => { ? { "data-id": node.attrs.id, class: node.attrs.class, - "data-track": JSON.stringify(node.attrs.track) + "data-track": JSON.stringify(node.attrs.track), + "data-group": node.attrs.group } : { class: node.attrs.class }; return attrs; -- GitLab