From 0b20f85793176858ebbadd71b346242681644b98 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 27 Mar 2024 22:50:03 +0800 Subject: [PATCH] :art: The outline item in the outline panel supports dragging to adjust the level and position https://github.com/siyuan-note/siyuan/issues/7957 --- kernel/model/outline.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/model/outline.go b/kernel/model/outline.go index 027fad24b..2f367c33e 100644 --- a/kernel/model/outline.go +++ b/kernel/model/outline.go @@ -84,6 +84,9 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) { child := headingChildren[i] if ast.NodeHeading == child.Type { child.HeadingLevel -= diffLevel + if 6 < child.HeadingLevel { + child.HeadingLevel = 6 + } } targetNode.InsertAfter(child) } @@ -111,7 +114,7 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) { } } - diffLevel := heading.HeadingLevel - parentHeading.HeadingLevel + diffLevel := 1 heading.HeadingLevel = parentHeading.HeadingLevel + 1 if 6 < heading.HeadingLevel { heading.HeadingLevel = 6 @@ -120,7 +123,10 @@ func (tx *Transaction) doMoveOutlineHeading(operation *Operation) (ret *TxErr) { for i := len(headingChildren) - 1; i >= 0; i-- { child := headingChildren[i] if ast.NodeHeading == child.Type { - child.HeadingLevel -= diffLevel + child.HeadingLevel += diffLevel + if 6 < child.HeadingLevel { + child.HeadingLevel = 6 + } } targetNode.InsertAfter(child) }