From 4694a8c6c11d81bebe7bfb4ecbf93cf068383038 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 28 Jul 2025 11:17:27 +0800 Subject: [PATCH] :art: Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 --- kernel/model/attribute_view.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 24d419aae..b65310ad7 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -3558,15 +3558,21 @@ func sortAttributeViewRow(operation *Operation) (err error) { groupView.GroupItemIDs = append(groupView.GroupItemIDs, itemID) idx = len(groupView.GroupItemIDs) - 1 } - groupView.GroupItemIDs = append(groupView.GroupItemIDs[:idx], groupView.GroupItemIDs[idx+1:]...) - for i, r := range groupView.GroupItemIDs { - if r == operation.PreviousID { - previousIndex = i + 1 - break - } + + targetGroupView := groupView + if operation.GroupID != operation.TargetGroupID { // 跨分组拖拽 + targetGroupView = view.GetGroup(operation.TargetGroupID) + } + if nil != targetGroupView { + for i, r := range targetGroupView.GroupItemIDs { + if r == operation.PreviousID { + previousIndex = i + 1 + break + } + } + targetGroupView.GroupItemIDs = util.InsertElem(targetGroupView.GroupItemIDs, previousIndex, itemID) } - groupView.GroupItemIDs = util.InsertElem(view.ItemIDs, previousIndex, itemID) } } else { for i, id := range view.ItemIDs {