getReorderableEntity method

ReorderableEntity getReorderableEntity({
  1. required ValueKey key,
  2. required int index,
})

Creates or updates ReorderableEntity related to key and returns it.

Looks for ReorderableEntity in childrenKeyMap and updates it if found. Otherwise it will be created with offset and size.

Implementation

ReorderableEntity getReorderableEntity({
  required ValueKey key,
  required int index,
}) {
  final childInKeyMap = childrenKeyMap[key.value];
  final offset = offsetMap[index];
  // TODO(karvulf): warum child aus der anderen map genommen?
  final size = childrenOrderMap[index]?.size;
  late final ReorderableEntity reorderableEntity;

  if (childInKeyMap == null) {
    reorderableEntity = ReorderableEntity.create(
      key: key,
      updatedOrderId: index,
      offset: offset,
      size: size,
    );
  } else {
    reorderableEntity = childInKeyMap.updated(
      updatedOrderId: index,
      updatedOffset: offset,
      size: size,
    );
  }
  return reorderableEntity;
}