Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2025-10-12 11:31:05 +08:00
commit bf38219c0a

View file

@ -912,12 +912,8 @@ func (tx *Transaction) doDelete(operation *Operation) (ret *TxErr) {
node.Next.Unlink() node.Next.Unlink()
} }
next := node.Next
node.Unlink() node.Unlink()
parentFoldedHeading := treenode.GetParentFoldedHeading(next)
unfoldHeading(parentFoldedHeading)
if nil != parent && ast.NodeListItem == parent.Type && nil == parent.FirstChild { if nil != parent && ast.NodeListItem == parent.Type && nil == parent.FirstChild {
needAppendEmptyListItem := true needAppendEmptyListItem := true
for _, op := range tx.DoOperations { for _, op := range tx.DoOperations {
@ -1281,8 +1277,15 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) {
} }
node.InsertAfter(insertedNode) node.InsertAfter(insertedNode)
parentFoldedHeading := treenode.GetParentFoldedHeading(insertedNode) keepFold := false
unfoldHeading(parentFoldedHeading) if nil != operation.Context && nil != operation.Context["keepFold"] {
keepFoldArg := operation.Context["keepFold"]
keepFold = keepFoldArg.(bool)
}
if !keepFold {
parentFoldedHeading := treenode.GetParentFoldedHeading(insertedNode)
unfoldHeading(parentFoldedHeading)
}
} else { } else {
node = treenode.GetNodeInTree(tree, operation.ParentID) node = treenode.GetNodeInTree(tree, operation.ParentID)
if nil == node { if nil == node {