From de17a8e8569d54d1bf247ed328330c1ed8d85a9d Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Wed, 29 Nov 2017 09:54:57 +0800 Subject: [PATCH] UX: Sync input and preview when user is typing. --- .../discourse/components/composer-editor.js.es6 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/components/composer-editor.js.es6 b/app/assets/javascripts/discourse/components/composer-editor.js.es6 index f74e2e4ab9..170cf2fd11 100644 --- a/app/assets/javascripts/discourse/components/composer-editor.js.es6 +++ b/app/assets/javascripts/discourse/components/composer-editor.js.es6 @@ -137,8 +137,6 @@ export default Ember.Component.extend({ }); Ember.run.schedule("afterRender", () => { - $input.scrollTop(0); - $input.on('touchstart mouseenter', () => { if (!$preview.is(":visible")) return; $preview.off('scroll'); @@ -146,6 +144,14 @@ export default Ember.Component.extend({ $input.on('scroll', () => { this._syncScroll(this._syncEditorAndPreviewScroll, $input, $preview); }); + + $input.on('keypress', () => { + Ember.run.debounce( + this, + this._syncScroll, this._syncEditorAndPreviewScroll, $input, $preview, + 200 + ); + }); }); $preview.on('touchstart mouseenter', () => {