From 53c41561c820534ae7d7c591ba1fef342e123399 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 22 Aug 2025 17:30:40 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/15656 --- kernel/model/attribute_view.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index b4c582a4b..9983552b3 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -3907,43 +3907,48 @@ func AddAttributeViewKey(avID, keyID, keyName, keyType, keyIcon, previousKeyID s attrView.KeyValues = append(attrView.KeyValues, &av.KeyValues{Key: key}) for _, view := range attrView.Views { + newField := &av.BaseField{ID: key.ID} if nil != view.Table { + newField.Wrap = view.Table.WrapField + if "" == previousKeyID { if av.LayoutTypeGallery == currentView.LayoutType { // 如果当前视图是卡片视图则添加到最后 - view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: &av.BaseField{ID: key.ID}}) + view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: newField}) } else { - view.Table.Columns = append([]*av.ViewTableColumn{{BaseField: &av.BaseField{ID: key.ID}}}, view.Table.Columns...) + view.Table.Columns = append([]*av.ViewTableColumn{{BaseField: newField}}, view.Table.Columns...) } } else { added := false for i, column := range view.Table.Columns { if column.ID == previousKeyID { - view.Table.Columns = append(view.Table.Columns[:i+1], append([]*av.ViewTableColumn{{BaseField: &av.BaseField{ID: key.ID}}}, view.Table.Columns[i+1:]...)...) + view.Table.Columns = append(view.Table.Columns[:i+1], append([]*av.ViewTableColumn{{BaseField: newField}}, view.Table.Columns[i+1:]...)...) added = true break } } if !added { - view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: &av.BaseField{ID: key.ID}}) + view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: newField}) } } } if nil != view.Gallery { + newField.Wrap = view.Gallery.WrapField + if "" == previousKeyID { - view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: &av.BaseField{ID: key.ID}}) + view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField}) } else { added := false for i, field := range view.Gallery.CardFields { if field.ID == previousKeyID { - view.Gallery.CardFields = append(view.Gallery.CardFields[:i+1], append([]*av.ViewGalleryCardField{{BaseField: &av.BaseField{ID: key.ID}}}, view.Gallery.CardFields[i+1:]...)...) + view.Gallery.CardFields = append(view.Gallery.CardFields[:i+1], append([]*av.ViewGalleryCardField{{BaseField: newField}}, view.Gallery.CardFields[i+1:]...)...) added = true break } } if !added { - view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: &av.BaseField{ID: key.ID}}) + view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField}) } } }