From 0d1c06d586dc6770db63db24675aff52082292b3 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 15 Nov 2015 21:37:22 +0000 Subject: [PATCH] relayout whenever the input textarea's scrollheight increases --- src/controllers/molecules/MessageComposer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/controllers/molecules/MessageComposer.js b/src/controllers/molecules/MessageComposer.js index 5fd0c8d915..5c8813dff6 100644 --- a/src/controllers/molecules/MessageComposer.js +++ b/src/controllers/molecules/MessageComposer.js @@ -34,6 +34,8 @@ var TYPING_USER_TIMEOUT = 10000; var TYPING_SERVER_TIMEOUT = 30000; module.exports = { + oldScrollHeight: 0, + componentWillMount: function() { this.tabStruct = { completing: false, @@ -211,16 +213,14 @@ module.exports = { // kick gemini-scrollbar to re-layout this.props.roomView.forceUpdate(); } + this.oldScrollHeight = this.refs.textarea.scrollHeight; }, onKeyUp: function(ev) { - if (ev.keyCode === KeyCode.ENTER || + if (this.refs.textarea.scrollHeight !== this.oldScrollHeight || ev.keyCode === KeyCode.DELETE || ev.keyCode === KeyCode.BACKSPACE) { - // resize to fit. - // XXX: ideally we should fire this onChange, but as it's fairly heavy we - // optimise and only resie on enter or delete/backspace. this.resizeInput(); } },