UNPKG

@atlaskit/editor-plugin-synced-block

Version:

SyncedBlock plugin for @atlaskit/editor-core

26 lines (25 loc) 997 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.rebaseTransaction = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _transform = require("@atlaskit/editor-prosemirror/transform"); var rebaseTransaction = exports.rebaseTransaction = function rebaseTransaction(currentTr, incomingTr, state) { if (!incomingTr.docChanged) { return currentTr; } var currentMapping = new _transform.Mapping((0, _toConsumableArray2.default)(currentTr.mapping.maps).reverse().map(function (map) { return map.invert(); })); var rebasedTransaction = state.tr; currentTr.steps.forEach(function (step) { var mappedStep = step.map(currentMapping); if (mappedStep) { rebasedTransaction.step(mappedStep); currentMapping.appendMap(mappedStep.getMap()); } }); return rebasedTransaction; };