mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 22:50:13 +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
260c35fc94
commit
d84538da74
1 changed files with 7 additions and 5 deletions
|
|
@ -1528,12 +1528,12 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) {
|
|||
// 将不属于折叠标题的块移动到折叠标题下方,需要展开折叠标题
|
||||
needUnfoldParentHeading := 0 < oldNode.HeadingLevel && (0 == updatedNode.HeadingLevel || oldNode.HeadingLevel < updatedNode.HeadingLevel)
|
||||
|
||||
parentFoldedHeading := treenode.GetParentFoldedHeading(oldNode)
|
||||
oldParentFoldedHeading := treenode.GetParentFoldedHeading(oldNode)
|
||||
// 将原先折叠标题下的块提升为与折叠标题同级或更高一级的标题时,需要在折叠标题后插入该提升后的标题块(只需要推送界面插入)
|
||||
if needInsertAfterParentHeading := nil != parentFoldedHeading && 0 != updatedNode.HeadingLevel && updatedNode.HeadingLevel <= parentFoldedHeading.HeadingLevel; needInsertAfterParentHeading {
|
||||
if needInsertAfterParentHeading := nil != oldParentFoldedHeading && 0 != updatedNode.HeadingLevel && updatedNode.HeadingLevel <= oldParentFoldedHeading.HeadingLevel; needInsertAfterParentHeading {
|
||||
evt := util.NewCmdResult("transactions", 0, util.PushModeBroadcast)
|
||||
evt.Data = []*Transaction{{
|
||||
DoOperations: []*Operation{{Action: "insert", ID: updatedNode.ID, PreviousID: parentFoldedHeading.ID, Data: data}},
|
||||
DoOperations: []*Operation{{Action: "insert", ID: updatedNode.ID, PreviousID: oldParentFoldedHeading.ID, Data: data}},
|
||||
UndoOperations: []*Operation{{Action: "delete", ID: updatedNode.ID}},
|
||||
}}
|
||||
util.PushEvent(evt)
|
||||
|
|
@ -1543,8 +1543,10 @@ func (tx *Transaction) doUpdate(operation *Operation) (ret *TxErr) {
|
|||
oldNode.Unlink()
|
||||
|
||||
if needUnfoldParentHeading {
|
||||
parentFoldedHeading = treenode.GetParentFoldedHeading(updatedNode)
|
||||
unfoldHeading(parentFoldedHeading)
|
||||
newParentFoldedHeading := treenode.GetParentFoldedHeading(updatedNode)
|
||||
if nil == oldParentFoldedHeading || (nil != newParentFoldedHeading && oldParentFoldedHeading.ID != newParentFoldedHeading.ID) {
|
||||
unfoldHeading(newParentFoldedHeading)
|
||||
}
|
||||
}
|
||||
|
||||
createdUpdated(updatedNode)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue