From 6a9eb455fcf37561856b89b5830e2adf42697580 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 13 Aug 2025 17:00:42 +0800 Subject: [PATCH 1/4] :art: Improve av https://github.com/siyuan-note/siyuan/issues/15560 --- kernel/model/attribute_view.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 3c6ec55a3..f93aeba7c 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -74,6 +74,11 @@ func GetAttrViewAddingBlockDefaultValues(avID, viewID, groupID, previousBlockID, } ret = getAttrViewAddingBlockDefaultValues(attrView, view, groupView, previousBlockID, addingBlockID) + if 1 > len(ret) { + if 2 > len(view.Groups) && 1 > len(groupView.GroupItemIDs) { // 只有一个分组并且没有项目时忽略 + ignore = true + } + } return } From 7595477257ecc3f029cedb2681263d9af15d7a19 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 13 Aug 2025 17:01:29 +0800 Subject: [PATCH 2/4] :art: Improve av https://github.com/siyuan-note/siyuan/issues/15560 --- kernel/model/attribute_view.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index f93aeba7c..4db1cc3cc 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -75,7 +75,7 @@ func GetAttrViewAddingBlockDefaultValues(avID, viewID, groupID, previousBlockID, ret = getAttrViewAddingBlockDefaultValues(attrView, view, groupView, previousBlockID, addingBlockID) if 1 > len(ret) { - if 2 > len(view.Groups) && 1 > len(groupView.GroupItemIDs) { // 只有一个分组并且没有项目时忽略 + if 2 > len(view.Groups) && 1 > len(groupView.GroupItemIDs) { // 少于两个分组并且没有项目时忽略 ignore = true } } From e0f1f789c3833dd7c640f4a59f708df62126b8ec Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 13 Aug 2025 17:23:27 +0800 Subject: [PATCH 3/4] :bug: https://github.com/siyuan-note/siyuan/issues/13261 --- kernel/model/attribute_view.go | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 4db1cc3cc..9f3a19000 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -4707,10 +4707,26 @@ func updateAttributeViewColumnOptions(operation *Operation) (err error) { return } - for _, keyValues := range attrView.KeyValues { - if keyValues.Key.ID == operation.ID { - keyValues.Key.Options = options - break + selectKey, _ := attrView.GetKey(operation.ID) + if nil == selectKey { + return + } + existingOptions := map[string]*av.SelectOption{} + for _, opt := range selectKey.Options { + existingOptions[opt.Name] = opt + } + for _, opt := range options { + if existingOpt, exists := existingOptions[opt.Name]; exists { + // 如果选项已经存在则更新颜色和描述 + existingOpt.Color = opt.Color + existingOpt.Desc = opt.Desc + } else { + // 如果选项不存在则添加新选项 + selectKey.Options = append(selectKey.Options, &av.SelectOption{ + Name: opt.Name, + Color: opt.Color, + Desc: opt.Desc, + }) } } From 3d1d0c6def519493af148e296f1ab498e02c9691 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 13 Aug 2025 17:32:03 +0800 Subject: [PATCH 4/4] :bug: https://github.com/siyuan-note/siyuan/issues/15550 --- kernel/model/attribute_view.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 9f3a19000..1213b8bf3 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -3606,11 +3606,11 @@ func sortAttributeViewRow(operation *Operation) (err error) { } } targetGroupView.GroupItemIDs = util.InsertElem(targetGroupView.GroupItemIDs, previousIndex, itemID) + } - if av.KeyTypeMSelect == groupKey.Type || av.KeyTypeRelation == groupKey.Type { - // 跨多选分组时一个项目可能会同时存在于多个分组中,需要重新生成分组 - regenAttrViewGroups(attrView, "force") - } + if av.KeyTypeMSelect == groupKey.Type || av.KeyTypeRelation == groupKey.Type { + // 跨多选分组时一个项目可能会同时存在于多个分组中,需要重新生成分组 + regenAttrViewGroups(attrView, "force") } } else { // 同分组内排序 for i, r := range groupView.GroupItemIDs {