@manuscripts/track-changes-plugin 1.7.7 → 1.7.9-LEAN-3354

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.
@@ -20,9 +20,10 @@ function deleteNode(node, pos, tr) {
20
20
  exports.deleteNode = deleteNode;
21
21
  function deleteOrSetNodeDeleted(node, pos, newTr, deleteAttrs) {
22
22
  const dataTracked = (0, nodeHelpers_1.getBlockInlineTrackedData)(node);
23
- const inserted = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === change_1.CHANGE_OPERATION.insert && d.status === change_1.CHANGE_STATUS.pending);
23
+ const inserted = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === change_1.CHANGE_OPERATION.insert &&
24
+ (d.status === change_1.CHANGE_STATUS.pending || d.status === change_1.CHANGE_STATUS.accepted));
24
25
  const updated = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === change_1.CHANGE_OPERATION.set_node_attributes);
25
- if (inserted && inserted.authorID === deleteAttrs.authorID) {
26
+ if (inserted) {
26
27
  return deleteNode(node, pos, newTr);
27
28
  }
28
29
  if (!newTr.doc.nodeAt(pos)) {
@@ -23,7 +23,7 @@ const trackTransaction_1 = require("./steps/trackTransaction");
23
23
  const track_1 = require("./types/track");
24
24
  const logger_1 = require("./utils/logger");
25
25
  exports.trackChangesPluginKey = new prosemirror_state_1.PluginKey('track-changes');
26
- const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) => {
26
+ const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous', initialStatus: track_1.TrackChangesStatus.enabled }) => {
27
27
  const { userID, debug, skipTrsWithMetas = [] } = opts;
28
28
  let editorView;
29
29
  if (debug) {
@@ -40,7 +40,7 @@ const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) => {
40
40
  state: {
41
41
  init(_config, state) {
42
42
  return {
43
- status: track_1.TrackChangesStatus.enabled,
43
+ status: opts.initialStatus || track_1.TrackChangesStatus.enabled,
44
44
  userID,
45
45
  changeSet: (0, findChanges_1.findChanges)(state),
46
46
  };
@@ -82,6 +82,12 @@ const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) => {
82
82
  trs.forEach((tr) => {
83
83
  const wasAppended = tr.getMeta('appendedTransaction');
84
84
  const skipMetaUsed = skipTrsWithMetas.some((m) => tr.getMeta(m) || (wasAppended === null || wasAppended === void 0 ? void 0 : wasAppended.getMeta(m)));
85
+ const collabRebased = tr.getMeta('rebased');
86
+ if (collabRebased !== undefined) {
87
+ (0, actions_1.setAction)(createdTr, actions_1.TrackChangesAction.refreshChanges, true);
88
+ docChanged = true;
89
+ return;
90
+ }
85
91
  const skipTrackUsed = (0, actions_1.getAction)(tr, actions_1.TrackChangesAction.skipTrack) ||
86
92
  (wasAppended && (0, actions_1.getAction)(wasAppended, actions_1.TrackChangesAction.skipTrack));
87
93
  if (tr.docChanged &&
@@ -16,9 +16,10 @@ export function deleteNode(node, pos, tr) {
16
16
  }
17
17
  export function deleteOrSetNodeDeleted(node, pos, newTr, deleteAttrs) {
18
18
  const dataTracked = getBlockInlineTrackedData(node);
19
- const inserted = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === CHANGE_OPERATION.insert && d.status === CHANGE_STATUS.pending);
19
+ const inserted = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === CHANGE_OPERATION.insert &&
20
+ (d.status === CHANGE_STATUS.pending || d.status === CHANGE_STATUS.accepted));
20
21
  const updated = dataTracked === null || dataTracked === void 0 ? void 0 : dataTracked.find((d) => d.operation === CHANGE_OPERATION.set_node_attributes);
21
- if (inserted && inserted.authorID === deleteAttrs.authorID) {
22
+ if (inserted) {
22
23
  return deleteNode(node, pos, newTr);
23
24
  }
24
25
  if (!newTr.doc.nodeAt(pos)) {
package/dist/es/plugin.js CHANGED
@@ -20,7 +20,7 @@ import { trackTransaction } from './steps/trackTransaction';
20
20
  import { TrackChangesStatus } from './types/track';
21
21
  import { enableDebug, log } from './utils/logger';
22
22
  export const trackChangesPluginKey = new PluginKey('track-changes');
23
- export const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) => {
23
+ export const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous', initialStatus: TrackChangesStatus.enabled }) => {
24
24
  const { userID, debug, skipTrsWithMetas = [] } = opts;
25
25
  let editorView;
26
26
  if (debug) {
@@ -37,7 +37,7 @@ export const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) =>
37
37
  state: {
38
38
  init(_config, state) {
39
39
  return {
40
- status: TrackChangesStatus.enabled,
40
+ status: opts.initialStatus || TrackChangesStatus.enabled,
41
41
  userID,
42
42
  changeSet: findChanges(state),
43
43
  };
@@ -79,6 +79,12 @@ export const trackChangesPlugin = (opts = { userID: 'anonymous:Anonymous' }) =>
79
79
  trs.forEach((tr) => {
80
80
  const wasAppended = tr.getMeta('appendedTransaction');
81
81
  const skipMetaUsed = skipTrsWithMetas.some((m) => tr.getMeta(m) || (wasAppended === null || wasAppended === void 0 ? void 0 : wasAppended.getMeta(m)));
82
+ const collabRebased = tr.getMeta('rebased');
83
+ if (collabRebased !== undefined) {
84
+ setAction(createdTr, TrackChangesAction.refreshChanges, true);
85
+ docChanged = true;
86
+ return;
87
+ }
82
88
  const skipTrackUsed = getAction(tr, TrackChangesAction.skipTrack) ||
83
89
  (wasAppended && getAction(wasAppended, TrackChangesAction.skipTrack));
84
90
  if (tr.docChanged &&
@@ -5,6 +5,7 @@ export interface TrackChangesOptions {
5
5
  debug?: boolean;
6
6
  userID: string;
7
7
  skipTrsWithMetas?: (PluginKey | string)[];
8
+ initialStatus?: TrackChangesStatus;
8
9
  }
9
10
  export interface TrackChangesState {
10
11
  status: TrackChangesStatus;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manuscripts/track-changes-plugin",
3
- "version": "1.7.7",
3
+ "version": "1.7.9-LEAN-3354",
4
4
  "author": "Atypon Systems LLC",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Atypon-OpenSource/manuscripts-track-changes-plugin",