mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-19 02:21:38 +08:00
⬆️ Upgrade database table view
This commit is contained in:
parent
8daa98be52
commit
5a59b4c4d6
@ -1089,11 +1089,6 @@ func addAttributeViewBlock(blockID string, operation *Operation, tree *parse.Tre
|
||||
return
|
||||
}
|
||||
|
||||
view, err := attrView.GetCurrentView()
|
||||
if nil != err {
|
||||
return
|
||||
}
|
||||
|
||||
// 不允许重复添加相同的块到属性视图中
|
||||
blockValues := attrView.GetBlockKeyValues()
|
||||
for _, blockValue := range blockValues.Values {
|
||||
@ -1127,17 +1122,24 @@ func addAttributeViewBlock(blockID string, operation *Operation, tree *parse.Tre
|
||||
}
|
||||
}
|
||||
|
||||
switch view.LayoutType {
|
||||
case av.LayoutTypeTable:
|
||||
if "" != operation.PreviousID {
|
||||
for i, id := range view.Table.RowIDs {
|
||||
if id == operation.PreviousID {
|
||||
view.Table.RowIDs = append(view.Table.RowIDs[:i+1], append([]string{blockID}, view.Table.RowIDs[i+1:]...)...)
|
||||
break
|
||||
for _, view := range attrView.Views {
|
||||
switch view.LayoutType {
|
||||
case av.LayoutTypeTable:
|
||||
if "" != operation.PreviousID {
|
||||
changed := false
|
||||
for i, id := range view.Table.RowIDs {
|
||||
if id == operation.PreviousID {
|
||||
view.Table.RowIDs = append(view.Table.RowIDs[:i+1], append([]string{blockID}, view.Table.RowIDs[i+1:]...)...)
|
||||
changed = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !changed {
|
||||
view.Table.RowIDs = append(view.Table.RowIDs, blockID)
|
||||
}
|
||||
} else {
|
||||
view.Table.RowIDs = append([]string{blockID}, view.Table.RowIDs...)
|
||||
}
|
||||
} else {
|
||||
view.Table.RowIDs = append([]string{blockID}, view.Table.RowIDs...)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1159,11 +1161,6 @@ func (tx *Transaction) removeAttributeViewBlock(operation *Operation) (err error
|
||||
return
|
||||
}
|
||||
|
||||
view, err := attrView.GetCurrentView()
|
||||
if nil != err {
|
||||
return
|
||||
}
|
||||
|
||||
trees := map[string]*parse.Tree{}
|
||||
for _, keyValues := range attrView.KeyValues {
|
||||
tmp := keyValues.Values[:0]
|
||||
@ -1210,8 +1207,10 @@ func (tx *Transaction) removeAttributeViewBlock(operation *Operation) (err error
|
||||
keyValues.Values = tmp
|
||||
}
|
||||
|
||||
for _, blockID := range operation.SrcIDs {
|
||||
view.Table.RowIDs = gulu.Str.RemoveElem(view.Table.RowIDs, blockID)
|
||||
for _, view := range attrView.Views {
|
||||
for _, blockID := range operation.SrcIDs {
|
||||
view.Table.RowIDs = gulu.Str.RemoveElem(view.Table.RowIDs, blockID)
|
||||
}
|
||||
}
|
||||
|
||||
err = av.SaveAttributeView(attrView)
|
||||
|
Loading…
Reference in New Issue
Block a user