mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
🎨 Improve av https://github.com/siyuan-note/siyuan/issues/15661
This commit is contained in:
parent
eb578a3d9d
commit
17924377ec
2 changed files with 33 additions and 1 deletions
|
@ -807,6 +807,12 @@ func (r *ValueRollup) BuildContents(keyValues []*KeyValues, destKey *Key, relati
|
|||
if nil == destVal {
|
||||
continue
|
||||
}
|
||||
|
||||
if val := destVal.GetValByType(destKey.Type); nil == val {
|
||||
// 目标字段因为修改类型导致空值
|
||||
continue
|
||||
}
|
||||
|
||||
if KeyTypeNumber == destKey.Type {
|
||||
destVal.Number.Format = destKey.NumberFormat
|
||||
destVal.Number.FormatNumber()
|
||||
|
|
|
@ -4086,7 +4086,33 @@ func updateAttributeViewColumn(operation *Operation) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
err = av.SaveAttributeView(attrView)
|
||||
if err = av.SaveAttributeView(attrView); nil != err {
|
||||
return
|
||||
}
|
||||
|
||||
if changeType {
|
||||
relatedAvIDs := av.GetSrcAvIDs(attrView.ID)
|
||||
for _, relatedAvID := range relatedAvIDs {
|
||||
destAv, _ := av.ParseAttributeView(relatedAvID)
|
||||
if nil == destAv {
|
||||
continue
|
||||
}
|
||||
|
||||
for _, keyValues := range destAv.KeyValues {
|
||||
if av.KeyTypeRollup == keyValues.Key.Type && keyValues.Key.Rollup.KeyID == operation.ID {
|
||||
// 置空关联过来的汇总
|
||||
for _, val := range keyValues.Values {
|
||||
val.Rollup.Contents = nil
|
||||
}
|
||||
keyValues.Key.Rollup.Calc = &av.RollupCalc{Operator: av.CalcOperatorNone}
|
||||
}
|
||||
}
|
||||
|
||||
regenAttrViewGroups(destAv, "force")
|
||||
av.SaveAttributeView(destAv)
|
||||
ReloadAttrView(destAv.ID)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue