in frontend/src/js/components/viewer/CommentHighlighter.tsx [9:32]
function getFlattenAction(target: Highlight, highlights: Highlight[]): FlattenAction {
let startCharacter = target.range.startCharacter;
let endCharacter = target.range.endCharacter;
for(const highlight of highlights) {
if(highlight !== target && highlight.type === 'comment') {
const startsInside = target.range.startCharacter >= highlight.range.startCharacter
&& target.range.startCharacter <= highlight.range.endCharacter;
const endsInside = target.range.endCharacter >= highlight.range.startCharacter
&& target.range.endCharacter <= highlight.range.endCharacter;
if(startsInside && endsInside) {
return { type: 'delete' };
} else if(startsInside) {
startCharacter = highlight.range.endCharacter;
} else if(endsInside) {
endCharacter = highlight.range.startCharacter;
}
}
}
return { type: 'truncate', range: { startCharacter, endCharacter } };
}