fix: prevent to copy the style in some cases when pressing the enter key in the front of the text

This commit is contained in:
Lucas.Xu
2022-09-26 16:55:06 +08:00
parent 49fb0470ab
commit ec97735e94
2 changed files with 10 additions and 1 deletions

View File

@ -117,12 +117,17 @@ ShortcutEventHandler enterWithoutShiftInTextNodesHandler =
makeFollowingNodesIncremental(editorState, insertPath, afterSelection,
beginNum: prevNumber);
} else {
bool needCopyAttributes = ![
BuiltInAttributeKey.heading,
BuiltInAttributeKey.quote,
].contains(subtype);
TransactionBuilder(editorState)
..insertNode(
textNode.path,
textNode.copyWith(
children: LinkedList(),
delta: Delta(),
attributes: needCopyAttributes ? null : {},
),
)
..afterSelection = afterSelection
@ -173,7 +178,9 @@ ShortcutEventHandler enterWithoutShiftInTextNodesHandler =
Attributes _attributesFromPreviousLine(TextNode textNode) {
final prevAttributes = textNode.attributes;
final subType = textNode.subtype;
if (subType == null || subType == BuiltInAttributeKey.heading) {
if (subType == null ||
subType == BuiltInAttributeKey.heading ||
subType == BuiltInAttributeKey.quote) {
return {};
}

View File

@ -124,6 +124,8 @@ class _AppFlowyKeyboardState extends State<AppFlowyKeyboard>
final result = shortcutEvent.handler(widget.editorState, event);
if (result == KeyEventResult.handled) {
return KeyEventResult.handled;
} else if (result == KeyEventResult.skipRemainingHandlers) {
return KeyEventResult.skipRemainingHandlers;
}
continue;
}