diff --git a/src/components/views/rooms/BasicMessageComposer.js b/src/components/views/rooms/BasicMessageComposer.js index bf006ca815..4a17ec6066 100644 --- a/src/components/views/rooms/BasicMessageComposer.js +++ b/src/components/views/rooms/BasicMessageComposer.js @@ -241,4 +241,8 @@ export default class BasicMessageEditor extends React.Component { > ); } + + focus() { + this._editorRef.focus(); + } } diff --git a/src/components/views/rooms/SendMessageComposer.js b/src/components/views/rooms/SendMessageComposer.js index 0bdb901dc9..301a0f08d1 100644 --- a/src/components/views/rooms/SendMessageComposer.js +++ b/src/components/views/rooms/SendMessageComposer.js @@ -82,13 +82,23 @@ export default class SendMessageComposer extends React.Component { const {caret} = getCaretOffsetAndText(this._editorRef, sel); const parts = this.model.serializeParts(); this.props.editState.setEditorState(caret, parts); + dis.unregister(this.dispatcherRef); } componentWillMount() { const partCreator = new PartCreator(this.props.room, this.context.matrixClient); this.model = new EditorModel([], partCreator); + this.dispatcherRef = dis.register(this.onAction); } + onAction = (payload) => { + switch (payload.action) { + case 'focus_composer': + this._editorRef.focus(); + break; + } + }; + render() { //
//