@manuscripts/track-changes-plugin 1.6.0 → 1.6.1

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 CHANGED
@@ -1201,6 +1201,7 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1201
1201
  let selectionPos = 0, changeSteps = [];
1202
1202
  // Invert the transaction step to prevent it from actually deleting or inserting anything
1203
1203
  step.getMap().forEach((fromA, toA, fromB, toB) => {
1204
+ var _a, _b;
1204
1205
  log.info(`changed ranges: ${fromA} ${toA} ${fromB} ${toB}`);
1205
1206
  const { slice } = step;
1206
1207
  log.info('TR: steps before applying delete', [...newTr.steps]);
@@ -1248,9 +1249,6 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1248
1249
  type: 'insert-slice',
1249
1250
  from: textWasDeleted ? fromB : toA,
1250
1251
  to: textWasDeleted ? toB - 1 : toA,
1251
- /* it's not entirely clear why using "fromB" is needed at all but in cases where there areno content deleted before
1252
- - it will gointo infinite loop if toB -1 is used
1253
- */
1254
1252
  sliceWasSplit,
1255
1253
  slice: new prosemirrorModel.Slice(setFragmentAsInserted(newSliceContent, createNewInsertAttrs(attrs), oldState.schema), openStart, openEnd),
1256
1254
  });
@@ -1258,7 +1256,10 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1258
1256
  else {
1259
1257
  // Incase only deletion was applied, check whether tracked marks around deleted content can be merged
1260
1258
  // mergeTrackedMarks(adjustedInsertPos, newTr.doc, newTr, oldState.schema)
1261
- selectionPos = fromA;
1259
+ // When DEL is used, the selection is set to the end of the deleted content
1260
+ // TODO: 'window.event' is deprecated, find a better way to detect the key used for deletion
1261
+ // @ts-ignore
1262
+ selectionPos = ((_a = window.event) === null || _a === void 0 ? void 0 : _a.code) === 'Delete' || ((_b = window.event) === null || _b === void 0 ? void 0 : _b.inputType) === 'deleteContentForward' ? toA : fromA;
1262
1263
  }
1263
1264
  });
1264
1265
  return [changeSteps, selectionPos];
package/dist/index.js CHANGED
@@ -1193,6 +1193,7 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1193
1193
  let selectionPos = 0, changeSteps = [];
1194
1194
  // Invert the transaction step to prevent it from actually deleting or inserting anything
1195
1195
  step.getMap().forEach((fromA, toA, fromB, toB) => {
1196
+ var _a, _b;
1196
1197
  log.info(`changed ranges: ${fromA} ${toA} ${fromB} ${toB}`);
1197
1198
  const { slice } = step;
1198
1199
  log.info('TR: steps before applying delete', [...newTr.steps]);
@@ -1240,9 +1241,6 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1240
1241
  type: 'insert-slice',
1241
1242
  from: textWasDeleted ? fromB : toA,
1242
1243
  to: textWasDeleted ? toB - 1 : toA,
1243
- /* it's not entirely clear why using "fromB" is needed at all but in cases where there areno content deleted before
1244
- - it will gointo infinite loop if toB -1 is used
1245
- */
1246
1244
  sliceWasSplit,
1247
1245
  slice: new Slice(setFragmentAsInserted(newSliceContent, createNewInsertAttrs(attrs), oldState.schema), openStart, openEnd),
1248
1246
  });
@@ -1250,7 +1248,10 @@ function trackReplaceStep(step, oldState, newTr, attrs, stepResult, currentStepD
1250
1248
  else {
1251
1249
  // Incase only deletion was applied, check whether tracked marks around deleted content can be merged
1252
1250
  // mergeTrackedMarks(adjustedInsertPos, newTr.doc, newTr, oldState.schema)
1253
- selectionPos = fromA;
1251
+ // When DEL is used, the selection is set to the end of the deleted content
1252
+ // TODO: 'window.event' is deprecated, find a better way to detect the key used for deletion
1253
+ // @ts-ignore
1254
+ selectionPos = ((_a = window.event) === null || _a === void 0 ? void 0 : _a.code) === 'Delete' || ((_b = window.event) === null || _b === void 0 ? void 0 : _b.inputType) === 'deleteContentForward' ? toA : fromA;
1254
1255
  }
1255
1256
  });
1256
1257
  return [changeSteps, selectionPos];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manuscripts/track-changes-plugin",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
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",
@@ -61,6 +61,7 @@
61
61
  "scripts": {
62
62
  "build": "rollup -c",
63
63
  "watch": "rollup -cw",
64
+ "dev": "yarn run watch",
64
65
  "test": "jest --runInBand",
65
66
  "format": "prettier --write \"*.+(js|json|yml|yaml|ts|md|graphql|mdx)\" src/ test/",
66
67
  "typecheck": "tsc --project tsconfig.test.json --noEmit",