diff options
author | siikamiika <siikamiika@users.noreply.github.com> | 2019-08-03 14:57:17 +0300 |
---|---|---|
committer | siikamiika <siikamiika@users.noreply.github.com> | 2019-08-03 14:57:17 +0300 |
commit | 0ee6d05cb15a8bc94f120c2896e7537fd969aaed (patch) | |
tree | 34c5d87cf50f9e9db89c971bac5eb882574b7339 /ext/fg/js/float.js | |
parent | a343fa589e7ba05740cc11b3b2a8f86817f3a460 (diff) |
Revert "use ES6 import and export"
This reverts commit 04f4607922e84d93ca8a05708802fb6bbd61f359.
Diffstat (limited to 'ext/fg/js/float.js')
-rw-r--r-- | ext/fg/js/float.js | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/ext/fg/js/float.js b/ext/fg/js/float.js index 9301135b..65ed89a1 100644 --- a/ext/fg/js/float.js +++ b/ext/fg/js/float.js @@ -16,7 +16,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -import {Display} from '../../mixed/js/display.js'; class DisplayFloat extends Display { constructor() { @@ -124,6 +123,41 @@ class DisplayFloat extends Display { parent.appendChild(this.styleNode); } } + + async onTermLookup(e) { + try { + e.preventDefault(); + + const clickedElement = $(e.target); + const textSource = docRangeFromPoint({x: e.clientX, y: e.clientY}); + textSource.setEndOffset(this.options.scanning.length); + + const {definitions, length} = await apiTermsFind(textSource.text()); + if (definitions.length === 0) { + return false; + } + + textSource.setEndOffset(length); + + const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt); + + const context = { + source: { + definitions: this.definitions, + index: Display.entryIndexFind(clickedElement) + } + }; + + if (this.context) { + context.sentence = sentence; + context.url = this.context.url; + } + + this.termsShow(definitions, this.options, context); + } catch (e) { + this.onError(e); + } + } } window.yomichan_display = new DisplayFloat(); |