• 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
..
anchoring Loading commit data...
components Loading commit data...
config Loading commit data...
plugin Loading commit data...
test Loading commit data...
util Loading commit data...
.eslintrc.js Loading commit data...
adder.js Loading commit data...
annotation-counts.js Loading commit data...
annotation-sync.js Loading commit data...
delegator.js Loading commit data...
features.js Loading commit data...
frame-observer.js Loading commit data...
guest.js Loading commit data...
highlighter.js Loading commit data...
icons.js Loading commit data...
index.js Loading commit data...
notebook.js Loading commit data...
pdf-sidebar.js Loading commit data...
pdfjs-rendering-states.js Loading commit data...
range-util.js Loading commit data...
selection-observer.js Loading commit data...
sidebar-trigger.js Loading commit data...
sidebar.js Loading commit data...
toolbar.js Loading commit data...