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

This commit is contained in:
Vanessa 2024-03-10 23:17:05 +08:00
commit 9c512960bc
4 changed files with 8 additions and 11 deletions

View file

@ -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" // 用于临时标记块所属的属性视图名称,空格分隔
)

View file

@ -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
}
}

View file

@ -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 {

View file

@ -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)
}
}