moveLayer method

void moveLayer(
  1. String layerId,
  2. int newIndex
)

Implementation

void moveLayer(String layerId, int newIndex) {
  if (_currentTemplate == null) return;

  final layers = List<LayerModel>.from(_currentTemplate!.layers);
  final layerIndex = layers.indexWhere((layer) => layer.id == layerId);

  if (layerIndex >= 0 && newIndex >= 0 && newIndex < layers.length) {
    final layer = layers.removeAt(layerIndex);
    layers.insert(newIndex, layer);

    _currentTemplate = _currentTemplate!.copyWith(layers: layers);
    notifyListeners();
  }
}