diff options
author | siikamiika <siikamiika@users.noreply.github.com> | 2019-11-28 12:38:25 +0200 |
---|---|---|
committer | siikamiika <siikamiika@users.noreply.github.com> | 2019-11-28 12:38:25 +0200 |
commit | e37ffb6cf5796fc45787046830d84b9d316c0186 (patch) | |
tree | 91bc6f0171c47a90a3a531b2906cf126b189515d /ext/mixed/js/display.js | |
parent | 5a1046bc906a74ca39906a52acc62fc702a658f2 (diff) |
fix scroll issues in Display.entryScrollIntoView
- Save scroll context before scrolling to top
- Explicit null check for scroll param to handle scrolling to y=0
correctly
Diffstat (limited to 'ext/mixed/js/display.js')
-rw-r--r-- | ext/mixed/js/display.js | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 2396805a..27100fd2 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -61,7 +61,6 @@ class Display { if (!this.context) { return; } const link = e.target; - this.windowScroll.toY(0); const context = { source: { type: 'terms', @@ -77,6 +76,8 @@ class Display { url: this.context.url }; + this.windowScroll.toY(0); + const definitions = await apiKanjiFind(link.textContent, this.getOptionsContext()); this.setContentKanji(definitions, context); } catch (error) { @@ -110,10 +111,6 @@ class Display { const scannedElement = e.target; const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt); - if (!disableScroll) { - this.windowScroll.toY(0); - } - const context = { source: disableHistory ? this.context.source : { type: 'terms', @@ -132,6 +129,10 @@ class Display { this.setContentTerms(definitions, context); + if (!disableScroll) { + this.windowScroll.toY(0); + } + if (selectText) { textSource.select(); } @@ -481,7 +482,7 @@ class Display { this.windowScroll.stop(); let target; - if (scroll) { + if (scroll !== null) { target = scroll; } else { target = index === 0 || entry === null ? 0 : Display.getElementTop(entry); |