import Editor from '../api/Editor'; import { EditorEvent } from '../api/util/EventDispatcher'; import VK from '../api/util/VK'; import * as InsertNewLine from '../newline/InsertNewLine'; import { endTypingLevelIgnoreLocks } from '../undo/TypingState'; const handleEnterKeyEvent = (editor: Editor, event: EditorEvent) => { if (event.isDefaultPrevented()) { return; } event.preventDefault(); endTypingLevelIgnoreLocks(editor.undoManager); editor.undoManager.transact(() => { InsertNewLine.insert(editor, event); }); }; const setup = (editor: Editor): void => { editor.on('keydown', (event: EditorEvent) => { if (event.keyCode === VK.ENTER) { handleEnterKeyEvent(editor, event); } }); }; export { setup };