🎨 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 10:32:13 +08:00
parent ae32c69bdd
commit e2b2d46a47
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 12 additions and 21 deletions

View file

@ -437,7 +437,7 @@ export class Backlink extends Model {
defID: this.blockId,
refTreeID: docId,
keyword: isMention ? this.inputsElement[1].value : this.inputsElement[0].value,
containChildren: true
containChildren: false
}, (response) => {
svgElement.removeAttribute("disabled");
svgElement.classList.add("b3-list-item__arrow--open");

View file

@ -44,7 +44,7 @@ export const reloadProtyle = (protyle: IProtyle, focus: boolean, updateReadonly?
defID: protyle.element.getAttribute("data-defid"),
refTreeID: protyle.block.rootID,
keyword: isMention ? inputsElement[1].value : inputsElement[0].value,
containChildren: true
containChildren: false
}, response => {
protyle.options.backlinkData = isMention ? response.data.backmentions : response.data.backlinks;
renderBacklink(protyle, protyle.options.backlinkData);

View file

@ -240,7 +240,7 @@ func GetBacklink2(id, keyword, mentionKeyword string, sortMode, mentionSortMode
rootID := sqlBlock.RootID
boxID = sqlBlock.Box
refs := sql.QueryRefsByDefID(id, true)
refs := sql.QueryRefsByDefID(id, false)
refs = removeDuplicatedRefs(refs)
linkRefs, linkRefsCount, excludeBacklinkIDs := buildLinkRefs(rootID, refs, keyword)
@ -339,7 +339,7 @@ func GetBacklink(id, keyword, mentionKeyword string, beforeLen int) (boxID strin
boxID = sqlBlock.Box
var links []*Block
refs := sql.QueryRefsByDefID(id, true)
refs := sql.QueryRefsByDefID(id, false)
refs = removeDuplicatedRefs(refs)
// 为了减少查询,组装好 IDs 后一次查出

View file

@ -389,26 +389,17 @@ func QueryRefsRecent(onlyDoc bool, typeFilter string, ignoreLines []string) (ret
}
func QueryRefsByDefID(defBlockID string, containChildren bool) (ret []*Ref) {
sqlBlock := GetBlock(defBlockID)
if nil == sqlBlock {
return
}
var rows *sql.Rows
var err error
if "d" == sqlBlock.Type {
rows, err = query("SELECT * FROM refs WHERE def_block_root_id = ?", defBlockID)
} else {
if containChildren {
blockIDs := queryBlockChildrenIDs(defBlockID)
var params []string
for _, id := range blockIDs {
params = append(params, "\""+id+"\"")
}
rows, err = query("SELECT * FROM refs WHERE def_block_id IN (" + strings.Join(params, ",") + ")")
} else {
rows, err = query("SELECT * FROM refs WHERE def_block_id = ?", defBlockID)
if containChildren {
blockIDs := queryBlockChildrenIDs(defBlockID)
var params []string
for _, id := range blockIDs {
params = append(params, "\""+id+"\"")
}
rows, err = query("SELECT * FROM refs WHERE def_block_id IN (" + strings.Join(params, ",") + ")")
} else {
rows, err = query("SELECT * FROM refs WHERE def_block_id = ?", defBlockID)
}
if err != nil {
logging.LogErrorf("sql query failed: %s", err)