🎨 Improve dynamic anchor text auto-refresh stability https://github.com/siyuan-note/siyuan/issues/8234

This commit is contained in:
Daniel 2024-09-06 16:52:13 +08:00
parent c33401ed7c
commit fa3abe615e
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 13 additions and 4 deletions

View file

@ -1231,9 +1231,18 @@ func getRefDefIDs(node *ast.Node) (refDefIDs []string) {
func pushSetDefRefCount(rootID, blockID string) {
sql.WaitForWritingDatabase()
refCounts := sql.QueryRefCount([]string{blockID})
bt := treenode.GetBlockTree(blockID)
if nil == bt {
return
}
refCounts := sql.QueryRootChildrenRefCount(bt.RootID)
refCount := refCounts[blockID]
util.PushSetDefRefCount(rootID, blockID, refCount)
var rootRefCount int
for _, count := range refCounts {
rootRefCount += count
}
util.PushSetDefRefCount(rootID, blockID, refCount, rootRefCount)
}
func upsertAvBlockRel(node *ast.Node) {

View file

@ -262,8 +262,8 @@ func PushSetRefDynamicText(rootID, blockID, defBlockID, refText string) {
BroadcastByType("main", "setRefDynamicText", 0, "", map[string]interface{}{"rootID": rootID, "blockID": blockID, "defBlockID": defBlockID, "refText": refText})
}
func PushSetDefRefCount(rootID, blockID string, refCount int) {
BroadcastByType("main", "setDefRefCount", 0, "", map[string]interface{}{"rootID": rootID, "blockID": blockID, "refCount": refCount})
func PushSetDefRefCount(rootID, blockID string, refCount, rootRefCount int) {
BroadcastByType("main", "setDefRefCount", 0, "", map[string]interface{}{"rootID": rootID, "blockID": blockID, "refCount": refCount, "rootRefCount": rootRefCount})
}
func PushProtyleLoading(rootID, msg string) {