From 60ef2059486ce29605612602866db854197f07e7 Mon Sep 17 00:00:00 2001 From: McMatts Date: Fri, 8 Nov 2019 12:45:22 +0000 Subject: [PATCH] Improve jump-to-section scrolling --- gui/app/components/document/view-content.js | 2 +- gui/app/services/browser.js | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gui/app/components/document/view-content.js b/gui/app/components/document/view-content.js index bf9431201..c4a8dfdad 100644 --- a/gui/app/components/document/view-content.js +++ b/gui/app/components/document/view-content.js @@ -45,12 +45,12 @@ export default Component.extend(Notifier, { didInsertElement() { this._super(...arguments); - this.jumpToSection(this.get('currentPageId')); }, didRender() { this._super(...arguments); + this.jumpToSection(this.get('currentPageId')); this.contentLinkHandler(); }, diff --git a/gui/app/services/browser.js b/gui/app/services/browser.js index 2ff5d59e0..210f4f194 100644 --- a/gui/app/services/browser.js +++ b/gui/app/services/browser.js @@ -11,7 +11,6 @@ import $ from 'jquery'; import Service, { inject as service } from '@ember/service'; -import { schedule } from '@ember/runloop'; export default Service.extend({ sessionService: service('session'), @@ -42,15 +41,17 @@ export default Service.extend({ }, scrollTo(id) { - schedule('afterRender', () => { - let elem = $(id).offset(); - if (_.isUndefined(elem)) return; + let elem = $(id).offset(); + if (_.isUndefined(elem)) return; - $('html, body').animate({ - scrollTop: elem.top - }, 250); - }); - }, + $('html, body').animate({ + scrollTop: elem.top + }, 250); + }, + + waitScrollTo(id) { + setTimeout(() => { this.scrollTo(id); }, 1000); + }, downloadFile(content, filename) { let b = new Blob([content], { type: 'text/html' });