Pārlūkot izejas kodu

:bug: Fix unexpected paging of API getAttributeViewPrimaryKeyValues https://github.com/siyuan-note/siyuan/issues/12827

Daniel 8 mēneši atpakaļ
vecāks
revīzija
50242026ec
1 mainītis faili ar 7 papildinājumiem un 18 dzēšanām
  1. 7 18
      kernel/model/attribute_view.go

+ 7 - 18
kernel/model/attribute_view.go

@@ -209,28 +209,17 @@ func GetAttributeViewPrimaryKeyValues(avID, keyword string, page, pageSize int)
 	databaseBlockIDs = treenode.GetMirrorAttrViewBlockIDs(avID)
 	databaseBlockIDs = treenode.GetMirrorAttrViewBlockIDs(avID)
 
 
 	keyValues = attrView.GetBlockKeyValues()
 	keyValues = attrView.GetBlockKeyValues()
-	// 过滤掉不在视图中的值
-	tmp := map[string]*av.Value{}
+	var values []*av.Value
 	for _, kv := range keyValues.Values {
 	for _, kv := range keyValues.Values {
-		for _, view := range attrView.Views {
-			switch view.LayoutType {
-			case av.LayoutTypeTable:
-				if !kv.IsDetached {
-					if !treenode.ExistBlockTree(kv.BlockID) {
-						break
-					}
-				}
-
-				tmp[kv.Block.ID] = kv
-			}
+		if !kv.IsDetached && !treenode.ExistBlockTree(kv.BlockID) {
+			continue
 		}
 		}
-	}
-	keyValues.Values = []*av.Value{}
-	for _, v := range tmp {
-		if strings.Contains(strings.ToLower(v.String(true)), strings.ToLower(keyword)) {
-			keyValues.Values = append(keyValues.Values, v)
+
+		if strings.Contains(strings.ToLower(kv.String(true)), strings.ToLower(keyword)) {
+			values = append(values, kv)
 		}
 		}
 	}
 	}
+	keyValues.Values = values
 
 
 	if 1 > pageSize {
 	if 1 > pageSize {
 		pageSize = 16
 		pageSize = 16