Focus the text box at appropriate times
This commit is contained in:
parent
90f6764cbf
commit
b31794cda5
|
@ -2,7 +2,25 @@ var React = require('react');
|
|||
|
||||
var MatrixClientPeg = require("../MatrixClientPeg");
|
||||
|
||||
var dis = require("../dispatcher");
|
||||
|
||||
module.exports = React.createClass({
|
||||
componentDidMount: function() {
|
||||
this.dispatcherRef = dis.register(this.onAction);
|
||||
},
|
||||
|
||||
componentWillUnmount: function() {
|
||||
dis.unregister(this.dispatcherRef);
|
||||
},
|
||||
|
||||
onAction: function(payload) {
|
||||
switch (payload.action) {
|
||||
case 'focus_composer':
|
||||
this.refs.textarea.getDOMNode().focus();
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
onKeyDown: function (ev) {
|
||||
if (ev.keyCode == 13) {
|
||||
var contentText = this.refs.textarea.getDOMNode().value;
|
||||
|
|
|
@ -27,12 +27,20 @@ module.exports = React.createClass({
|
|||
if (this.state.logged_in) {
|
||||
this.startMatrixClient();
|
||||
}
|
||||
this.focusComposer = false;
|
||||
},
|
||||
|
||||
componentWillUnmount: function() {
|
||||
dis.unregister(this.dispatcherRef);
|
||||
},
|
||||
|
||||
componentDidUpdate: function() {
|
||||
if (this.focusComposer) {
|
||||
dis.dispatch({action: 'focus_composer'});
|
||||
this.focusComposer = false;
|
||||
}
|
||||
},
|
||||
|
||||
onAction: function(payload) {
|
||||
switch (payload.action) {
|
||||
case 'logout':
|
||||
|
@ -47,6 +55,7 @@ module.exports = React.createClass({
|
|||
this.setState({
|
||||
currentRoom: payload.room_id
|
||||
});
|
||||
this.focusComposer = true;
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
@ -65,6 +74,7 @@ module.exports = React.createClass({
|
|||
firstRoom = cli.getRooms()[0].roomId;
|
||||
}
|
||||
that.setState({ready: true, currentRoom: firstRoom});
|
||||
dis.dispatch({action: 'focus_composer'});
|
||||
});
|
||||
cli.startClient();
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue