@atlaskit/editor-plugin-show-diff
Version:
ShowDiff plugin for @atlaskit/editor-core
53 lines (51 loc) • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createInlineChangedDecoration = void 0;
var _view = require("@atlaskit/editor-prosemirror/view");
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
var _standard = require("./colorSchemes/standard");
var _traditional = require("./colorSchemes/traditional");
/**
* Inline decoration used for insertions as the content already exists in the document
*
* @param change Changeset "change" containing information about the change content + range
* @returns Prosemirror inline decoration
*/
var createInlineChangedDecoration = exports.createInlineChangedDecoration = function createInlineChangedDecoration(_ref) {
var change = _ref.change,
colorScheme = _ref.colorScheme,
_ref$isActive = _ref.isActive,
isActive = _ref$isActive === void 0 ? false : _ref$isActive,
_ref$isInserted = _ref.isInserted,
isInserted = _ref$isInserted === void 0 ? true : _ref$isInserted;
var style;
if ((0, _expValEquals.expValEquals)('platform_editor_diff_plugin_extended', 'isEnabled', true)) {
if (isInserted) {
if (colorScheme === 'traditional') {
style = isActive ? _traditional.traditionalInsertStyleActive : _traditional.traditionalInsertStyle;
} else {
style = isActive ? _standard.editingStyleActive : _standard.editingStyle;
}
} else {
if (colorScheme === 'traditional') {
style = _traditional.deletedTraditionalContentStyle;
} else {
style = isActive ? _standard.deletedContentStyleActive : _standard.deletedContentStyle;
}
}
} else {
if (colorScheme === 'traditional') {
style = isActive ? _traditional.traditionalInsertStyleActive : _traditional.traditionalInsertStyle;
} else {
style = isActive ? _standard.editingStyleActive : _standard.editingStyle;
}
}
return _view.Decoration.inline(change.fromB, change.toB, {
style: style,
'data-testid': 'show-diff-changed-decoration'
}, {
key: 'diff-inline'
});
};