Переглянути джерело

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

Vanessa 1 рік тому
батько
коміт
9c512960bc
4 змінених файлів з 8 додано та 11 видалено
  1. 2 0
      kernel/av/av.go
  2. 5 4
      kernel/model/attribute_view.go
  3. 0 6
      kernel/model/blockial.go
  4. 1 1
      kernel/model/file.go

+ 2 - 0
kernel/av/av.go

@@ -654,4 +654,6 @@ var (
 const (
 	NodeAttrNameAvs = "custom-avs"        // 用于标记块所属的属性视图,逗号分隔 av id
 	NodeAttrView    = "custom-sy-av-view" // 用于标记块所属的属性视图视图 view id Database block support specified view https://github.com/siyuan-note/siyuan/issues/10443
+
+	NodeAttrViewNames = "av-names" // 用于临时标记块所属的属性视图名称,空格分隔
 )

+ 5 - 4
kernel/model/attribute_view.go

@@ -1720,7 +1720,7 @@ func setAttributeViewName(operation *Operation) (err error) {
 	for _, node := range nodes {
 		avNames := getAvNames(node.IALAttr(av.NodeAttrNameAvs))
 		oldAttrs := parse.IAL2Map(node.KramdownIAL)
-		node.SetIALAttr("av-names", avNames)
+		node.SetIALAttr(av.NodeAttrViewNames, avNames)
 		pushBroadcastAttrTransactions(oldAttrs, node)
 	}
 	return
@@ -2087,7 +2087,7 @@ func addAttributeViewBlock(avID, blockID, previousBlockID, addingBlockID string,
 
 		avNames := getAvNames(attrs[av.NodeAttrNameAvs])
 		if "" != avNames {
-			attrs["av-names"] = avNames
+			attrs[av.NodeAttrViewNames] = avNames
 		}
 
 		if nil != tx {
@@ -2202,11 +2202,12 @@ func removeNodeAvID(node *ast.Node, avID string, tx *Transaction, tree *parse.Tr
 		avIDs = existAvIDs
 
 		if 0 == len(avIDs) {
-			delete(attrs, av.NodeAttrNameAvs)
-			node.RemoveIALAttr(av.NodeAttrNameAvs)
+			attrs[av.NodeAttrNameAvs] = ""
 		} else {
 			attrs[av.NodeAttrNameAvs] = strings.Join(avIDs, ",")
 			node.SetIALAttr(av.NodeAttrNameAvs, strings.Join(avIDs, ","))
+			avNames := getAvNames(node.IALAttr(av.NodeAttrNameAvs))
+			attrs[av.NodeAttrViewNames] = avNames
 		}
 	}
 

+ 0 - 6
kernel/model/blockial.go

@@ -227,12 +227,6 @@ func setNodeAttrs0(node *ast.Node, nameValues map[string]string) (oldAttrs map[s
 	}
 
 	for name, value := range nameValues {
-		if strings.HasPrefix(name, "custom-av") {
-			// 属性视图设置的属性值可以为空
-			node.SetIALAttr(name, value)
-			continue
-		}
-
 		if "" == strings.TrimSpace(value) {
 			node.RemoveIALAttr(name)
 		} else {

+ 1 - 1
kernel/model/file.go

@@ -736,7 +736,7 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
 				// 填充属性视图角标 Display the database title on the block superscript https://github.com/siyuan-note/siyuan/issues/10545
 				avNames := getAvNames(n.IALAttr(av.NodeAttrNameAvs))
 				if "" != avNames {
-					n.SetIALAttr("av-names", avNames)
+					n.SetIALAttr(av.NodeAttrViewNames, avNames)
 				}
 			}