updateChildren method
Iterates through children
and updates childrenKeyMap and childrenOrderMap.
The update should always be called when the children are changing.
With this update, it is possible to have correct animations later to move
the children
visually.
Implementation
void updateChildren({required List<Widget> children}) {
var updatedChildrenKeyMap = <dynamic, ReorderableEntity>{};
var updatedChildrenOrderMap = <int, ReorderableEntity>{};
var index = 0;
for (final child in children) {
final reorderableEntity = getReorderableEntity(
key: child.key as ValueKey,
index: index++,
);
final originalOrderId = reorderableEntity.originalOrderId;
updatedChildrenOrderMap[originalOrderId] = reorderableEntity;
updatedChildrenKeyMap[reorderableEntity.key.value] = reorderableEntity;
}
replaceMaps(
updatedChildrenKeyMap: updatedChildrenKeyMap,
updatedChildrenOrderMap: updatedChildrenOrderMap,
);
}