Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
c9b9761730
2 changed files with 44 additions and 5 deletions
|
@ -649,6 +649,7 @@ func GetBlockAttributeViewKeys(blockID string) (ret []*BlockAttributeViewKeys) {
|
|||
}
|
||||
|
||||
// 字段排序
|
||||
refreshAttrViewKeyIDs(attrView)
|
||||
sorts := map[string]int{}
|
||||
for i, k := range attrView.KeyIDs {
|
||||
sorts[k] = i
|
||||
|
@ -2449,11 +2450,7 @@ func SortAttributeViewKey(avID, keyID, previousKeyID string) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
if 1 > len(attrView.KeyIDs) {
|
||||
for _, keyValues := range attrView.KeyValues {
|
||||
attrView.KeyIDs = append(attrView.KeyIDs, keyValues.Key.ID)
|
||||
}
|
||||
}
|
||||
refreshAttrViewKeyIDs(attrView)
|
||||
|
||||
var currentKeyID string
|
||||
var idx, previousIndex int
|
||||
|
@ -2482,6 +2479,29 @@ func SortAttributeViewKey(avID, keyID, previousKeyID string) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func refreshAttrViewKeyIDs(attrView *av.AttributeView) {
|
||||
// 订正 keyIDs 数据
|
||||
|
||||
existKeyIDs := map[string]bool{}
|
||||
for _, keyValues := range attrView.KeyValues {
|
||||
existKeyIDs[keyValues.Key.ID] = true
|
||||
}
|
||||
|
||||
for k, _ := range existKeyIDs {
|
||||
if !gulu.Str.Contains(k, attrView.KeyIDs) {
|
||||
attrView.KeyIDs = append(attrView.KeyIDs, k)
|
||||
}
|
||||
}
|
||||
|
||||
var tmp []string
|
||||
for _, k := range attrView.KeyIDs {
|
||||
if ok := existKeyIDs[k]; ok {
|
||||
tmp = append(tmp, k)
|
||||
}
|
||||
}
|
||||
attrView.KeyIDs = tmp
|
||||
}
|
||||
|
||||
func (tx *Transaction) doAddAttrViewColumn(operation *Operation) (ret *TxErr) {
|
||||
var icon string
|
||||
if nil != operation.Data {
|
||||
|
|
|
@ -312,6 +312,25 @@ func ImportSY(zipPath, boxID, toPath string) (err error) {
|
|||
attrViewIDs = append(attrViewIDs, avID)
|
||||
}
|
||||
updateBoundBlockAvsAttribute(attrViewIDs)
|
||||
|
||||
// 插入关联关系 https://github.com/siyuan-note/siyuan/issues/11628
|
||||
relationAvs := map[string]string{}
|
||||
for _, avID := range avIDs {
|
||||
attrView, _ := av.ParseAttributeView(avID)
|
||||
if nil == attrView {
|
||||
continue
|
||||
}
|
||||
|
||||
for _, keyValues := range attrView.KeyValues {
|
||||
if nil != keyValues.Key && av.KeyTypeRelation == keyValues.Key.Type && nil != keyValues.Key.Relation {
|
||||
relationAvs[avID] = keyValues.Key.Relation.AvID
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for srcAvID, destAvID := range relationAvs {
|
||||
av.UpsertAvBackRel(srcAvID, destAvID)
|
||||
}
|
||||
}
|
||||
|
||||
// 将关联的闪卡数据合并到默认卡包 data/storage/riff/20230218211946-2kw8jgx 中
|
||||
|
|
Loading…
Add table
Reference in a new issue