mirror of https://github.com/vector-im/riot-web
				
				
				
			Focus the text box at appropriate times
							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
	
	 David Baker
						David Baker