From b55a725fb68f0cf2cc63ebe56a971b890d0704f4 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Tue, 12 May 2020 12:21:41 +0300 Subject: [PATCH] remove files --- .../track-changes/markDeletion.js | 102 ------------------ .../track-changes/markInsertion.js | 47 -------- .../track-changes/markWrapping.js | 41 ------- 3 files changed, 190 deletions(-) delete mode 100644 wax-prosemirror-services/src/TrackChangeService/track-changes/markDeletion.js delete mode 100644 wax-prosemirror-services/src/TrackChangeService/track-changes/markInsertion.js delete mode 100644 wax-prosemirror-services/src/TrackChangeService/track-changes/markWrapping.js diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/markDeletion.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/markDeletion.js deleted file mode 100644 index b4c76ef12..000000000 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/markDeletion.js +++ /dev/null @@ -1,102 +0,0 @@ -import { Selection, TextSelection } from "prosemirror-state"; -import { Slice } from "prosemirror-model"; -import { ReplaceStep, Mapping } from "prosemirror-transform"; - -const markDeletion = (tr, from, to, user, date) => { - const deletionMark = tr.doc.type.schema.marks.deletion.create({ - user: user.userId, - username: user.username, - date - }); - let firstTableCellChild = false; - const deletionMap = new Mapping(); - // Add deletion mark to block nodes (figures, text blocks) and find already deleted inline nodes (and leave them alone) - tr.doc.nodesBetween(from, to, (node, pos) => { - if (pos < from && node.type.name === "table_cell") { - firstTableCellChild = true; - return true; - } else if ((pos < from && node.isBlock) || firstTableCellChild) { - firstTableCellChild = false; - return true; - } else if (["table_row", "table_cell"].includes(node.type.name)) { - return false; - } else if ( - node.isInline && - node.marks.find( - mark => - mark.type.name === "insertion" && mark.attrs.user === user.userId - ) - ) { - const removeStep = new ReplaceStep( - deletionMap.map(Math.max(from, pos)), - deletionMap.map(Math.min(to, pos + node.nodeSize)), - Slice.empty - ); - if (!tr.maybeStep(removeStep).failed) { - deletionMap.appendMap(removeStep.getMap()); - } - } else if ( - node.isInline && - !node.marks.find(mark => mark.type.name === "deletion") - ) { - tr.addMark( - deletionMap.map(Math.max(from, pos)), - deletionMap.map(Math.min(to, pos + node.nodeSize)), - deletionMark - ); - } else if ( - node.attrs.track && - !node.attrs.track.find(trackAttr => trackAttr.type === "deletion") && - !["bullet_list", "ordered_list"].includes(node.type.name) - ) { - if ( - node.attrs.track.find( - trackAttr => - trackAttr.type === "insertion" && trackAttr.user === user.userId - ) - ) { - let removeStep; - // user has created element. so (s)he is allowed to delete it again. - if (node.isTextblock && to < pos + node.nodeSize) { - // The node is a textblock. So we need to merge into the last possible position inside the last text block. - const selectionBefore = Selection.findFrom(tr.doc.resolve(pos), -1); - if (selectionBefore instanceof TextSelection) { - removeStep = new ReplaceStep( - deletionMap.map(selectionBefore.$anchor.pos), - deletionMap.map(to), - Slice.empty - ); - } - } else { - removeStep = new ReplaceStep( - deletionMap.map(Math.max(from, pos)), - deletionMap.map(Math.min(to, pos + node.nodeSize)), - Slice.empty - ); - } - - if (!tr.maybeStep(removeStep).failed) { - deletionMap.appendMap(removeStep.getMap()); - } - } else { - const track = node.attrs.track.slice(); - track.push({ - type: "deletion", - user: user.userId, - username: user.username, - date - }); - tr.setNodeMarkup( - deletionMap.map(pos), - null, - Object.assign({}, node.attrs, { track }), - node.marks - ); - } - } - }); - - return deletionMap; -}; - -export default markDeletion; diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/markInsertion.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/markInsertion.js deleted file mode 100644 index 7d0653905..000000000 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/markInsertion.js +++ /dev/null @@ -1,47 +0,0 @@ -const markInsertion = (tr, from, to, user, date) => { - tr.removeMark(from, to, tr.doc.type.schema.marks.deletion); - tr.removeMark(from, to, tr.doc.type.schema.marks.insertion); - const insertionMark = tr.doc.type.schema.marks.insertion.create({ - user: user.userId, - username: user.username, - date - }); - tr.addMark(from, to, insertionMark); - // Add insertion mark also to block nodes (figures, text blocks) but not table cells/rows and lists. - tr.doc.nodesBetween(from, to, (node, pos) => { - if ( - pos < from || - ["bullet_list", "ordered_list"].includes(node.type.name) - ) { - return true; - } else if ( - node.isInline || - ["table_row", "table_cell"].includes(node.type.name) - ) { - return false; - } - if (node.attrs.track) { - const track = []; - - track.push({ - type: "insertion", - user: user.userId, - username: user.username, - date - }); - - tr.setNodeMarkup( - pos, - null, - Object.assign({}, node.attrs, { track }), - node.marks - ); - } - if (node.type.name === "table") { - // A table was inserted. We don't add track marks to elements inside of it. - return false; - } - }); -}; - -export default markInsertion; diff --git a/wax-prosemirror-services/src/TrackChangeService/track-changes/markWrapping.js b/wax-prosemirror-services/src/TrackChangeService/track-changes/markWrapping.js deleted file mode 100644 index 248cc9762..000000000 --- a/wax-prosemirror-services/src/TrackChangeService/track-changes/markWrapping.js +++ /dev/null @@ -1,41 +0,0 @@ -import { v4 as uuidv4 } from "uuid"; - -const markWrapping = (tr, pos, oldNode, newNode, user, date) => { - let track = oldNode.attrs.track.slice(), - blockTrack = track.find(track => track.type === "block_change"); - - if (blockTrack) { - track = track.filter(track => track !== blockTrack); - if ( - blockTrack.before.type !== newNode.type.name || - blockTrack.before.attrs.level !== newNode.attrs.level - ) { - blockTrack = { - type: "block_change", - user: user.id, - username: user.username, - date, - before: blockTrack.before - }; - track.push(blockTrack); - } - } else { - blockTrack = { - type: "block_change", - user: user.id, - username: user.username, - date, - before: { type: oldNode.type.name, attrs: oldNode.attrs } - }; - if (blockTrack.before.attrs.id) { - delete blockTrack.before.attrs.id; - } - if (blockTrack.before.attrs.track) { - delete blockTrack.before.attrs.track; - } - track.push(blockTrack); - } - tr.setNodeMarkup(pos, null, Object.assign({}, newNode.attrs, { track })); -}; - -export default markWrapping; -- GitLab