From 6d59de2577845ddaec64016e0e231899eae6e7df Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 2 Aug 2023 12:27:48 +0800 Subject: [PATCH] :art: Update av https://github.com/siyuan-note/insider/issues/1117 --- kernel/av/table.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/kernel/av/table.go b/kernel/av/table.go index 8f96c262e..447a7d03f 100644 --- a/kernel/av/table.go +++ b/kernel/av/table.go @@ -123,6 +123,9 @@ func (value *Value) Compare(other *Value) int { } return strings.Compare(v1, v2) } + if nil != value.URL && nil != other.URL { + return strings.Compare(value.URL.Content, other.URL.Content) + } return 0 } @@ -238,6 +241,28 @@ func (value *Value) CompareOperator(other *Value, operator FilterOperator) bool return 0 != len(value.MSelect) && !(1 == len(value.MSelect) && "" == value.MSelect[0].Content) } } + + if nil != value.URL && nil != other.URL { + switch operator { + case FilterOperatorIsEqual: + return value.URL.Content == other.URL.Content + case FilterOperatorIsNotEqual: + return value.URL.Content != other.URL.Content + case FilterOperatorContains: + return strings.Contains(value.URL.Content, other.URL.Content) + case FilterOperatorDoesNotContain: + return !strings.Contains(value.URL.Content, other.URL.Content) + case FilterOperatorStartsWith: + return strings.HasPrefix(value.URL.Content, other.URL.Content) + case FilterOperatorEndsWith: + return strings.HasSuffix(value.URL.Content, other.URL.Content) + case FilterOperatorIsEmpty: + return "" == strings.TrimSpace(value.URL.Content) + case FilterOperatorIsNotEmpty: + return "" != strings.TrimSpace(value.URL.Content) + } + } + return true }