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 = <String, 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,
);
}