pass caret to history manager upon initial render

otherwise caret is put at editor start when undoing last step
pull/21833/head
Bruno Windels 2019-08-01 11:28:01 +02:00
parent 234404e598
commit 9d49a5bb73
1 changed files with 3 additions and 5 deletions

View File

@ -315,9 +315,7 @@ export default class MessageEditor extends React.Component {
componentDidMount() {
this._createEditorModel();
// initial render of model
this._updateEditorState();
// initial caret position
this._initializeCaret();
this._updateEditorState(this._getInitialCaretPosition());
// attach input listener by hand so React doesn't proxy the events,
// as the proxied event doesn't support inputType, which we need.
this._editorRef.addEventListener("input", this._onInput, true);
@ -350,7 +348,7 @@ export default class MessageEditor extends React.Component {
);
}
_initializeCaret() {
_getInitialCaretPosition() {
const {editState} = this.props;
let caretPosition;
if (editState.hasEditorState()) {
@ -362,7 +360,7 @@ export default class MessageEditor extends React.Component {
// otherwise, set it at the end
caretPosition = this.model.getPositionAtEnd();
}
setCaretPosition(this._editorRef, this.model, caretPosition);
return caretPosition;
}
render() {