@atlaskit/editor-plugin-show-diff
Version:
ShowDiff plugin for @atlaskit/editor-core
30 lines • 760 B
JavaScript
var CELL_TYPE_NAMES = ['tableCell', 'tableHeader'];
export var getTableDiffMode = function getTableDiffMode(_ref) {
var slice = _ref.slice,
isInserted = _ref.isInserted;
var topLevelNodes = slice.content.content;
if (topLevelNodes.some(function (node) {
return CELL_TYPE_NAMES.includes(node.type.name);
})) {
return isInserted ? {
kind: 'cells'
} : {
kind: 'none'
};
}
if (topLevelNodes.some(function (node) {
return node.type.name === 'tableRow';
})) {
return {
kind: 'rows'
};
}
if (topLevelNodes.length === 1 && topLevelNodes[0].type.name === 'table' && slice.openStart === 0 && slice.openEnd === 0) {
return {
kind: 'wholeTable'
};
}
return {
kind: 'generic'
};
};