fix: Allow soft breaks in paragraphs with Shift-Enter
This commit is contained in:
@@ -2,6 +2,7 @@ import { NodeSpec, NodeType } from "prosemirror-model";
|
||||
import { EditorState } from "prosemirror-state";
|
||||
import { isInTable } from "prosemirror-tables";
|
||||
import { MarkdownSerializerState } from "../lib/markdown/serializer";
|
||||
import isNodeActive from "../queries/isNodeActive";
|
||||
import breakRule from "../rules/breaks";
|
||||
import { Dispatch } from "../types";
|
||||
import Node from "./Node";
|
||||
@@ -36,7 +37,10 @@ export default class HardBreak extends Node {
|
||||
keys({ type }: { type: NodeType }) {
|
||||
return {
|
||||
"Shift-Enter": (state: EditorState, dispatch: Dispatch) => {
|
||||
if (!isInTable(state)) {
|
||||
if (
|
||||
!isInTable(state) &&
|
||||
!isNodeActive(state.schema.nodes.paragraph)(state)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
dispatch(state.tr.replaceSelectionWith(type.create()).scrollIntoView());
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
import { setBlockType } from "prosemirror-commands";
|
||||
import { NodeSpec, NodeType, Node as ProsemirrorNode } from "prosemirror-model";
|
||||
import { EditorState } from "prosemirror-state";
|
||||
import { MarkdownSerializerState } from "../lib/markdown/serializer";
|
||||
import isNodeActive from "../queries/isNodeActive";
|
||||
import { Dispatch } from "../types";
|
||||
import Node from "./Node";
|
||||
|
||||
export default class Paragraph extends Node {
|
||||
@@ -23,14 +20,6 @@ export default class Paragraph extends Node {
|
||||
keys({ type }: { type: NodeType }) {
|
||||
return {
|
||||
"Shift-Ctrl-0": setBlockType(type),
|
||||
"Shift-Enter": (state: EditorState, dispatch: Dispatch) => {
|
||||
if (!isNodeActive(type)(state)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
dispatch(state.tr.insertText("\n"));
|
||||
return true;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user