diff options
author | Alex Yatskov <alex@foosoft.net> | 2016-04-23 21:09:33 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2016-04-23 21:09:33 -0700 |
commit | defe4e5759354178c8a16d9df0bee0817abae99b (patch) | |
tree | 29a0f117301f8be6dbfcc1755e340a6655426856 | |
parent | 8b097221db06cd9119acc405ec84794362899086 (diff) |
WIP
-rw-r--r-- | ext/fg/js/client.js | 14 | ||||
-rw-r--r-- | ext/fg/js/range.js | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index 3df713a3..7e9a9896 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -57,7 +57,7 @@ class Client { if (this.enabled && (e.shiftKey || e.which === 2)) { this.searchAt(this.lastMousePos); } else { - this.popup.hide(); + this.hidePopup(); } } @@ -87,7 +87,7 @@ class Client { return; } - if (this.lastRange !== null && this.lastRange.equalTo(range)) { + if (this.lastRange !== null && this.lastRange.equals(range)) { return; } @@ -110,15 +110,13 @@ class Client { } showPopup(range, length, content) { - if (this.options.highlightText) { - range.setEnd(range.endContainer, range.startOffset + length); + this.popup.showNextTo(range, content); - const selection = window.getSelection(); - selection.removeAllRanges(); - selection.addRange(range); + if (this.options.highlightText) { + this.range.select(length); } - this.popup.showNextTo(range, content); + this.lastRange = range; } hidePopup() { diff --git a/ext/fg/js/range.js b/ext/fg/js/range.js index 473cc449..a5c38e39 100644 --- a/ext/fg/js/range.js +++ b/ext/fg/js/range.js @@ -67,10 +67,10 @@ class Range { deselect() { const selection = window.getSelection(); - selection.removeRange(this.range); + selection.removeAllRanges(); } - equalTo(range) { + equals(range) { const equal = range.compareBoundaryPoints(Range.END_TO_END, this.range) === 0 && range.compareBoundaryPoints(Range.START_TO_START, this.range) === 0; |