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 {
if nil != value.Relation {
for i, relBlockID := range value.Relation.BlockIDs {
if relBlockID == oldBlockID {
value.Relation.BlockIDs[i] = newBlockID
changedAvIDs = append(changedAvIDs, attrView.ID)
}
}
}
}
if value.BlockID != oldBlockID {
continue continue
} }
if av.KeyTypeBlock == value.Type { if av.KeyTypeBlock == blockVal.Type {
value.IsDetached = isDetached blockVal.IsDetached = isDetached
if !isDetached { if !isDetached {
if "" != value.Block.ID && value.Block.ID != newBlockID { if "" != blockVal.Block.ID && blockVal.Block.ID != newBlockID {
unbindBlockAv(tx, avID, value.Block.ID) unbindBlockAv(tx, avID, blockVal.Block.ID)
} }
bindBlockAv(tx, avID, newBlockID) bindBlockAv(tx, avID, newBlockID)
value.Block.ID = newBlockID blockVal.Block.ID = newBlockID
icon, content := getNodeAvBlockText(node) icon, content := getNodeAvBlockText(node)
content = util.UnescapeHTML(content) content = util.UnescapeHTML(content)
value.Block.Icon, value.Block.Content = icon, content blockVal.Block.Icon, blockVal.Block.Content = icon, content
avIDs := replaceRelationAvValues(avID, oldBlockID, newBlockID) avIDs := replaceRelationAvValues(avID, oldBlockID, newBlockID)
changedAvIDs = append(changedAvIDs, avIDs...) changedAvIDs = append(changedAvIDs, avIDs...)
} else { } else {
value.Block.ID = "" blockVal.Block.ID = ""
}
} }
} }
} }