diff --git a/src/RichText.js b/src/RichText.js index 7ffb4dd785..d867636dc9 100644 --- a/src/RichText.js +++ b/src/RichText.js @@ -223,42 +223,6 @@ export function selectionStateToTextOffsets(selectionState: SelectionState, }; } -export function textOffsetsToSelectionState({start, end}: SelectionRange, - contentBlocks: Array): SelectionState { - let selectionState = SelectionState.createEmpty(); - // Subtract block lengths from `start` and `end` until they are less than the current - // block length (accounting for the NL at the end of each block). Set them to -1 to - // indicate that the corresponding selection state has been determined. - for (const block of contentBlocks) { - const blockLength = block.getLength(); - // -1 indicating that the position start position has been found - if (start !== -1) { - if (start < blockLength + 1) { - selectionState = selectionState.merge({ - anchorKey: block.getKey(), - anchorOffset: start, - }); - start = -1; // selection state for the start calculated - } else { - start -= blockLength + 1; // +1 to account for newline between blocks - } - } - // -1 indicating that the position end position has been found - if (end !== -1) { - if (end < blockLength + 1) { - selectionState = selectionState.merge({ - focusKey: block.getKey(), - focusOffset: end, - }); - end = -1; // selection state for the end calculated - } else { - end -= blockLength + 1; // +1 to account for newline between blocks - } - } - } - return selectionState; -} - // modified version of https://github.com/draft-js-plugins/draft-js-plugins/blob/master/draft-js-emoji-plugin/src/modifiers/attachImmutableEntitiesToEmojis.js export function attachImmutableEntitiesToEmoji(editorState: EditorState): EditorState { const contentState = editorState.getCurrentContent(); diff --git a/src/components/views/rooms/MessageComposerInput.js b/src/components/views/rooms/MessageComposerInput.js index 2a59ccbe7d..3e8d3cd868 100644 --- a/src/components/views/rooms/MessageComposerInput.js +++ b/src/components/views/rooms/MessageComposerInput.js @@ -494,14 +494,6 @@ export default class MessageComposerInput extends React.Component { if (this.props.onContentChanged) { this.props.onContentChanged(textContent, selection); } - - // Scroll to the bottom of the editor if the cursor is on the last line of the - // composer. For some reason the editor won't scroll automatically if we paste - // blocks of text in or insert newlines. - if (textContent.slice(selection.start).indexOf("\n") === -1) { - let editorRoot = this.refs.editor.refs.editor.parentNode.parentNode; - editorRoot.scrollTop = editorRoot.scrollHeight; - } */ }); } @@ -933,7 +925,7 @@ export default class MessageComposerInput extends React.Component { else { const scrollCorrection = editorNode.scrollHeight - editorNode.clientHeight - editorNode.scrollTop; - const distanceFromBottom = cursorRect.bottom - editorRect.bottom + scrollCorrection; + const distanceFromBottom = editorRect.bottom - cursorRect.bottom + scrollCorrection; console.log(`Cursor distance from editor bottom is ${distanceFromBottom}`); if (distanceFromBottom < EDGE_THRESHOLD) { navigateHistory = true; @@ -1082,28 +1074,6 @@ export default class MessageComposerInput extends React.Component { // this.refs.editor.focus(); }); -/* - let selection; - if (range) { - selection = RichText.textOffsetsToSelectionState( - range, contentState.getBlocksAsArray(), - ); - } else { - selection = activeEditorState.getSelection(); - } - - contentState = Modifier.replaceText(contentState, selection, completion, null, entityKey); - - // Move the selection to the end of the block - const afterSelection = contentState.getSelectionAfter(); - if (suffix) { - contentState = Modifier.replaceText(contentState, afterSelection, suffix); - } - - let editorState = EditorState.push(activeEditorState, contentState, 'insert-characters'); - editorState = EditorState.forceSelection(editorState, contentState.getSelectionAfter()); - this.setState({editorState, originalEditorState: activeEditorState}); -*/ return true; };