• 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
.github Loading commit data...
bin Loading commit data...
dev-server Loading commit data...
docs Loading commit data...
embedding-examples Loading commit data...
images Loading commit data...
scripts Loading commit data...
src Loading commit data...
.babelrc Loading commit data...
.dockerignore Loading commit data...
.eslintignore Loading commit data...
.eslintrc Loading commit data...
.gitignore Loading commit data...
.npmignore Loading commit data...
.npmrc Loading commit data...
.prettierignore Loading commit data...
.prettierrc Loading commit data...
.python-version Loading commit data...
CODE_OF_CONDUCT Loading commit data...
Dockerfile Loading commit data...
Jenkinsfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
codecov.yml Loading commit data...
gulpfile.js Loading commit data...
package.json Loading commit data...
requirements-dev.in Loading commit data...
tox.ini Loading commit data...
yarn.lock Loading commit data...