mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 08:30:42 +02:00
🎨 Database grouping by field https://github.com/siyuan-note/siyuan/issues/10964
This commit is contained in:
parent
cd7c6fdb17
commit
9e819955ef
1 changed files with 45 additions and 18 deletions
|
@ -3548,27 +3548,54 @@ func sortAttributeViewRow(operation *Operation) (err error) {
|
|||
|
||||
var itemID string
|
||||
var idx, previousIndex int
|
||||
for i, id := range view.ItemIDs {
|
||||
if id == operation.ID {
|
||||
itemID = id
|
||||
idx = i
|
||||
break
|
||||
}
|
||||
}
|
||||
if "" == itemID {
|
||||
itemID = operation.ID
|
||||
view.ItemIDs = append(view.ItemIDs, itemID)
|
||||
idx = len(view.ItemIDs) - 1
|
||||
}
|
||||
|
||||
view.ItemIDs = append(view.ItemIDs[:idx], view.ItemIDs[idx+1:]...)
|
||||
for i, r := range view.ItemIDs {
|
||||
if r == operation.PreviousID {
|
||||
previousIndex = i + 1
|
||||
break
|
||||
if nil != view.Group && "" != operation.GroupID {
|
||||
if groupView := view.GetGroup(operation.GroupID); nil != groupView {
|
||||
for i, id := range groupView.GroupItemIDs {
|
||||
if id == operation.ID {
|
||||
itemID = id
|
||||
idx = i
|
||||
break
|
||||
}
|
||||
}
|
||||
if "" == itemID {
|
||||
itemID = operation.ID
|
||||
groupView.GroupItemIDs = append(groupView.GroupItemIDs, itemID)
|
||||
idx = len(groupView.GroupItemIDs) - 1
|
||||
}
|
||||
|
||||
groupView.GroupItemIDs = append(groupView.GroupItemIDs[:idx], groupView.GroupItemIDs[idx+1:]...)
|
||||
for i, r := range groupView.GroupItemIDs {
|
||||
if r == operation.PreviousID {
|
||||
previousIndex = i + 1
|
||||
break
|
||||
}
|
||||
}
|
||||
groupView.GroupItemIDs = util.InsertElem(view.ItemIDs, previousIndex, itemID)
|
||||
}
|
||||
} else {
|
||||
for i, id := range view.ItemIDs {
|
||||
if id == operation.ID {
|
||||
itemID = id
|
||||
idx = i
|
||||
break
|
||||
}
|
||||
}
|
||||
if "" == itemID {
|
||||
itemID = operation.ID
|
||||
view.ItemIDs = append(view.ItemIDs, itemID)
|
||||
idx = len(view.ItemIDs) - 1
|
||||
}
|
||||
|
||||
view.ItemIDs = append(view.ItemIDs[:idx], view.ItemIDs[idx+1:]...)
|
||||
for i, r := range view.ItemIDs {
|
||||
if r == operation.PreviousID {
|
||||
previousIndex = i + 1
|
||||
break
|
||||
}
|
||||
}
|
||||
view.ItemIDs = util.InsertElem(view.ItemIDs, previousIndex, itemID)
|
||||
}
|
||||
view.ItemIDs = util.InsertElem(view.ItemIDs, previousIndex, itemID)
|
||||
|
||||
err = av.SaveAttributeView(attrView)
|
||||
return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue