🎨 Database filtering follows search case sensitive settings https://github.com/siyuan-note/siyuan/issues/16585

Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
Daniel 2026-01-17 18:20:30 +08:00
parent feaa7938ff
commit e1ebb1f151
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 38 additions and 9 deletions

View file

@ -749,32 +749,50 @@ func filterTextContent(operator FilterOperator, valueContent, otherValueContent
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return valueContent == otherValueContent
if util.SearchCaseSensitive {
return valueContent == otherValueContent
}
return strings.EqualFold(valueContent, otherValueContent)
case FilterOperatorIsNotEqual:
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return valueContent != otherValueContent
if util.SearchCaseSensitive {
return valueContent != otherValueContent
}
return !strings.EqualFold(valueContent, otherValueContent)
case FilterOperatorContains:
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return strings.Contains(valueContent, otherValueContent)
if util.SearchCaseSensitive {
return strings.Contains(valueContent, otherValueContent)
}
return strings.Contains(strings.ToLower(valueContent), strings.ToLower(otherValueContent))
case FilterOperatorDoesNotContain:
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return !strings.Contains(valueContent, otherValueContent)
if util.SearchCaseSensitive {
return !strings.Contains(valueContent, otherValueContent)
}
return !strings.Contains(strings.ToLower(valueContent), strings.ToLower(otherValueContent))
case FilterOperatorStartsWith:
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return strings.HasPrefix(valueContent, otherValueContent)
if util.SearchCaseSensitive {
return strings.HasPrefix(valueContent, otherValueContent)
}
return strings.HasPrefix(strings.ToLower(valueContent), strings.ToLower(otherValueContent))
case FilterOperatorEndsWith:
if "" == strings.TrimSpace(otherValueContent) {
return true
}
return strings.HasSuffix(valueContent, otherValueContent)
if util.SearchCaseSensitive {
return strings.HasSuffix(valueContent, otherValueContent)
}
return strings.HasSuffix(strings.ToLower(valueContent), strings.ToLower(otherValueContent))
case FilterOperatorIsEmpty:
return "" == strings.TrimSpace(valueContent)
case FilterOperatorIsNotEmpty: