diff --git a/app/editor/components/CommandMenu.tsx b/app/editor/components/CommandMenu.tsx index 4f828e9d9..cf172db1e 100644 --- a/app/editor/components/CommandMenu.tsx +++ b/app/editor/components/CommandMenu.tsx @@ -36,7 +36,7 @@ export type Props = { onFileUploadStop?: () => void; onShowToast: (message: string) => void; onLinkToolbarOpen?: () => void; - onClose: () => void; + onClose: (insertNewLine?: boolean) => void; onClearSearch: () => void; embeds?: EmbedDescriptor[]; renderMenuItem: ( @@ -123,7 +123,7 @@ class CommandMenu extends React.Component, State> { if (item) { this.insertItem(item); } else { - this.props.onClose(); + this.props.onClose(true); } } diff --git a/app/editor/index.tsx b/app/editor/index.tsx index a17c6d8e1..0de98128f 100644 --- a/app/editor/index.tsx +++ b/app/editor/index.tsx @@ -554,7 +554,14 @@ export class Editor extends React.PureComponent< this.setState({ blockMenuOpen: true, blockMenuSearch: search }); }; - private handleCloseBlockMenu = () => { + private handleCloseBlockMenu = (insertNewLine?: boolean) => { + if (insertNewLine) { + const transaction = this.view.state.tr.split( + this.view.state.selection.to + ); + this.view.dispatch(transaction); + this.view.focus(); + } if (!this.state.blockMenuOpen) { return; }