diff -r 1f340f3597a8 -r ea92f4fe783d client/src/AnnotationPlugin.js --- a/client/src/AnnotationPlugin.js Tue Oct 09 19:07:47 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -function AnnotationPlugin(options) { - - const { onChange } = options - - return { - onSelect(event, change) { - event.preventDefault() - - const { value } = change - const { selection } = value - const { start, end} = selection - - if (selection.isCollapsed) { - return; - } - - let nodes = []; - let hasStarted = false; - let hasEnded = false; - - // Keep only the relevant nodes, - // i.e. nodes which are contained within selection - value.document.nodes.forEach((node) => { - if (start.isInNode(node)) { - hasStarted = true; - } - if (hasStarted && !hasEnded) { - nodes.push(node); - } - if (end.isAtEndOfNode(node)) { - hasEnded = true; - } - }); - - let text = ''; - - // Concatenate the nodes text - if (nodes.length === 1) { - text = nodes[0].text.substring(start.offset, end.offset); - } else { - text = nodes.map((node) => { - if (start.isInNode(node)) return node.text.substring(start.offset); - if (end.isAtEndOfNode(node)) return node.text.substring(0, end.offset); - return node.text; - }).join('\n'); - } - - if (onChange) { - onChange(text, start.offset, end.offset); - } - } - - }; -} - -export default AnnotationPlugin;