From b493aaee2e8e743831928011d58a31613c0d1ad0 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 30 Dec 2024 10:46:22 +0800 Subject: [PATCH] :art: Improve list item deletion https://github.com/siyuan-note/siyuan/issues/13617 --- kernel/model/transaction.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index c5cbcbb31..2f4ab6114 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -792,9 +792,17 @@ func (tx *Transaction) doDelete(operation *Operation) (ret *TxErr) { node.Unlink() if nil != parent && ast.NodeListItem == parent.Type && nil == parent.FirstChild { - // 保持空列表项 - node.FirstChild = nil - parent.AppendChild(node) + needAppendEmptyListItem := true + for _, op := range tx.DoOperations { + if "insert" == op.Action && op.ParentID == parent.ID { + needAppendEmptyListItem = false + break + } + } + + if needAppendEmptyListItem { + parent.AppendChild(treenode.NewParagraph(ast.NewNodeID())) + } } treenode.RemoveBlockTree(node.ID)