mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-09 17:44:59 +09:00
[feat-GO-212-changes-for-kanban] fix changes
This commit is contained in:
parent
3b091d333d
commit
43e8e222b2
3 changed files with 15 additions and 6 deletions
|
@ -220,7 +220,7 @@ func (s *State) applyEvent(ev *pb.EventMessage) (err error) {
|
|||
for _, order := range b.Model().GetDataview().ObjectOrders {
|
||||
if order.ViewId == o.BlockDataViewObjectOrderUpdate.ViewId && order.GroupId == o.BlockDataViewObjectOrderUpdate.GroupId {
|
||||
changes := o.BlockDataViewObjectOrderUpdate.GetSliceChanges()
|
||||
changedIds := slice.ApplyChanges(order.ObjectIds, pbtypes.EventToSliceChange(changes))
|
||||
changedIds := slice.ApplyChanges(order.ObjectIds, pbtypes.EventsToSliceChange(changes))
|
||||
order.ObjectIds = changedIds
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,11 +114,11 @@ func (d *Dataview) Diff(b simple.Block) (msgs []simple.EventMessage, err error)
|
|||
|
||||
for _, order2 := range dv.content.ObjectOrders {
|
||||
var found bool
|
||||
var changed bool
|
||||
var changes []slice.Change
|
||||
for _, order1 := range d.content.ObjectOrders {
|
||||
if order1.ViewId == order2.ViewId && order1.GroupId == order2.GroupId {
|
||||
found = true
|
||||
changed = !proto.Equal(order1, order2)
|
||||
changes = slice.Diff(order1.ObjectIds, order2.ObjectIds)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ func (d *Dataview) Diff(b simple.Block) (msgs []simple.EventMessage, err error)
|
|||
}}}})
|
||||
}
|
||||
|
||||
if changed {
|
||||
if len(changes) > 0 {
|
||||
msgs = append(msgs,
|
||||
simple.EventMessage{
|
||||
Msg: &pb.EventMessage{Value: &pb.EventMessageValueOfBlockDataViewObjectOrderUpdate{
|
||||
|
@ -143,7 +143,7 @@ func (d *Dataview) Diff(b simple.Block) (msgs []simple.EventMessage, err error)
|
|||
Id: dv.Id,
|
||||
ViewId: order2.ViewId,
|
||||
GroupId: order2.GroupId,
|
||||
SliceChanges: []*pb.EventBlockDataviewSliceChange{{Op: pb.EventBlockDataview_SliceOperationReplace, Ids: order2.ObjectIds}},
|
||||
SliceChanges: pbtypes.SliceChangeToEvents(changes),
|
||||
}}}})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -205,7 +205,7 @@ func StructNotNilKeys(st *types.Struct) (keys []string) {
|
|||
}
|
||||
|
||||
|
||||
func EventToSliceChange(changes []*pb.EventBlockDataviewSliceChange) []slice.Change {
|
||||
func EventsToSliceChange(changes []*pb.EventBlockDataviewSliceChange) []slice.Change {
|
||||
var res []slice.Change
|
||||
for _, eventCh := range changes {
|
||||
res = append(res, slice.Change{Op: slice.DiffOperation(eventCh.Op), Ids: eventCh.Ids, AfterId: eventCh.AfterId})
|
||||
|
@ -213,3 +213,12 @@ func EventToSliceChange(changes []*pb.EventBlockDataviewSliceChange) []slice.Cha
|
|||
|
||||
return res
|
||||
}
|
||||
|
||||
func SliceChangeToEvents(changes []slice.Change) []*pb.EventBlockDataviewSliceChange {
|
||||
var res []*pb.EventBlockDataviewSliceChange
|
||||
for _, sliceCh := range changes {
|
||||
res = append(res, &pb.EventBlockDataviewSliceChange{Op: pb.EventBlockDataviewSliceOperation(sliceCh.Op), Ids: sliceCh.Ids, AfterId: sliceCh.AfterId})
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue