summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package.json7
-rw-r--r--src/TextareaAutosize.js16
2 files changed, 9 insertions, 14 deletions
diff --git a/package.json b/package.json
index cbe0e77..85e185a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "react-autosize-textarea",
- "version": "0.3.3",
+ "version": "0.4.0",
"description": "replacement for built-in textarea which auto resizes itself",
"main": "index.js",
"scripts": {
@@ -51,9 +51,9 @@
"karma-webpack": "^1.7.0",
"lodash": "^3.10.1",
"mocha": "^2.4.5",
- "react": "^0.14",
+ "react": "^15.4",
"react-addons-test-utils": "^0.14.8 || ^15.0.0",
- "react-dom": "^0.14",
+ "react-dom": "^15.4",
"react-readme-generator": "0.0.1",
"require-dir": "^0.3.0",
"webpack": "^1.12.12",
@@ -65,6 +65,7 @@
},
"dependencies": {
"autosize": "^3.0.15",
+ "eslint-config-buildo": "github:buildo/eslint-config",
"tcomb-react": "^0.9.3"
}
}
diff --git a/src/TextareaAutosize.js b/src/TextareaAutosize.js
index b96bb63..45ebdf1 100644
--- a/src/TextareaAutosize.js
+++ b/src/TextareaAutosize.js
@@ -22,22 +22,16 @@ export default class TextareaAutosize extends React.Component {
rows: 1
};
- getTextareaDOMNode = () => (
- this.refs.textarea.nodeType === 1 ?
- this.refs.textarea :
- ReactDOM.findDOMNode(this.refs.textarea)
- );
-
componentDidMount() {
- autosize(this.getTextareaDOMNode());
+ autosize(this.textarea);
if (this.props.onResize) {
- this.getTextareaDOMNode().addEventListener(RESIZED, this.props.onResize);
+ this.textarea.addEventListener(RESIZED, this.props.onResize);
}
}
componentWillUnmount() {
if (this.props.onResize) {
- this.getTextareaDOMNode().removeEventListener(RESIZED, this.props.onResize);
+ this.textarea.removeEventListener(RESIZED, this.props.onResize);
}
this.dispatchEvent(DESTROY);
}
@@ -45,7 +39,7 @@ export default class TextareaAutosize extends React.Component {
dispatchEvent = (EVENT_TYPE, defer) => {
const event = document.createEvent('Event');
event.initEvent(EVENT_TYPE, true, false);
- const dispatch = () => this.getTextareaDOMNode().dispatchEvent(event);
+ const dispatch = () => this.textarea.dispatchEvent(event);
if (defer) {
setTimeout(dispatch);
} else {
@@ -58,7 +52,7 @@ export default class TextareaAutosize extends React.Component {
render() {
const { children, onResize, ...props } = this.props; // eslint-disable-line no-unused-vars
return (
- <textarea {...props} ref='textarea'>
+ <textarea {...props} ref={ref => this.textarea = ref}>
{children}
</textarea>
);