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 ( const (
NodeAttrNameAvs = "custom-avs" // 用于标记块所属的属性视图,逗号分隔 av id 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 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 { for _, node := range nodes {
avNames := getAvNames(node.IALAttr(av.NodeAttrNameAvs)) avNames := getAvNames(node.IALAttr(av.NodeAttrNameAvs))
oldAttrs := parse.IAL2Map(node.KramdownIAL) oldAttrs := parse.IAL2Map(node.KramdownIAL)
node.SetIALAttr("av-names", avNames) node.SetIALAttr(av.NodeAttrViewNames, avNames)
pushBroadcastAttrTransactions(oldAttrs, node) pushBroadcastAttrTransactions(oldAttrs, node)
} }
return return
@ -2087,7 +2087,7 @@ func addAttributeViewBlock(avID, blockID, previousBlockID, addingBlockID string,
avNames := getAvNames(attrs[av.NodeAttrNameAvs]) avNames := getAvNames(attrs[av.NodeAttrNameAvs])
if "" != avNames { if "" != avNames {
attrs["av-names"] = avNames attrs[av.NodeAttrViewNames] = avNames
} }
if nil != tx { if nil != tx {
@ -2202,11 +2202,12 @@ func removeNodeAvID(node *ast.Node, avID string, tx *Transaction, tree *parse.Tr
avIDs = existAvIDs avIDs = existAvIDs
if 0 == len(avIDs) { if 0 == len(avIDs) {
delete(attrs, av.NodeAttrNameAvs) attrs[av.NodeAttrNameAvs] = ""
node.RemoveIALAttr(av.NodeAttrNameAvs)
} else { } else {
attrs[av.NodeAttrNameAvs] = strings.Join(avIDs, ",") attrs[av.NodeAttrNameAvs] = strings.Join(avIDs, ",")
node.SetIALAttr(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 { for name, value := range nameValues {
if strings.HasPrefix(name, "custom-av") {
// 属性视图设置的属性值可以为空
node.SetIALAttr(name, value)
continue
}
if "" == strings.TrimSpace(value) { if "" == strings.TrimSpace(value) {
node.RemoveIALAttr(name) node.RemoveIALAttr(name)
} else { } 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 // 填充属性视图角标 Display the database title on the block superscript https://github.com/siyuan-note/siyuan/issues/10545
avNames := getAvNames(n.IALAttr(av.NodeAttrNameAvs)) avNames := getAvNames(n.IALAttr(av.NodeAttrNameAvs))
if "" != avNames { if "" != avNames {
n.SetIALAttr("av-names", avNames) n.SetIALAttr(av.NodeAttrViewNames, avNames)
} }
} }