• Robert Knight's avatar
    Handle start or end element with no text in `TextRange.toRange` · 3d36ecee
    Robert Knight authored
    When resolving a `TextRange` to a DOM `Range` there is an edge case
    where the `start` or `end` position have an `offset` of `0` and the
    element contains no text nodes.
    
    Before this commit `toRange` would throw an `Offset exceeds text length`
    error. A more useful behavior though is:
    
     - For the `start` position, to resolve it to the start of the next text node after
       `this.start.element`
    
     - For the `end` position, to resolve it to the end of the previous text
       node before `this.end.element`
    
    This commit implements this behavior by first adding a `dir` option to
    `TextPosition.resolve` to control what happens when the position's
    offset is 0 and the element has no text and then specifying this option
    when calling `this.{start, end}.resolve` in `TextRange.toRange`.
    3d36ecee
Name
Last commit
Last update
..
annotator Loading commit data...
boot Loading commit data...
images/icons Loading commit data...
shared Loading commit data...
sidebar Loading commit data...
styles Loading commit data...
test-util Loading commit data...
types Loading commit data...
.eslintrc Loading commit data...
karma.config.js Loading commit data...
tsconfig.json Loading commit data...