From f575036b6e44ecfdaa6584e618c2cd717be6f9c8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 11 Jun 2025 15:32:12 +0800 Subject: [PATCH 1/4] :art: Database gallery view https://github.com/siyuan-note/siyuan/issues/10414 --- kernel/av/layout.go | 1 + kernel/av/layout_gallery.go | 1 + kernel/av/layout_table.go | 1 - kernel/model/attribute_view.go | 3 ++- kernel/sql/av_table.go | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/av/layout.go b/kernel/av/layout.go index db867d501..720470f8e 100644 --- a/kernel/av/layout.go +++ b/kernel/av/layout.go @@ -50,6 +50,7 @@ type BaseInstanceField struct { Name string `json:"name"` // 字段名 Type KeyType `json:"type"` // 字段类型 Icon string `json:"icon"` // 字段图标 + Wrap bool `json:"wrap"` // 是否换行 Hidden bool `json:"hidden"` // 是否隐藏 Desc string `json:"desc"` // 字段描述 diff --git a/kernel/av/layout_gallery.go b/kernel/av/layout_gallery.go index 86761c549..b3b976008 100644 --- a/kernel/av/layout_gallery.go +++ b/kernel/av/layout_gallery.go @@ -73,6 +73,7 @@ const ( type ViewGalleryCardField struct { ID string `json:"id"` // 字段 ID + Wrap bool `json:"wrap"` // 是否换行 Hidden bool `json:"hidden"` // 是否隐藏 Desc string `json:"desc,omitempty"` // 字段描述 } diff --git a/kernel/av/layout_table.go b/kernel/av/layout_table.go index 220e4f10a..672d357d1 100644 --- a/kernel/av/layout_table.go +++ b/kernel/av/layout_table.go @@ -67,7 +67,6 @@ type Table struct { type TableColumn struct { *BaseInstanceField - Wrap bool `json:"wrap"` // 是否换行 Pin bool `json:"pin"` // 是否固定 Width string `json:"width"` // 列宽度 Calc *ColumnCalc `json:"calc"` // 计算 diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index bd2a209a2..5621abfa8 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -68,7 +68,6 @@ func changeAttrViewLayout(operation *Operation) (err error) { return } - view.LayoutType = newLayout switch newLayout { case av.LayoutTypeTable: if nil != view.Table { @@ -102,6 +101,7 @@ func changeAttrViewLayout(operation *Operation) (err error) { } } + view.LayoutType = newLayout err = av.SaveAttributeView(attrView) return } @@ -1859,6 +1859,7 @@ func (tx *Transaction) doDuplicateAttrViewView(operation *Operation) (ret *TxErr for _, field := range masterView.Gallery.CardFields { view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{ ID: field.ID, + Wrap: field.Wrap, Hidden: field.Hidden, Desc: field.Desc, }) diff --git a/kernel/sql/av_table.go b/kernel/sql/av_table.go index 4dd5d9117..955f16a14 100644 --- a/kernel/sql/av_table.go +++ b/kernel/sql/av_table.go @@ -55,6 +55,7 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s Name: key.Name, Type: key.Type, Icon: key.Icon, + Wrap: col.Wrap, Hidden: col.Hidden, Desc: key.Desc, Options: key.Options, @@ -64,7 +65,6 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s Rollup: key.Rollup, Date: key.Date, }, - Wrap: col.Wrap, Width: col.Width, Pin: col.Pin, Calc: col.Calc, From fa5d560a3b1273883c489bd4b5074d41768e6e68 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 11 Jun 2025 15:46:13 +0800 Subject: [PATCH 2/4] :art: Database gallery view https://github.com/siyuan-note/siyuan/issues/10414 --- kernel/av/layout.go | 1 - kernel/av/layout_gallery.go | 1 - kernel/av/layout_table.go | 1 + kernel/sql/av_table.go | 2 +- 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/kernel/av/layout.go b/kernel/av/layout.go index 720470f8e..db867d501 100644 --- a/kernel/av/layout.go +++ b/kernel/av/layout.go @@ -50,7 +50,6 @@ type BaseInstanceField struct { Name string `json:"name"` // 字段名 Type KeyType `json:"type"` // 字段类型 Icon string `json:"icon"` // 字段图标 - Wrap bool `json:"wrap"` // 是否换行 Hidden bool `json:"hidden"` // 是否隐藏 Desc string `json:"desc"` // 字段描述 diff --git a/kernel/av/layout_gallery.go b/kernel/av/layout_gallery.go index b3b976008..86761c549 100644 --- a/kernel/av/layout_gallery.go +++ b/kernel/av/layout_gallery.go @@ -73,7 +73,6 @@ const ( type ViewGalleryCardField struct { ID string `json:"id"` // 字段 ID - Wrap bool `json:"wrap"` // 是否换行 Hidden bool `json:"hidden"` // 是否隐藏 Desc string `json:"desc,omitempty"` // 字段描述 } diff --git a/kernel/av/layout_table.go b/kernel/av/layout_table.go index 672d357d1..220e4f10a 100644 --- a/kernel/av/layout_table.go +++ b/kernel/av/layout_table.go @@ -67,6 +67,7 @@ type Table struct { type TableColumn struct { *BaseInstanceField + Wrap bool `json:"wrap"` // 是否换行 Pin bool `json:"pin"` // 是否固定 Width string `json:"width"` // 列宽度 Calc *ColumnCalc `json:"calc"` // 计算 diff --git a/kernel/sql/av_table.go b/kernel/sql/av_table.go index 955f16a14..4dd5d9117 100644 --- a/kernel/sql/av_table.go +++ b/kernel/sql/av_table.go @@ -55,7 +55,6 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s Name: key.Name, Type: key.Type, Icon: key.Icon, - Wrap: col.Wrap, Hidden: col.Hidden, Desc: key.Desc, Options: key.Options, @@ -65,6 +64,7 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s Rollup: key.Rollup, Date: key.Date, }, + Wrap: col.Wrap, Width: col.Width, Pin: col.Pin, Calc: col.Calc, From 9856ffc84a2e918c9d1bcbd853aef8c4da2bf1ea Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 11 Jun 2025 15:49:14 +0800 Subject: [PATCH 3/4] :art: Database gallery view https://github.com/siyuan-note/siyuan/issues/10414 --- kernel/model/attribute_view.go | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 5621abfa8..815d13de7 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -1859,7 +1859,6 @@ func (tx *Transaction) doDuplicateAttrViewView(operation *Operation) (ret *TxErr for _, field := range masterView.Gallery.CardFields { view.Gallery.CardFields = append(view.Gallery.CardFields, &av.ViewGalleryCardField{ ID: field.ID, - Wrap: field.Wrap, Hidden: field.Hidden, Desc: field.Desc, }) From 7e86374d145505056ab025d8bccb3c3b90df9ecf Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 11 Jun 2025 16:03:37 +0800 Subject: [PATCH 4/4] :art: Database gallery view https://github.com/siyuan-note/siyuan/issues/10414 --- kernel/av/av.go | 14 +++++++------- kernel/model/attribute_view.go | 8 ++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/kernel/av/av.go b/kernel/av/av.go index 762b92f23..df523d7bf 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -205,7 +205,7 @@ const ( func NewTableView() (ret *View) { ret = &View{ ID: ast.NewNodeID(), - Name: getI18nName("table"), + Name: GetAttributeViewI18n("table"), LayoutType: LayoutTypeTable, Table: NewLayoutTable(), } @@ -213,17 +213,17 @@ func NewTableView() (ret *View) { } func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKey *Key) { - name := getI18nName("table") + name := GetAttributeViewI18n("table") view = &View{ ID: ast.NewNodeID(), Name: name, LayoutType: LayoutTypeTable, Table: NewLayoutTable(), } - blockKey = NewKey(blockKeyID, getI18nName("key"), "", KeyTypeBlock) + blockKey = NewKey(blockKeyID, GetAttributeViewI18n("key"), "", KeyTypeBlock) view.Table.Columns = []*ViewTableColumn{{ID: blockKeyID}} - selectKey = NewKey(ast.NewNodeID(), getI18nName("select"), "", KeyTypeSelect) + selectKey = NewKey(ast.NewNodeID(), GetAttributeViewI18n("select"), "", KeyTypeSelect) view.Table.Columns = append(view.Table.Columns, &ViewTableColumn{ID: selectKey.ID}) return } @@ -231,7 +231,7 @@ func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKe func NewGalleryView() (ret *View) { ret = &View{ ID: ast.NewNodeID(), - Name: getI18nName("gallery"), + Name: GetAttributeViewI18n("gallery"), LayoutType: LayoutTypeGallery, Gallery: NewLayoutGallery(), } @@ -601,8 +601,8 @@ func GetAttributeViewDataPath(avID string) (ret string) { return } -func getI18nName(name string) string { - return util.AttrViewLangs[util.Lang][name].(string) +func GetAttributeViewI18n(key string) string { + return util.AttrViewLangs[util.Lang][key].(string) } var ( diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 815d13de7..ef3675a0a 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -70,6 +70,10 @@ func changeAttrViewLayout(operation *Operation) (err error) { switch newLayout { case av.LayoutTypeTable: + if view.Name == av.GetAttributeViewI18n("gallery") { + view.Name = av.GetAttributeViewI18n("table") + } + if nil != view.Table { break } @@ -85,6 +89,10 @@ func changeAttrViewLayout(operation *Operation) (err error) { } } case av.LayoutTypeGallery: + if view.Name == av.GetAttributeViewI18n("table") { + view.Name = av.GetAttributeViewI18n("gallery") + } + if nil != view.Gallery { break }