From 7956a60dcc067b24667bc2f48bb85f1a95e43a8d Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 3 Mar 2024 22:44:47 +0800 Subject: [PATCH 1/2] :art: Adding rows after setting the sort field in the database table view no longer fills in the default value https://github.com/siyuan-note/siyuan/issues/10486 --- kernel/av/filter.go | 10 +++++++++- kernel/model/attribute_view.go | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/kernel/av/filter.go b/kernel/av/filter.go index cc88993dd..c0ca29abd 100644 --- a/kernel/av/filter.go +++ b/kernel/av/filter.go @@ -78,7 +78,15 @@ const ( ) func (filter *ViewFilter) GetAffectValue(key *Key) (ret *Value) { - // Improve adding rows of the filtered database table view https://github.com/siyuan-note/siyuan/issues/10025 + if nil != filter.Value && filter.Value.IsGenerated() { + // 自动生成类型的过滤条件不设置默认值 + return nil + } + + if nil == filter.Value && nil != filter.RelativeDate { + // 相对日期今天的动态日期不设置默认值 + return nil + } ret = filter.Value.Clone() switch filter.Value.Type { diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 8d714ad9b..c58c6a62a 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -1738,6 +1738,9 @@ func addAttributeViewBlock(avID, previousBlockID, blockID string, isDetached boo for _, keyValues := range attrView.KeyValues { if keyValues.Key.ID == filter.Column { newValue := filter.GetAffectValue(keyValues.Key) + if nil == newValue { + continue + } newValue.ID = ast.NewNodeID() newValue.KeyID = keyValues.Key.ID newValue.BlockID = blockID From 061380744b46562b4ec76052ef72e55ac7ab8c7f Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 3 Mar 2024 22:48:58 +0800 Subject: [PATCH 2/2] :art: Support database date field relative to today's filtering https://github.com/siyuan-note/siyuan/issues/10451 --- kernel/av/table.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/av/table.go b/kernel/av/table.go index deba919c3..552479b27 100644 --- a/kernel/av/table.go +++ b/kernel/av/table.go @@ -294,7 +294,7 @@ func (value *Value) CompareOperator(filter *ViewFilter, attrView *AttributeView, } func (value *Value) compareOperator(filter *ViewFilter) bool { - if nil == filter || nil == filter.Value { + if nil == filter || (nil == filter.Value && nil == filter.RelativeDate) { return true } @@ -403,7 +403,6 @@ func (value *Value) compareOperator(filter *ViewFilter) bool { // 计算今天的起始时间 relativeTime = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location()) } - case RelativeDateUnitWeek: relativeTime = now.AddDate(0, 0, count*7*int(direction)) if FilterOperatorIsBetween == operator && RelativeDateDirectionThis == direction {