mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 07:00:12 +01:00
🎨 Improve fold heading editing https://github.com/siyuan-note/siyuan/issues/15989
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
db31c47760
commit
1e225bacbf
1 changed files with 13 additions and 5 deletions
|
|
@ -1525,17 +1525,25 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) {
|
||||||
syncDelete2AvBlock(n, tree, tx)
|
syncDelete2AvBlock(n, tree, tx)
|
||||||
}
|
}
|
||||||
|
|
||||||
var needUnfoldParentHeading bool
|
// 将不属于折叠标题的块移动到折叠标题下方,需要展开折叠标题
|
||||||
if 0 < oldNode.HeadingLevel && (0 == updatedNode.HeadingLevel || oldNode.HeadingLevel < updatedNode.HeadingLevel) {
|
needUnfoldParentHeading := 0 < oldNode.HeadingLevel && (0 == updatedNode.HeadingLevel || oldNode.HeadingLevel < updatedNode.HeadingLevel)
|
||||||
// 将不属于折叠标题的块移动到折叠标题下方,需要展开折叠标题
|
|
||||||
needUnfoldParentHeading = true
|
parentFoldedHeading := treenode.GetParentFoldedHeading(oldNode)
|
||||||
|
// 将原先折叠标题下的块提升为与折叠标题同级或更高一级的标题时,需要在折叠标题后插入该提升后的标题块(只需要推送界面插入)
|
||||||
|
if needInsertAfterParentHeading := nil != parentFoldedHeading && 0 != updatedNode.HeadingLevel && updatedNode.HeadingLevel <= parentFoldedHeading.HeadingLevel; needInsertAfterParentHeading {
|
||||||
|
evt := util.NewCmdResult("transactions", 0, util.PushModeBroadcast)
|
||||||
|
evt.Data = []*Transaction{{
|
||||||
|
DoOperations: []*Operation{{Action: "insert", ID: updatedNode.ID, PreviousID: parentFoldedHeading.ID, Data: data}},
|
||||||
|
UndoOperations: []*Operation{{Action: "delete", ID: updatedNode.ID}},
|
||||||
|
}}
|
||||||
|
util.PushEvent(evt)
|
||||||
}
|
}
|
||||||
|
|
||||||
oldNode.InsertAfter(updatedNode)
|
oldNode.InsertAfter(updatedNode)
|
||||||
oldNode.Unlink()
|
oldNode.Unlink()
|
||||||
|
|
||||||
if needUnfoldParentHeading {
|
if needUnfoldParentHeading {
|
||||||
parentFoldedHeading := treenode.GetParentFoldedHeading(updatedNode)
|
parentFoldedHeading = treenode.GetParentFoldedHeading(updatedNode)
|
||||||
unfoldHeading(parentFoldedHeading)
|
unfoldHeading(parentFoldedHeading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue