insertSlot method

void insertSlot(
  1. int index,
  2. T? item, {
  3. bool update = true,
})

Implementation

void insertSlot(int index, T? item, {bool update = true}) {
  // print('insertSlot $index');
  final entry = _create(index, item);
  final keys = _relationship.keys.toList();
  final values = _relationship.values.toList();
  keys.insert(index, entry.key);
  values.insert(index, entry.value);
  final Iterable<MapEntry<DraggableSlot<T>, DraggableWidget<T>?>> entries =
      Iterable.generate(
    keys.length,
    (index) => MapEntry(keys[index], values[index]),
  );

  _relationship
    ..clear()
    ..addEntries(entries);
  if (mounted && update) {
    _updateSlots();
    setState(() {});
  }
  widget.onChanged?.call(items);
}