🎨 Backlink count at the doc block title including sub-blocks https://github.com/siyuan-note/siyuan/issues/13791

This commit is contained in:
Daniel 2025-01-13 18:05:19 +08:00
parent 6eaaf77a41
commit 310c9b844c
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 6 additions and 5 deletions

View file

@ -154,8 +154,9 @@ func refreshRefCount(rootID, blockID string) {
isDoc := bt.ID == bt.RootID
var rootRefIDs []string
var refCount, rootRefCount int
refIDs := sql.QueryRefIDsByDefID(bt.ID, isDoc)
var refIDs []string
if isDoc {
refIDs = sql.QueryRefIDsByDefID(bt.ID, isDoc)
rootRefIDs = refIDs
} else {
rootRefIDs = sql.QueryRefIDsByDefID(bt.RootID, true)
@ -169,7 +170,7 @@ func refreshRefCount(rootID, blockID string) {
defIDs = append(defIDs, bt.ID)
}
util.PushSetDefRefCount(rootID, blockID, refIDs, rootRefIDs, defIDs, refCount, rootRefCount)
util.PushSetDefRefCount(rootID, blockID, defIDs, refCount, rootRefCount)
}
// refreshDynamicRefText 用于刷新块引用的动态锚文本。

View file

@ -141,7 +141,7 @@ func QueryRootChildrenRefCount(defRootID string) (ret map[string]int) {
func QueryRootBlockRefCount() (ret map[string]int) {
ret = map[string]int{}
rows, err := query("SELECT def_block_root_id, COUNT(*) AS ref_cnt FROM refs GROUP BY def_block_root_id")
rows, err := query("SELECT def_block_root_id, COUNT(DISTINCT block_id) AS ref_cnt FROM refs GROUP BY def_block_root_id")
if err != nil {
logging.LogErrorf("sql query failed: %s", err)
return

View file

@ -271,8 +271,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, refIDs, rootRefIDs, defIDs []string, refCount, rootRefCount int) {
BroadcastByType("main", "setDefRefCount", 0, "", map[string]interface{}{"rootID": rootID, "blockID": blockID, "refCount": refCount, "rootRefCount": rootRefCount, "refIDs": refIDs, "rootRefIDs": rootRefIDs, "defIDs": defIDs})
func PushSetDefRefCount(rootID, blockID string, defIDs []string, refCount, rootRefCount int) {
BroadcastByType("main", "setDefRefCount", 0, "", map[string]interface{}{"rootID": rootID, "blockID": blockID, "refCount": refCount, "rootRefCount": rootRefCount, "defIDs": defIDs})
}
func PushProtyleLoading(rootID, msg string) {