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

This commit is contained in:
Vanessa 2024-12-09 12:15:53 +08:00
commit 2040665457
4 changed files with 16 additions and 12 deletions

View file

@ -371,6 +371,7 @@ func (value *Value) GetValByType(typ KeyType) (ret interface{}) {
type ValueBlock struct {
ID string `json:"id"`
Icon string `json:"icon"`
Content string `json:"content"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`

View file

@ -1980,8 +1980,9 @@ func addAttributeViewBlock(now int64, avID, blockID, previousBlockID, addingBloc
return
}
var blockIcon string
if !isDetached {
addingBlockContent = getNodeAvBlockText(node)
blockIcon, addingBlockContent = getNodeAvBlockText(node)
}
// 检查是否重复添加相同的块
@ -1992,6 +1993,7 @@ func addAttributeViewBlock(now int64, avID, blockID, previousBlockID, addingBloc
// 重复绑定一下,比如剪切数据库块、取消绑定块后再次添加的场景需要
bindBlockAv0(tx, avID, node, tree)
blockValue.IsDetached = isDetached
blockValue.Block.Icon = blockIcon
blockValue.Block.Content = addingBlockContent
blockValue.UpdatedAt = now
err = av.SaveAttributeView(attrView)
@ -2936,7 +2938,7 @@ func replaceAttributeViewBlock(operation *Operation, tx *Transaction) (err error
if !operation.IsDetached {
bindBlockAv0(tx, operation.AvID, node, tree)
value.IsDetached = false
value.Block.Content = getNodeAvBlockText(node)
value.Block.Icon, value.Block.Content = getNodeAvBlockText(node)
value.UpdatedAt = now
err = av.SaveAttributeView(attrView)
}
@ -2973,7 +2975,7 @@ func replaceAttributeViewBlock(operation *Operation, tx *Transaction) (err error
value.Block.ID = operation.NextID
value.IsDetached = operation.IsDetached
if !operation.IsDetached {
value.Block.Content = getNodeAvBlockText(node)
value.Block.Icon, value.Block.Content = getNodeAvBlockText(node)
}
}

View file

@ -268,22 +268,19 @@ func getNodeRefText(node *ast.Node) string {
return getNodeRefText0(node, Conf.Editor.BlockRefDynamicAnchorTextMaxLen)
}
func getNodeAvBlockText(node *ast.Node) (ret string) {
func getNodeAvBlockText(node *ast.Node) (icon, content string) {
if nil == node {
return ""
return
}
icon = node.IALAttr("icon")
if name := node.IALAttr("name"); "" != name {
name = strings.TrimSpace(name)
name = util.EscapeHTML(name)
ret = name
content = name
} else {
ret = getNodeRefText0(node, 1024)
content = getNodeRefText0(node, 1024)
}
//if icon := node.IALAttr("icon"); "" != icon {
// ret = icon + " " + ret
//}
return
}

View file

@ -269,7 +269,11 @@ func refreshDynamicRefTexts(updatedDefNodes map[string]*ast.Node, updatedTrees m
for _, blockValue := range blockValues.Values {
if blockValue.Block.ID == updatedDefNode.ID {
newContent := getNodeAvBlockText(updatedDefNode)
newIcon, newContent := getNodeAvBlockText(updatedDefNode)
if newIcon != blockValue.Block.Icon {
blockValue.Block.Icon = newIcon
changedAv = true
}
if newContent != blockValue.Block.Content {
blockValue.Block.Content = newContent
changedAv = true