🎨 Support cancel two-way relation when related to the current database https://github.com/siyuan-note/siyuan/issues/11356

This commit is contained in:
Daniel 2024-05-12 11:39:02 +08:00
parent 47599388e2
commit 933a1936c0
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -2967,7 +2967,13 @@ func RemoveAttributeViewKey(avID, keyID string) (err error) {
if removedKey.Relation.IsTwoWay {
// 删除双向关联的目标列
destAv, _ := av.ParseAttributeView(removedKey.Relation.AvID)
var destAv *av.AttributeView
if avID == removedKey.Relation.AvID {
destAv = attrView
} else {
destAv, _ = av.ParseAttributeView(removedKey.Relation.AvID)
}
if nil != destAv {
destAvRelSrcAv := false
for i, keyValues := range destAv.KeyValues {
@ -2993,8 +2999,10 @@ func RemoveAttributeViewKey(avID, keyID string) (err error) {
}
}
if destAv != attrView {
av.SaveAttributeView(destAv)
util.PushReloadAttrView(destAv.ID)
}
if !destAvRelSrcAv {
av.RemoveAvRel(destAv.ID, attrView.ID)