@manuscripts/track-changes-plugin 1.5.1-LEAN-2431 → 1.5.2-LEAN-2508
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +7 -12
- package/dist/index.js +7 -12
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -448,7 +448,8 @@ function deleteNode(node, pos, tr) {
|
|
|
448
448
|
const resPos = tr.doc.resolve(pos);
|
|
449
449
|
// Block nodes can be deleted by just removing their start token which should then merge the text
|
|
450
450
|
// content to above node's content (if there is one)
|
|
451
|
-
|
|
451
|
+
// this will work just for the node after the first child
|
|
452
|
+
const canMergeToNodeAbove = resPos.parent !== tr.doc && resPos.nodeBefore && node.isBlock && ((_a = node.firstChild) === null || _a === void 0 ? void 0 : _a.isText);
|
|
452
453
|
if (canMergeToNodeAbove) {
|
|
453
454
|
return tr.replaceWith(pos - 1, pos + 1, prosemirrorModel.Fragment.empty);
|
|
454
455
|
}
|
|
@@ -509,9 +510,9 @@ function mergeNode(node, pos, tr) {
|
|
|
509
510
|
if (prosemirrorTransform.canJoin(tr.doc, pos)) {
|
|
510
511
|
return tr.join(pos);
|
|
511
512
|
}
|
|
512
|
-
else if (
|
|
513
|
-
//
|
|
514
|
-
return
|
|
513
|
+
else if (!tr.doc.resolve(pos).nodeBefore) {
|
|
514
|
+
// for this case will just delete that node in `deleteNode.ts` as the join will not work
|
|
515
|
+
return undefined;
|
|
515
516
|
}
|
|
516
517
|
// TODO is this the same thing as join to above?
|
|
517
518
|
const resPos = tr.doc.resolve(pos);
|
|
@@ -1217,14 +1218,13 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
|
|
|
1217
1218
|
// console.log(JSON.parse(JSON.stringify(changeSteps)))
|
|
1218
1219
|
function sameThingBackSpaced() {
|
|
1219
1220
|
/*
|
|
1220
|
-
When deleting text with backspace and getting to the point of when a space and a character before
|
|
1221
|
+
When deleting text with backspace and getting to the point of when a space and a character before a deleted piece of text is deleted
|
|
1221
1222
|
the prosemirror would interpret it as moving the <del> node (this is a tracked deletion) one characted behind.
|
|
1222
|
-
It normally results in [delete, delete, insert] set of ChangSteps where 1st delete is for the delete done by
|
|
1223
|
+
It normally results in [delete, delete, insert] set of ChangSteps where the 1st delete is for the delete done by
|
|
1223
1224
|
the backspace key, the second delete and the insert are a misinterpretation of the moved text. So these last 2 steps have to be caught
|
|
1224
1225
|
and removed as they are not meaningful.
|
|
1225
1226
|
*/
|
|
1226
1227
|
if (changeSteps.length == 2 && newSliceContent.size > 0) {
|
|
1227
|
-
// or jus thangeSteps.length == 2
|
|
1228
1228
|
const correspondingDeletion = changeSteps.find(
|
|
1229
1229
|
// @ts-ignore
|
|
1230
1230
|
(step) => step.node.text === newSliceContent.content[0].text // @TODO - get more precise proof of match. E.g.: position approximation
|
|
@@ -1240,13 +1240,8 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
|
|
|
1240
1240
|
const textWasDeleted = !!changeSteps.length;
|
|
1241
1241
|
if (!backSpacedText && newSliceContent.size > 0) {
|
|
1242
1242
|
log.info('newSliceContent', newSliceContent);
|
|
1243
|
-
//
|
|
1244
|
-
// console.log('Sliced Content:')
|
|
1245
|
-
// console.log(newSliceContent)
|
|
1246
1243
|
// Since deleteAndMergeSplitBlockNodes modified the slice to not to contain any merged nodes,
|
|
1247
1244
|
// the sides should be equal. TODO can they be other than 0?
|
|
1248
|
-
// the sides should be equal. TODO can they be other than 0?
|
|
1249
|
-
//
|
|
1250
1245
|
const openStart = slice.openStart !== slice.openEnd ? 0 : slice.openStart;
|
|
1251
1246
|
const openEnd = slice.openStart !== slice.openEnd ? 0 : slice.openEnd;
|
|
1252
1247
|
changeSteps.push({
|
package/dist/index.js
CHANGED
|
@@ -440,7 +440,8 @@ function deleteNode(node, pos, tr) {
|
|
|
440
440
|
const resPos = tr.doc.resolve(pos);
|
|
441
441
|
// Block nodes can be deleted by just removing their start token which should then merge the text
|
|
442
442
|
// content to above node's content (if there is one)
|
|
443
|
-
|
|
443
|
+
// this will work just for the node after the first child
|
|
444
|
+
const canMergeToNodeAbove = resPos.parent !== tr.doc && resPos.nodeBefore && node.isBlock && ((_a = node.firstChild) === null || _a === void 0 ? void 0 : _a.isText);
|
|
444
445
|
if (canMergeToNodeAbove) {
|
|
445
446
|
return tr.replaceWith(pos - 1, pos + 1, Fragment.empty);
|
|
446
447
|
}
|
|
@@ -501,9 +502,9 @@ function mergeNode(node, pos, tr) {
|
|
|
501
502
|
if (canJoin(tr.doc, pos)) {
|
|
502
503
|
return tr.join(pos);
|
|
503
504
|
}
|
|
504
|
-
else if (
|
|
505
|
-
//
|
|
506
|
-
return
|
|
505
|
+
else if (!tr.doc.resolve(pos).nodeBefore) {
|
|
506
|
+
// for this case will just delete that node in `deleteNode.ts` as the join will not work
|
|
507
|
+
return undefined;
|
|
507
508
|
}
|
|
508
509
|
// TODO is this the same thing as join to above?
|
|
509
510
|
const resPos = tr.doc.resolve(pos);
|
|
@@ -1209,14 +1210,13 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
|
|
|
1209
1210
|
// console.log(JSON.parse(JSON.stringify(changeSteps)))
|
|
1210
1211
|
function sameThingBackSpaced() {
|
|
1211
1212
|
/*
|
|
1212
|
-
When deleting text with backspace and getting to the point of when a space and a character before
|
|
1213
|
+
When deleting text with backspace and getting to the point of when a space and a character before a deleted piece of text is deleted
|
|
1213
1214
|
the prosemirror would interpret it as moving the <del> node (this is a tracked deletion) one characted behind.
|
|
1214
|
-
It normally results in [delete, delete, insert] set of ChangSteps where 1st delete is for the delete done by
|
|
1215
|
+
It normally results in [delete, delete, insert] set of ChangSteps where the 1st delete is for the delete done by
|
|
1215
1216
|
the backspace key, the second delete and the insert are a misinterpretation of the moved text. So these last 2 steps have to be caught
|
|
1216
1217
|
and removed as they are not meaningful.
|
|
1217
1218
|
*/
|
|
1218
1219
|
if (changeSteps.length == 2 && newSliceContent.size > 0) {
|
|
1219
|
-
// or jus thangeSteps.length == 2
|
|
1220
1220
|
const correspondingDeletion = changeSteps.find(
|
|
1221
1221
|
// @ts-ignore
|
|
1222
1222
|
(step) => step.node.text === newSliceContent.content[0].text // @TODO - get more precise proof of match. E.g.: position approximation
|
|
@@ -1232,13 +1232,8 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
|
|
|
1232
1232
|
const textWasDeleted = !!changeSteps.length;
|
|
1233
1233
|
if (!backSpacedText && newSliceContent.size > 0) {
|
|
1234
1234
|
log.info('newSliceContent', newSliceContent);
|
|
1235
|
-
//
|
|
1236
|
-
// console.log('Sliced Content:')
|
|
1237
|
-
// console.log(newSliceContent)
|
|
1238
1235
|
// Since deleteAndMergeSplitBlockNodes modified the slice to not to contain any merged nodes,
|
|
1239
1236
|
// the sides should be equal. TODO can they be other than 0?
|
|
1240
|
-
// the sides should be equal. TODO can they be other than 0?
|
|
1241
|
-
//
|
|
1242
1237
|
const openStart = slice.openStart !== slice.openEnd ? 0 : slice.openStart;
|
|
1243
1238
|
const openEnd = slice.openStart !== slice.openEnd ? 0 : slice.openEnd;
|
|
1244
1239
|
changeSteps.push({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manuscripts/track-changes-plugin",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.2-LEAN-2508",
|
|
4
4
|
"author": "Atypon Systems LLC",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/Atypon-OpenSource/manuscripts-quarterback/tree/main/quarterback-packages/track-changes-plugin",
|