From 45465e12efe3350ed7319a282599e8bb85f24ef9 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 30 Dec 2025 17:53:04 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16730 Signed-off-by: Daniel <845765@qq.com> --- kernel/av/filter.go | 13 +++++++++++++ kernel/model/attribute_view.go | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/kernel/av/filter.go b/kernel/av/filter.go index 587293c56..960d40b36 100644 --- a/kernel/av/filter.go +++ b/kernel/av/filter.go @@ -1005,6 +1005,19 @@ func calcRelativeTimeRegion(count int, unit RelativeDateUnit, direction Relative return } +func (filter *ViewFilter) IsValid() bool { + if nil == filter || nil == filter.Value { + return false + } + + if FilterOperatorIsEmpty != filter.Operator && FilterOperatorIsNotEmpty != filter.Operator { + if filter.Value.IsEmpty() && nil == filter.RelativeDate { + return false + } + } + return true +} + func (filter *ViewFilter) GetAffectValue(key *Key, addingBlockID string) (ret *Value) { if nil != filter.Value { if KeyTypeRelation == filter.Value.Type || KeyTypeTemplate == filter.Value.Type || KeyTypeRollup == filter.Value.Type || KeyTypeUpdated == filter.Value.Type || KeyTypeCreated == filter.Value.Type { diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index e5d3b7f67..f11f2e623 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -196,6 +196,11 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group } newValue := filter.GetAffectValue(keyValues.Key, addingItemID) + if nil == newValue { + if filter.IsValid() { + newValue = getNewValueByNearItem(nearItem, keyValues.Key, addingItemID) + } + } if nil != newValue { if av.KeyTypeDate == keyValues.Key.Type { if nil != nearItem {