From 253ad72913815587dd67d9538386a005d1eac077 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 29 Jun 2025 17:06:05 +0800 Subject: [PATCH 1/5] :sparkles: Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 --- kernel/av/av.go | 1 + kernel/av/layout.go | 4 ++++ kernel/av/layout_gallery.go | 4 ++++ kernel/av/layout_table.go | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/kernel/av/av.go b/kernel/av/av.go index ed258d8fe..6b55bf51d 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -247,6 +247,7 @@ func NewGalleryView() (ret *View) { type Viewable interface { Filterable Sortable + Groupable Calculable GetType() LayoutType diff --git a/kernel/av/layout.go b/kernel/av/layout.go index 1e1ad606f..ae5a7738a 100644 --- a/kernel/av/layout.go +++ b/kernel/av/layout.go @@ -300,3 +300,7 @@ func filter0(collection Collection, attrView *AttributeView) { } collection.SetItems(items) } + +func group0(collection Collection, attrView *AttributeView) { + // TODO 分组 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964 +} diff --git a/kernel/av/layout_gallery.go b/kernel/av/layout_gallery.go index 45c357866..3a14f568b 100644 --- a/kernel/av/layout_gallery.go +++ b/kernel/av/layout_gallery.go @@ -196,3 +196,7 @@ func (gallery *Gallery) Sort(attrView *AttributeView) { func (gallery *Gallery) Filter(attrView *AttributeView) { filter0(gallery, attrView) } + +func (gallery *Gallery) Group(attrView *AttributeView) { + group0(gallery, attrView) +} diff --git a/kernel/av/layout_table.go b/kernel/av/layout_table.go index 8fb65f3ae..b47a42e9b 100644 --- a/kernel/av/layout_table.go +++ b/kernel/av/layout_table.go @@ -169,3 +169,7 @@ func (table *Table) Sort(attrView *AttributeView) { func (table *Table) Filter(attrView *AttributeView) { filter0(table, attrView) } + +func (table *Table) Group(attrView *AttributeView) { + group0(table, attrView) +} From e3827c81512b1e2e91da03f33a42bf4d231d249b Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 29 Jun 2025 17:32:31 +0800 Subject: [PATCH 2/5] :recycle: https://github.com/siyuan-note/siyuan/issues/15162 --- kernel/av/av_fix.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/kernel/av/av_fix.go b/kernel/av/av_fix.go index 6905d44b8..0bee1cb85 100644 --- a/kernel/av/av_fix.go +++ b/kernel/av/av_fix.go @@ -34,7 +34,7 @@ func upgradeSpec2(av *AttributeView) { return } - // 如果存在 view.table.filters/sorts/pageSize 则复制覆盖到 view.filters/sorts/pageSize 下后置空 + // 如果存在 view.table.filters/sorts/pageSize 则复制覆盖到 view.filters/sorts/pageSize for _, view := range av.Views { if 1 > len(view.Filters) { view.Filters = []*ViewFilter{} @@ -47,17 +47,14 @@ func upgradeSpec2(av *AttributeView) { } if nil != view.Table { - if 0 < len(view.Table.Filters) { + if 0 < len(view.Table.Filters) && 1 > len(view.Filters) { view.Filters = append(view.Filters, view.Table.Filters...) - view.Table.Filters = nil } - if 0 < len(view.Table.Sorts) { + if 0 < len(view.Table.Sorts) && 1 > len(view.Sorts) { view.Sorts = append(view.Sorts, view.Table.Sorts...) - view.Table.Sorts = nil } if 0 < view.Table.PageSize { view.PageSize = view.Table.PageSize - view.Table.PageSize = 0 } } From c440cc45a27c2a660d2bdf63483f672bf94f156c Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 29 Jun 2025 17:37:49 +0800 Subject: [PATCH 3/5] :recycle: https://github.com/siyuan-note/siyuan/issues/15162 --- kernel/av/av_fix.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/av/av_fix.go b/kernel/av/av_fix.go index 0bee1cb85..f2eb09b3c 100644 --- a/kernel/av/av_fix.go +++ b/kernel/av/av_fix.go @@ -77,7 +77,7 @@ func upgradeSpec2(av *AttributeView) { } av.Spec = 2 - logging.LogInfof("av [%s] upgraded to spec 2", av.ID) + logging.LogInfof("av [%s] upgraded to spec [%d]", av.ID, av.Spec) } func upgradeSpec1(av *AttributeView) { @@ -210,5 +210,5 @@ func upgradeSpec1(av *AttributeView) { } av.Spec = 1 - logging.LogInfof("av [%s] upgraded to spec 1", av.ID) + logging.LogInfof("av [%s] upgraded to spec [%d]", av.ID, av.Spec) } From e13be622cb1f4bb3c371f25489705e839786ac99 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 29 Jun 2025 17:45:37 +0800 Subject: [PATCH 4/5] :recycle: https://github.com/siyuan-note/siyuan/issues/15162 --- kernel/av/layout.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/av/layout.go b/kernel/av/layout.go index ae5a7738a..352f4f550 100644 --- a/kernel/av/layout.go +++ b/kernel/av/layout.go @@ -26,11 +26,11 @@ type BaseLayout struct { // 以下三个字段已经废弃,计划于 2026 年 6 月 30 日后删除 https://github.com/siyuan-note/siyuan/issues/15162 //Deprecated - Filters []*ViewFilter `json:"filters,omitempty"` //Deprecated 过滤规则 + Filters []*ViewFilter `json:"filters,omitempty"` // 过滤规则 //Deprecated - Sorts []*ViewSort `json:"sorts,omitempty"` //Deprecated 排序规则 + Sorts []*ViewSort `json:"sorts,omitempty"` // 排序规则 //Deprecated - PageSize int `json:"pageSize,omitempty"` //Deprecated 每页条目数 + PageSize int `json:"pageSize,omitempty"` // 每页条目数 } // BaseValue 描述了字段值的基础结构。 From d95998d9ca72be66a2a1faef20aa2e4534251366 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 29 Jun 2025 17:45:52 +0800 Subject: [PATCH 5/5] :recycle: https://github.com/siyuan-note/siyuan/issues/15162 --- kernel/av/layout.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/av/layout.go b/kernel/av/layout.go index 352f4f550..c3d7e2fb8 100644 --- a/kernel/av/layout.go +++ b/kernel/av/layout.go @@ -23,7 +23,7 @@ type BaseLayout struct { Spec int `json:"spec"` // 布局格式版本 ID string `json:"id"` // 布局 ID - // 以下三个字段已经废弃,计划于 2026 年 6 月 30 日后删除 https://github.com/siyuan-note/siyuan/issues/15162 + // TODO 以下三个字段已经废弃,计划于 2026 年 6 月 30 日后删除 https://github.com/siyuan-note/siyuan/issues/15162 //Deprecated Filters []*ViewFilter `json:"filters,omitempty"` // 过滤规则