🎨 Renaming or deleting a tag no longer reloads the interface https://github.com/siyuan-note/siyuan/issues/14469

This commit is contained in:
Daniel 2025-03-31 23:04:17 +08:00
parent 407eb53ea1
commit 2cc605bba2
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -22,6 +22,7 @@ import (
"sort" "sort"
"strings" "strings"
"github.com/88250/gulu"
"github.com/88250/lute/ast" "github.com/88250/lute/ast"
"github.com/emirpasic/gods/sets/hashset" "github.com/emirpasic/gods/sets/hashset"
"github.com/siyuan-note/logging" "github.com/siyuan-note/logging"
@ -49,6 +50,8 @@ func RemoveTag(label string) (err error) {
} }
} }
var reloadTreeIDs []string
updateNodes := map[string]*ast.Node{}
for treeID, blocks := range treeBlocks { for treeID, blocks := range treeBlocks {
util.PushEndlessProgress("[" + treeID + "]") util.PushEndlessProgress("[" + treeID + "]")
tree, e := LoadTreeByBlockID(treeID) tree, e := LoadTreeByBlockID(treeID)
@ -87,6 +90,8 @@ func RemoveTag(label string) (err error) {
} }
} }
} }
updateNodes[node.ID] = node
} }
for _, n := range unlinks { for _, n := range unlinks {
n.Unlink() n.Unlink()
@ -97,9 +102,20 @@ func RemoveTag(label string) (err error) {
return return
} }
util.RandomSleep(50, 150) util.RandomSleep(50, 150)
reloadTreeIDs = append(reloadTreeIDs, tree.ID)
} }
util.ReloadUI() sql.FlushQueue()
reloadTreeIDs = gulu.Str.RemoveDuplicatedElem(reloadTreeIDs)
for _, id := range reloadTreeIDs {
refreshProtyle(id)
}
updateAttributeViewBlockText(updateNodes)
sql.FlushQueue()
util.PushClearProgress()
return return
} }
@ -134,6 +150,9 @@ func RenameTag(oldLabel, newLabel string) (err error) {
} }
} }
var reloadTreeIDs []string
updateNodes := map[string]*ast.Node{}
for treeID, blocks := range treeBlocks { for treeID, blocks := range treeBlocks {
util.PushEndlessProgress("[" + treeID + "]") util.PushEndlessProgress("[" + treeID + "]")
tree, e := LoadTreeByBlockID(treeID) tree, e := LoadTreeByBlockID(treeID)
@ -173,6 +192,8 @@ func RenameTag(oldLabel, newLabel string) (err error) {
} }
} }
} }
updateNodes[node.ID] = node
} }
util.PushEndlessProgress(fmt.Sprintf(Conf.Language(111), util.EscapeHTML(tree.Root.IALAttr("title")))) util.PushEndlessProgress(fmt.Sprintf(Conf.Language(111), util.EscapeHTML(tree.Root.IALAttr("title"))))
if err = writeTreeUpsertQueue(tree); err != nil { if err = writeTreeUpsertQueue(tree); err != nil {
@ -180,9 +201,20 @@ func RenameTag(oldLabel, newLabel string) (err error) {
return return
} }
util.RandomSleep(50, 150) util.RandomSleep(50, 150)
reloadTreeIDs = append(reloadTreeIDs, tree.ID)
} }
util.ReloadUI() sql.FlushQueue()
reloadTreeIDs = gulu.Str.RemoveDuplicatedElem(reloadTreeIDs)
for _, id := range reloadTreeIDs {
refreshProtyle(id)
}
updateAttributeViewBlockText(updateNodes)
sql.FlushQueue()
util.PushClearProgress()
return return
} }