Skip to content
Snippets Groups Projects
Commit 105bb598 authored by chris's avatar chris
Browse files

mark deletion

parent 0d7547d4
No related branches found
No related tags found
1 merge request!472Upgrade pm
/* eslint-disable consistent-return */
import { Selection, TextSelection } from 'prosemirror-state'; import { Selection, TextSelection } from 'prosemirror-state';
import { Slice } from 'prosemirror-model'; import { Slice } from 'prosemirror-model';
import { ReplaceStep, Mapping } from 'prosemirror-transform'; import { ReplaceStep, Mapping } from 'prosemirror-transform';
import removeNode from './removeNode';
const markDeletion = (tr, from, to, user, date, group, viewId) => { const markDeletion = (tr, from, to, user, date, group, viewId) => {
const deletionMark = tr.doc.type.schema.marks.deletion.create({ const deletionMark = tr.doc.type.schema.marks.deletion.create({
...@@ -53,11 +55,15 @@ const markDeletion = (tr, from, to, user, date, group, viewId) => { ...@@ -53,11 +55,15 @@ const markDeletion = (tr, from, to, user, date, group, viewId) => {
) )
) { ) {
let removeStep; let removeStep;
if (node.isTextblock && node.nodeSize === 2) {
return removeNode(tr, node, pos, deletionMap);
}
if (node.isTextblock && to < pos + node.nodeSize) { if (node.isTextblock && to < pos + node.nodeSize) {
const selectionBefore = Selection.findFrom(tr.doc.resolve(pos), -1); const selectionBefore = Selection.findFrom(tr.doc.resolve(pos), -1);
if (selectionBefore instanceof TextSelection) { if (selectionBefore instanceof TextSelection) {
removeStep = new ReplaceStep( removeStep = new ReplaceStep(
deletionMap.map(selectionBefore.$anchor.pos), // deletionMap.map(selectionBefore.$anchor.pos),
deletionMap.map(Math.min(to, pos + node.nodeSize)),
deletionMap.map(to), deletionMap.map(to),
Slice.empty, Slice.empty,
); );
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment