This commit is contained in:
Daniel 2025-08-10 16:55:36 +08:00
parent ae3f6b906f
commit 73b80d3c82
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -3960,41 +3960,28 @@ func replaceAttributeViewBlock0(attrView *av.AttributeView, oldBlockID, newBlock
} }
var changedAvIDs []string var changedAvIDs []string
for _, keyValues := range attrView.KeyValues { for _, blockVal := range attrView.GetBlockKeyValues().Values {
for _, value := range keyValues.Values { if blockVal.BlockID != oldBlockID {
if av.KeyTypeRelation == value.Type { continue
if nil != value.Relation { }
for i, relBlockID := range value.Relation.BlockIDs {
if relBlockID == oldBlockID { if av.KeyTypeBlock == blockVal.Type {
value.Relation.BlockIDs[i] = newBlockID blockVal.IsDetached = isDetached
changedAvIDs = append(changedAvIDs, attrView.ID) if !isDetached {
} if "" != blockVal.Block.ID && blockVal.Block.ID != newBlockID {
} unbindBlockAv(tx, avID, blockVal.Block.ID)
} }
} bindBlockAv(tx, avID, newBlockID)
if value.BlockID != oldBlockID { blockVal.Block.ID = newBlockID
continue icon, content := getNodeAvBlockText(node)
} content = util.UnescapeHTML(content)
blockVal.Block.Icon, blockVal.Block.Content = icon, content
if av.KeyTypeBlock == value.Type { avIDs := replaceRelationAvValues(avID, oldBlockID, newBlockID)
value.IsDetached = isDetached changedAvIDs = append(changedAvIDs, avIDs...)
if !isDetached { } else {
if "" != value.Block.ID && value.Block.ID != newBlockID { blockVal.Block.ID = ""
unbindBlockAv(tx, avID, value.Block.ID)
}
bindBlockAv(tx, avID, newBlockID)
value.Block.ID = newBlockID
icon, content := getNodeAvBlockText(node)
content = util.UnescapeHTML(content)
value.Block.Icon, value.Block.Content = icon, content
avIDs := replaceRelationAvValues(avID, oldBlockID, newBlockID)
changedAvIDs = append(changedAvIDs, avIDs...)
} else {
value.Block.ID = ""
}
} }
} }
} }