📝 Database rollup field filtering rules support "Any", "All", and "None" https://github.com/siyuan-note/siyuan/issues/15609

This commit is contained in:
Daniel 2025-09-06 08:43:59 +08:00
parent 305bd9dfb0
commit 8ebb617072
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -193,19 +193,8 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
switch filter.Qualifier { switch filter.Qualifier {
case FilterQuantifierUndefined, FilterQuantifierAny: case FilterQuantifierUndefined, FilterQuantifierAny:
for _, content := range value.Rollup.Contents { for _, content := range value.Rollup.Contents {
switch filter.Operator { if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
case FilterOperatorContains: return true
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return true
}
case FilterOperatorDoesNotContain:
if !content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return false
}
default:
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return true
}
} }
} }
case FilterQuantifierAll: case FilterQuantifierAll: