@atlaskit/editor-plugin-show-diff
Version:
ShowDiff plugin for @atlaskit/editor-core
27 lines • 653 B
JavaScript
const CELL_TYPE_NAMES = ['tableCell', 'tableHeader'];
export const getTableDiffMode = ({
slice,
isInserted
}) => {
const topLevelNodes = slice.content.content;
if (topLevelNodes.some(node => CELL_TYPE_NAMES.includes(node.type.name))) {
return isInserted ? {
kind: 'cells'
} : {
kind: 'none'
};
}
if (topLevelNodes.some(node => 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'
};
};