diff options
author | Alex Yatskov <alex@foosoft.net> | 2016-04-24 11:04:24 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2016-04-24 11:04:24 -0700 |
commit | 709094455e77d8ceba199316631381fcad47ef5d (patch) | |
tree | b4423fd57ce0731ee92fc78263cb5e8c288734a2 /ext/fg/js/range.js | |
parent | 75d5d84811354cc6dc92c635fb77ad62b4c0aafe (diff) |
Improvements
Diffstat (limited to 'ext/fg/js/range.js')
-rw-r--r-- | ext/fg/js/range.js | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/ext/fg/js/range.js b/ext/fg/js/range.js index 75decc20..9a98fb1a 100644 --- a/ext/fg/js/range.js +++ b/ext/fg/js/range.js @@ -40,11 +40,15 @@ class Range { } containsPoint(point) { - const rect = this.getBoundingClientRect(); + const rect = this.getPaddedRect(); return point.x >= rect.left && point.x <= rect.right; } - getBoundingClientRect() { + getRect() { + return this.rng.getBoundingClientRect(); + } + + getPaddedRect() { const range = this.rng.cloneRange(); const startOffset = range.startOffset; const endOffset = range.endOffset; @@ -56,13 +60,9 @@ class Range { return range.getBoundingClientRect(); } - select(length) { - const range = this.rng.cloneRange(); - range.setEnd(range.startContainer, range.startOffset + length); - + select() { const selection = window.getSelection(); - selection.removeAllRanges(); - selection.addRange(range); + selection.addRange(this.rng); } deselect() { @@ -70,12 +70,8 @@ class Range { selection.removeAllRanges(); } - equals(range) { - const equal = - range.rng.compareBoundaryPoints(Range.END_TO_END, this.rng) === 0 && - range.rng.compareBoundaryPoints(Range.START_TO_START, this.rng) === 0; - - return equal; + compareOrigin(range) { + return range.rng.compareBoundaryPoints(Range.END_TO_END, this.rng); } |