mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 15:10:12 +01:00
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/14511
This commit is contained in:
parent
aaf1d9896a
commit
de8eb72393
6 changed files with 35 additions and 36 deletions
|
|
@ -847,9 +847,9 @@ func AppendAttributeViewDetachedBlocksWithValues(avID string, blocksValues [][]*
|
|||
v.BlockID = blockID
|
||||
v.Type = keyValues.Key.Type
|
||||
if av.KeyTypeBlock == v.Type {
|
||||
v.Block.ID = blockID
|
||||
v.Block.Created = now
|
||||
v.Block.Updated = now
|
||||
v.Block.ID = "" // 非绑定块 ID 置空
|
||||
}
|
||||
v.IsDetached = true
|
||||
v.CreatedAt = now
|
||||
|
|
@ -1829,7 +1829,7 @@ func unbindAttributeViewBlock(operation *Operation, tx *Transaction) (err error)
|
|||
value.BlockID = operation.NextID
|
||||
value.IsDetached = true
|
||||
if nil != value.Block {
|
||||
value.Block.ID = operation.NextID
|
||||
value.Block.ID = ""
|
||||
}
|
||||
|
||||
avIDs := replaceRelationAvValues(operation.AvID, operation.ID, operation.NextID)
|
||||
|
|
@ -2877,7 +2877,11 @@ func addAttributeViewBlock(now int64, avID, blockID, groupID, previousBlockID, a
|
|||
IsDetached: isDetached,
|
||||
CreatedAt: now,
|
||||
UpdatedAt: now,
|
||||
Block: &av.ValueBlock{ID: addingBlockID, Icon: blockIcon, Content: addingBlockContent, Created: now, Updated: now}}
|
||||
Block: &av.ValueBlock{Icon: blockIcon, Content: addingBlockContent, Created: now, Updated: now}}
|
||||
if !isDetached {
|
||||
blockValue.Block.ID = addingBlockID
|
||||
}
|
||||
|
||||
blockValues.Values = append(blockValues.Values, blockValue)
|
||||
|
||||
view, err := getAttrViewViewByBlockID(attrView, blockID)
|
||||
|
|
@ -4065,12 +4069,14 @@ func replaceAttributeViewBlock0(attrView *av.AttributeView, oldBlockID, newBlock
|
|||
|
||||
value.BlockID = newBlockID
|
||||
if av.KeyTypeBlock == value.Type && nil != value.Block {
|
||||
value.Block.ID = newBlockID
|
||||
value.IsDetached = isDetached
|
||||
if !isDetached {
|
||||
value.Block.ID = newBlockID
|
||||
icon, content := getNodeAvBlockText(node)
|
||||
content = util.UnescapeHTML(content)
|
||||
value.Block.Icon, value.Block.Content = icon, content
|
||||
} else {
|
||||
value.Block.ID = ""
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4196,7 +4202,7 @@ func updateAttributeViewValue(tx *Transaction, attrView *av.AttributeView, keyID
|
|||
for _, kv := range attrView.KeyValues {
|
||||
if av.KeyTypeBlock == kv.Key.Type {
|
||||
for _, v := range kv.Values {
|
||||
if blockID == v.Block.ID {
|
||||
if blockID == v.BlockID {
|
||||
blockVal = v
|
||||
break
|
||||
}
|
||||
|
|
@ -4314,14 +4320,7 @@ func updateAttributeViewValue(tx *Transaction, attrView *av.AttributeView, keyID
|
|||
|
||||
if !val.IsDetached { // 现在绑定了块
|
||||
// 将游离行绑定到新建的块上
|
||||
|
||||
if val.Block.ID != blockID {
|
||||
// 从其他库拷贝主键值后会出现该情况
|
||||
blockID = val.Block.ID
|
||||
val.BlockID = blockID
|
||||
}
|
||||
|
||||
bindBlockAv(tx, avID, blockID)
|
||||
bindBlockAv(tx, avID, val.Block.ID)
|
||||
}
|
||||
} else {
|
||||
// 之前绑定了块
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue