Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2025-10-11 17:00:35 +08:00
commit 99246f24d3
3 changed files with 32 additions and 21 deletions

View file

@ -157,10 +157,6 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
// 单独处理汇总
if nil != value.Rollup && KeyTypeRollup == value.Type && nil != filter.Value && KeyTypeRollup == filter.Value.Type && nil != filter.Value.Rollup {
if 1 > len(filter.Value.Rollup.Contents) {
return true
}
key, _ := attrView.GetKey(value.KeyID)
if nil == key {
return false
@ -200,10 +196,16 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
if FilterOperatorIsEmpty == filter.Operator {
return true
} else if FilterOperatorIsNotEmpty == filter.Operator {
return false
if 0 < len(value.Rollup.Contents) {
return true
}
}
}
if 1 > len(filter.Value.Rollup.Contents) {
return true
}
for _, content := range value.Rollup.Contents {
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return true
@ -220,6 +222,10 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
}
}
if 1 > len(filter.Value.Rollup.Contents) {
return true
}
for _, content := range value.Rollup.Contents {
if !content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return false
@ -235,6 +241,10 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
}
}
if 1 > len(filter.Value.Rollup.Contents) {
return true
}
for _, content := range value.Rollup.Contents {
if content.filter(filter.Value.Rollup.Contents[0], filter.RelativeDate, filter.RelativeDate2, filter.Operator) {
return false
@ -282,15 +292,16 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
// 单独处理资源
if nil != value.MAsset && KeyTypeMAsset == value.Type && nil != filter.Value && KeyTypeMAsset == filter.Value.Type {
if 1 > len(filter.Value.MAsset) {
return true
}
key, _ := attrView.GetKey(value.KeyID)
if nil == key {
return false
}
var filterContent string
if 1 <= len(filter.Value.MAsset) {
filterContent = filter.Value.MAsset[0].Content
}
switch filter.Qualifier {
case FilterQuantifierUndefined, FilterQuantifierAny:
if 1 > len(value.MAsset) { // 说明资源字段为空
@ -304,12 +315,12 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
for _, asset := range value.MAsset {
switch asset.Type {
case AssetTypeFile:
if filterTextContent(filter.Operator, asset.Name, filter.Value.MAsset[0].Content) ||
filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if filterTextContent(filter.Operator, asset.Name, filterContent) ||
filterTextContent(filter.Operator, asset.Content, filterContent) {
return true
}
case AssetTypeImage:
if filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if filterTextContent(filter.Operator, asset.Content, filterContent) {
return true
}
}
@ -326,12 +337,12 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
for _, asset := range value.MAsset {
switch asset.Type {
case AssetTypeFile:
if !filterTextContent(filter.Operator, asset.Name, filter.Value.MAsset[0].Content) &&
!filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if !filterTextContent(filter.Operator, asset.Name, filterContent) &&
!filterTextContent(filter.Operator, asset.Content, filterContent) {
return false
}
case AssetTypeImage:
if !filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if !filterTextContent(filter.Operator, asset.Content, filterContent) {
return false
}
}
@ -350,17 +361,17 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s
switch asset.Type {
case AssetTypeFile:
if "" != strings.TrimSpace(asset.Name) {
if filterTextContent(filter.Operator, asset.Name, filter.Value.MAsset[0].Content) {
if filterTextContent(filter.Operator, asset.Name, filterContent) {
return false
}
}
if "" != strings.TrimSpace(asset.Content) {
if filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if filterTextContent(filter.Operator, asset.Content, filterContent) {
return false
}
}
case AssetTypeImage:
if filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) {
if filterTextContent(filter.Operator, asset.Content, filterContent) {
return false
}
}

View file

@ -58,7 +58,7 @@ require (
github.com/sashabaranov/go-openai v1.41.2
github.com/shirou/gopsutil/v4 v4.25.9
github.com/siyuan-note/dataparser v0.0.0-20250804100744-b41253b236f3
github.com/siyuan-note/dejavu v0.0.0-20251010020807-e50148909b03
github.com/siyuan-note/dejavu v0.0.0-20251011030034-d7e5aa18aadd
github.com/siyuan-note/encryption v0.0.0-20250326023622-24a67e6956ec
github.com/siyuan-note/eventbus v0.0.0-20240627125516-396fdb0f0f97
github.com/siyuan-note/filelock v0.0.0-20251010020544-2603449ff16d

View file

@ -375,8 +375,8 @@ github.com/shurcooL/gofontwoff v0.0.0-20181114050219-180f79e6909d/go.mod h1:05Ut
github.com/simplereach/timeutils v1.2.0/go.mod h1:VVbQDfN/FHRZa1LSqcwo4kNZ62OOyqLLGQKYB3pB0Q8=
github.com/siyuan-note/dataparser v0.0.0-20250804100744-b41253b236f3 h1:EH063L0HD1f82DvddurUmEXS0obXypv8pQrcaC/zNgI=
github.com/siyuan-note/dataparser v0.0.0-20250804100744-b41253b236f3/go.mod h1:8lb+SsWAPQblGbjmwEBsBdJszMCcLeECtB95fv6mReg=
github.com/siyuan-note/dejavu v0.0.0-20251010020807-e50148909b03 h1:dKqzqYqoWx88CFh/Bm/U1uvoaItJXX9pPM3/PZ8JDqs=
github.com/siyuan-note/dejavu v0.0.0-20251010020807-e50148909b03/go.mod h1:fdVodB/Jr2nj1gIlT2Ys7N8318Z67l+3yhSEwo2FteY=
github.com/siyuan-note/dejavu v0.0.0-20251011030034-d7e5aa18aadd h1:NW2Bd601ZCBUveU5L85RXqYWwMYDOhd/PAX+obuEZm0=
github.com/siyuan-note/dejavu v0.0.0-20251011030034-d7e5aa18aadd/go.mod h1:fdVodB/Jr2nj1gIlT2Ys7N8318Z67l+3yhSEwo2FteY=
github.com/siyuan-note/encryption v0.0.0-20250326023622-24a67e6956ec h1:D8Sjwa+7WxP3XrIBscT4PxBZZddZ83/O+5nX1sq6g6g=
github.com/siyuan-note/encryption v0.0.0-20250326023622-24a67e6956ec/go.mod h1:6iAxXPOOAG3+M4bCiKQZTQ+n4gSUx/OyHhsP57dJlS8=
github.com/siyuan-note/eventbus v0.0.0-20240627125516-396fdb0f0f97 h1:lM5v8BfNtbOL5jYwhCdMYBcYtr06IYBKjjSLAPMKTM8=