function keyCommandPlainDelete()

in src/component/handlers/edit/commands/keyCommandPlainDelete.js [25:53]


function keyCommandPlainDelete(editorState: EditorState): EditorState {
  const afterRemoval = removeTextWithStrategy(
    editorState,
    strategyState => {
      const selection = strategyState.getSelection();
      const content = strategyState.getCurrentContent();
      const key = selection.getAnchorKey();
      const offset = selection.getAnchorOffset();
      const charAhead = content.getBlockForKey(key).getText()[offset];
      return moveSelectionForward(
        strategyState,
        charAhead ? UnicodeUtils.getUTF16Length(charAhead, 0) : 1,
      );
    },
    'forward',
  );

  if (afterRemoval === editorState.getCurrentContent()) {
    return editorState;
  }

  const selection = editorState.getSelection();

  return EditorState.push(
    editorState,
    afterRemoval.setSelectionBefore(selection),
    selection.isCollapsed() ? 'delete-character' : 'remove-range',
  );
}