From 46716ab502c50c40a27da1ac21a6fdcb406f6f5d Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 30 Jan 2026 19:16:20 +0800 Subject: [PATCH] :art: Default create a select field for grouping in Kanban view https://github.com/siyuan-note/siyuan/issues/16940 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/attribute_view.go | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index b1751a2d1..7a7e7ffca 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -3111,8 +3111,28 @@ func getKanbanPreferredGroupKey(attrView *av.AttributeView) (ret *av.Key) { break } } + if nil == ret { - ret = attrView.GetBlockKey() + name := av.GetAttributeViewI18n("select") + ret = av.NewKey(ast.NewNodeID(), name, "", av.KeyTypeSelect) + attrView.KeyValues = append(attrView.KeyValues, &av.KeyValues{Key: ret}) + for _, view := range attrView.Views { + newField := &av.BaseField{ID: ret.ID} + if nil != view.Table { + newField.Wrap = view.Table.WrapField + view.Table.Columns = append(view.Table.Columns, &av.ViewTableColumn{BaseField: newField}) + } + + if nil != view.Gallery { + newField.Wrap = view.Gallery.WrapField + view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{BaseField: newField}) + } + + if nil != view.Kanban { + newField.Wrap = view.Kanban.WrapField + view.Kanban.Fields = append(view.Kanban.Fields, &av.ViewKanbanField{BaseField: newField}) + } + } } return }