Given a sequence of add, remove, add events on an EntityList
, the EntityListView
can end up showing incorrect items.
For example:
entityList.add(a);
entityList.remove(a);
entityList.add(a);
The root cause of this appears to be that after adding item a
, the wrapper
in EntityListView
is not fully updated; the new component is added to the changeQueue
, but is not yet returned when iterating through elements in EntityListView.handleEntityRemoved
To resolve this, I think that EntityListView.handleEntityRemoved
should instead call wrapper.getChildrenAsList(true)
to include the queued changes when removing items.