diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:04:13 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-09-06 23:11:58 -0700 |
commit | d8bd57901e33a7057e26e782e295099ffcc0da89 (patch) | |
tree | e12dfc8cad42b1576756d19d7fbfd82646a009bf /webapp/components/autosize_textarea.jsx | |
parent | 7bc8e9a08dfde56387f946fdf5086252aa4d0491 (diff) | |
download | chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.gz chat-d8bd57901e33a7057e26e782e295099ffcc0da89.tar.bz2 chat-d8bd57901e33a7057e26e782e295099ffcc0da89.zip |
Removing webapp
Diffstat (limited to 'webapp/components/autosize_textarea.jsx')
-rw-r--r-- | webapp/components/autosize_textarea.jsx | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/webapp/components/autosize_textarea.jsx b/webapp/components/autosize_textarea.jsx deleted file mode 100644 index 17d07b59a..000000000 --- a/webapp/components/autosize_textarea.jsx +++ /dev/null @@ -1,102 +0,0 @@ -import PropTypes from 'prop-types'; - -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; - -export default class AutosizeTextarea extends React.Component { - static propTypes = { - value: PropTypes.string, - placeholder: PropTypes.string, - onHeightChange: PropTypes.func - } - - constructor(props) { - super(props); - - this.height = 0; - } - - get value() { - return this.refs.textarea.value; - } - - set value(value) { - this.refs.textarea.value = value; - } - - componentDidUpdate() { - this.recalculateSize(); - } - - recalculateSize() { - const height = this.refs.reference.scrollHeight; - - if (height > 0 && height !== this.height) { - const textarea = this.refs.textarea; - - const style = getComputedStyle(textarea); - const borderWidth = parseInt(style.borderTopWidth, 10) + parseInt(style.borderBottomWidth, 10); - - // Directly change the height to avoid circular rerenders - textarea.style.height = String(height + borderWidth) + 'px'; - - this.height = height; - - if (this.props.onHeightChange) { - this.props.onHeightChange(height, parseInt(style.maxHeight, 10)); - } - } - } - - getDOMNode() { - return this.refs.textarea; - } - - render() { - const props = {...this.props}; - - Reflect.deleteProperty(props, 'onHeightChange'); - Reflect.deleteProperty(props, 'providers'); - Reflect.deleteProperty(props, 'channelId'); - - const { - value, - placeholder, - id, - ...otherProps - } = props; - - const heightProps = {}; - if (this.height <= 0) { - // Set an initial number of rows so that the textarea doesn't appear too large when its first rendered - heightProps.rows = 1; - } else { - heightProps.height = this.height; - } - - return ( - <div> - <textarea - ref='textarea' - id={id + '-textarea'} - {...heightProps} - {...props} - /> - <div style={{height: 0, overflow: 'hidden'}}> - <textarea - ref='reference' - id={id + '-reference'} - style={{height: 'auto', width: '100%'}} - disabled={true} - value={value} - placeholder={placeholder} - rows='1' - {...otherProps} - /> - </div> - </div> - ); - } -} |