mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 15:10:12 +01:00
🐛 Improve outline dnd https://github.com/siyuan-note/siyuan/issues/10828
This commit is contained in:
parent
577837894f
commit
d45bec5665
1 changed files with 3 additions and 13 deletions
|
|
@ -63,16 +63,6 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) {
|
||||||
|
|
||||||
headingChildren := treenode.HeadingChildren(heading)
|
headingChildren := treenode.HeadingChildren(heading)
|
||||||
|
|
||||||
// 过滤掉超级块结束节点
|
|
||||||
var tmp []*ast.Node
|
|
||||||
for _, child := range headingChildren {
|
|
||||||
if ast.NodeSuperBlockCloseMarker == child.Type {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
tmp = append(tmp, child)
|
|
||||||
}
|
|
||||||
headingChildren = tmp
|
|
||||||
|
|
||||||
if "" != previousID {
|
if "" != previousID {
|
||||||
previousHeading := treenode.GetNodeInTree(tree, previousID)
|
previousHeading := treenode.GetNodeInTree(tree, previousID)
|
||||||
if nil == previousHeading {
|
if nil == previousHeading {
|
||||||
|
|
@ -142,7 +132,7 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) {
|
||||||
parentHeadingChildren := treenode.HeadingChildren(parentHeading)
|
parentHeadingChildren := treenode.HeadingChildren(parentHeading)
|
||||||
|
|
||||||
// 找到下方第一个非标题节点
|
// 找到下方第一个非标题节点
|
||||||
tmp = nil
|
var tmp []*ast.Node
|
||||||
for _, child := range parentHeadingChildren {
|
for _, child := range parentHeadingChildren {
|
||||||
if ast.NodeHeading == child.Type {
|
if ast.NodeHeading == child.Type {
|
||||||
break
|
break
|
||||||
|
|
@ -160,7 +150,7 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
diffLevel := 1
|
diffLevel := heading.HeadingLevel - parentHeading.HeadingLevel - 1
|
||||||
heading.HeadingLevel = parentHeading.HeadingLevel + 1
|
heading.HeadingLevel = parentHeading.HeadingLevel + 1
|
||||||
if 6 < heading.HeadingLevel {
|
if 6 < heading.HeadingLevel {
|
||||||
heading.HeadingLevel = 6
|
heading.HeadingLevel = 6
|
||||||
|
|
@ -169,7 +159,7 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) {
|
||||||
for i := len(headingChildren) - 1; i >= 0; i-- {
|
for i := len(headingChildren) - 1; i >= 0; i-- {
|
||||||
child := headingChildren[i]
|
child := headingChildren[i]
|
||||||
if ast.NodeHeading == child.Type {
|
if ast.NodeHeading == child.Type {
|
||||||
child.HeadingLevel += diffLevel
|
child.HeadingLevel -= diffLevel
|
||||||
if 6 < child.HeadingLevel {
|
if 6 < child.HeadingLevel {
|
||||||
child.HeadingLevel = 6
|
child.HeadingLevel = 6
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue