diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-26 18:22:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-26 18:22:23 +0200 |
commit | c48772fd3f12fac1ee28c8cfc521daedcb4d26c9 (patch) | |
tree | 3e880df1bd061304231843016306edcb1c020269 | |
parent | 860e257a6895030db112a3e81f6d0a3e398a7b74 (diff) |
Introduce react-textarea-autosize instead of using style.height side effects (#3334)
-rw-r--r-- | app/javascript/mastodon/components/autosuggest_textarea.js | 13 | ||||
-rw-r--r-- | app/javascript/mastodon/features/compose/components/compose_form.js | 1 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | yarn.lock | 6 |
4 files changed, 10 insertions, 11 deletions
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js index 9372e6146..10efd17fb 100644 --- a/app/javascript/mastodon/components/autosuggest_textarea.js +++ b/app/javascript/mastodon/components/autosuggest_textarea.js @@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import { isRtl } from '../rtl'; import ImmutablePureComponent from 'react-immutable-pure-component'; +import Textarea from 'react-textarea-autosize'; const textAtCursorMatchesToken = (str, caretPosition) => { let word; @@ -69,10 +70,6 @@ class AutosuggestTextarea extends ImmutablePureComponent { this.props.onSuggestionsClearRequested(); } - // auto-resize textarea - e.target.style.height = 'auto'; - e.target.style.height = `${e.target.scrollHeight}px`; - this.props.onChange(e); } @@ -160,10 +157,6 @@ class AutosuggestTextarea extends ImmutablePureComponent { } } - reset () { - this.textarea.style.height = 'auto'; - } - render () { const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props; const { suggestionsHidden, selectedSuggestion } = this.state; @@ -175,8 +168,8 @@ class AutosuggestTextarea extends ImmutablePureComponent { return ( <div className='autosuggest-textarea'> - <textarea - ref={this.setTextarea} + <Textarea + inputRef={this.setTextarea} className='autosuggest-textarea__textarea' disabled={disabled} placeholder={placeholder} diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js index 43b76e353..5fa074f4b 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.js +++ b/app/javascript/mastodon/features/compose/components/compose_form.js @@ -67,7 +67,6 @@ class ComposeForm extends ImmutablePureComponent { } handleSubmit = () => { - this.autosuggestTextarea.reset(); this.props.onSubmit(); } diff --git a/package.json b/package.json index edded55c6..4bf7431e3 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "react-router": "^2.8.0", "react-router-scroll": "^0.3.2", "react-simple-dropdown": "^1.1.4", + "react-textarea-autosize": "^5.0.6", "react-toggle": "^2.1.1", "redis": "^2.6.5", "redux": "^3.6.0", diff --git a/yarn.lock b/yarn.lock index 31ba0ee6f..5274f2160 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5590,6 +5590,12 @@ react-test-renderer@^15.5.4: fbjs "^0.8.9" object-assign "^4.1.0" +react-textarea-autosize@^5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-5.0.6.tgz#a3742e0a319484021b4dbfa1519df287768f2133" + dependencies: + prop-types "^15.5.8" + react-toggle@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/react-toggle/-/react-toggle-2.1.1.tgz#80600a64417a1acc8aaa4c1477f7fbdb88b988fb" |