🎨 The backlink panel no longer displays child-block references https://github.com/siyuan-note/siyuan/issues/12861

This commit is contained in:
Daniel 2024-10-21 17:34:21 +08:00
parent 071fbf0605
commit dd256bbaec
No known key found for this signature in database
GPG Key ID: 86211BA83DF03017
2 changed files with 16 additions and 8 deletions

View File

@ -51,7 +51,7 @@ func getBackmentionDoc(c *gin.Context) {
defID := arg["defID"].(string) defID := arg["defID"].(string)
refTreeID := arg["refTreeID"].(string) refTreeID := arg["refTreeID"].(string)
keyword := arg["keyword"].(string) keyword := arg["keyword"].(string)
containChildren := true containChildren := false
if val, ok := arg["containChildren"]; ok { if val, ok := arg["containChildren"]; ok {
containChildren = val.(bool) containChildren = val.(bool)
} }
@ -73,7 +73,7 @@ func getBacklinkDoc(c *gin.Context) {
defID := arg["defID"].(string) defID := arg["defID"].(string)
refTreeID := arg["refTreeID"].(string) refTreeID := arg["refTreeID"].(string)
keyword := arg["keyword"].(string) keyword := arg["keyword"].(string)
containChildren := true containChildren := false
if val, ok := arg["containChildren"]; ok { if val, ok := arg["containChildren"]; ok {
containChildren = val.(bool) containChildren = val.(bool)
} }
@ -109,7 +109,11 @@ func getBacklink2(c *gin.Context) {
if nil != mentionSortArg { if nil != mentionSortArg {
mentionSort, _ = strconv.Atoi(mentionSortArg.(string)) mentionSort, _ = strconv.Atoi(mentionSortArg.(string))
} }
boxID, backlinks, backmentions, linkRefsCount, mentionsCount := model.GetBacklink2(id, keyword, mentionKeyword, sort, mentionSort) containChildren := false
if val, ok := arg["containChildren"]; ok {
containChildren = val.(bool)
}
boxID, backlinks, backmentions, linkRefsCount, mentionsCount := model.GetBacklink2(id, keyword, mentionKeyword, sort, mentionSort, containChildren)
ret.Data = map[string]interface{}{ ret.Data = map[string]interface{}{
"backlinks": backlinks, "backlinks": backlinks,
"linkRefsCount": linkRefsCount, "linkRefsCount": linkRefsCount,
@ -141,7 +145,11 @@ func getBacklink(c *gin.Context) {
if nil != arg["beforeLen"] { if nil != arg["beforeLen"] {
beforeLen = int(arg["beforeLen"].(float64)) beforeLen = int(arg["beforeLen"].(float64))
} }
boxID, backlinks, backmentions, linkRefsCount, mentionsCount := model.GetBacklink(id, keyword, mentionKeyword, beforeLen) containChildren := false
if val, ok := arg["containChildren"]; ok {
containChildren = val.(bool)
}
boxID, backlinks, backmentions, linkRefsCount, mentionsCount := model.GetBacklink(id, keyword, mentionKeyword, beforeLen, containChildren)
ret.Data = map[string]interface{}{ ret.Data = map[string]interface{}{
"backlinks": backlinks, "backlinks": backlinks,
"linkRefsCount": linkRefsCount, "linkRefsCount": linkRefsCount,

View File

@ -230,7 +230,7 @@ func getBacklinkRenderNodes(n *ast.Node) (ret []*ast.Node, expand bool) {
return return
} }
func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode int) (boxID string, backlinks, backmentions []*Path, linkRefsCount, mentionsCount int) { func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode int, containChildren bool) (boxID string, backlinks, backmentions []*Path, linkRefsCount, mentionsCount int) {
keyword = strings.TrimSpace(keyword) keyword = strings.TrimSpace(keyword)
mentionKeyword = strings.TrimSpace(mentionKeyword) mentionKeyword = strings.TrimSpace(mentionKeyword)
backlinks, backmentions = []*Path{}, []*Path{} backlinks, backmentions = []*Path{}, []*Path{}
@ -242,7 +242,7 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode
rootID := sqlBlock.RootID rootID := sqlBlock.RootID
boxID = sqlBlock.Box boxID = sqlBlock.Box
refs := sql.QueryRefsByDefID(id, false) refs := sql.QueryRefsByDefID(id, containChildren)
refs = removeDuplicatedRefs(refs) refs = removeDuplicatedRefs(refs)
linkRefs, linkRefsCount, excludeBacklinkIDs := buildLinkRefs(rootID, refs, keyword) linkRefs, linkRefsCount, excludeBacklinkIDs := buildLinkRefs(rootID, refs, keyword)
@ -328,7 +328,7 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode
return return
} }
func GetBacklink(id, keyword, mentionKeyword string, beforeLen int) (boxID string, linkPaths, mentionPaths []*Path, linkRefsCount, mentionsCount int) { func GetBacklink(id, keyword, mentionKeyword string, beforeLen int, containChildren bool) (boxID string, linkPaths, mentionPaths []*Path, linkRefsCount, mentionsCount int) {
linkPaths = []*Path{} linkPaths = []*Path{}
mentionPaths = []*Path{} mentionPaths = []*Path{}
@ -340,7 +340,7 @@ func GetBacklink(id, keyword, mentionKeyword string, beforeLen int) (boxID strin
boxID = sqlBlock.Box boxID = sqlBlock.Box
var links []*Block var links []*Block
refs := sql.QueryRefsByDefID(id, false) refs := sql.QueryRefsByDefID(id, containChildren)
refs = removeDuplicatedRefs(refs) refs = removeDuplicatedRefs(refs)
// 为了减少查询,组装好 IDs 后一次查出 // 为了减少查询,组装好 IDs 后一次查出