瀏覽代碼

:art: Update av https://github.com/siyuan-note/insider/issues/1110

Daniel 1 年之前
父節點
當前提交
cf06f74e1b
共有 1 個文件被更改,包括 18 次插入6 次删除
  1. 18 6
      kernel/av/table.go

+ 18 - 6
kernel/av/table.go

@@ -135,7 +135,24 @@ func (value *Value) CompareOperator(other *Value, operator FilterOperator) bool
 	}
 
 	if nil != value.Block && nil != other.Block {
-		return strings.Contains(value.Block.Content, other.Block.Content)
+		switch operator {
+		case FilterOperatorIsEqual:
+			return value.Block.Content == other.Block.Content
+		case FilterOperatorIsNotEqual:
+			return value.Block.Content != other.Block.Content
+		case FilterOperatorContains:
+			return strings.Contains(value.Block.Content, other.Block.Content)
+		case FilterOperatorDoesNotContain:
+			return !strings.Contains(value.Block.Content, other.Block.Content)
+		case FilterOperatorStartsWith:
+			return strings.HasPrefix(value.Block.Content, other.Block.Content)
+		case FilterOperatorEndsWith:
+			return strings.HasSuffix(value.Block.Content, other.Block.Content)
+		case FilterOperatorIsEmpty:
+			return "" == strings.TrimSpace(value.Block.Content)
+		case FilterOperatorIsNotEmpty:
+			return "" != strings.TrimSpace(value.Block.Content)
+		}
 	}
 
 	if nil != value.Text && nil != other.Text {
@@ -326,11 +343,6 @@ func (table *Table) SortRows() {
 
 	sort.Slice(table.Rows, func(i, j int) bool {
 		for _, colIndexSort := range colIndexSorts {
-			c := table.Columns[colIndexSort.Index]
-			if c.Type == KeyTypeBlock {
-				continue
-			}
-
 			result := table.Rows[i].Cells[colIndexSort.Index].Value.Compare(table.Rows[j].Cells[colIndexSort.Index].Value)
 			if 0 == result {
 				continue