select method

void select(
  1. GalleryAsset asset
)

Implementation

void select(GalleryAsset asset) {
  if (singleSelection) {
    value = value.copyWith(selectedAssets: [asset]);
    return;
  }

  final assets = List.of(value.selectedAssets);
  final isSelected = assets.contains(asset);
  if (isSelected) {
    assets.remove(asset);
    value = value.copyWith(selectedAssets: assets);
  } else if (!reachedMaximumLimit) {
    assets.add(asset);
    value = value.copyWith(selectedAssets: assets);
  }

  if (reachedMaximumLimit) {
    return GAPManager.config.onReachMaximum?.call();
  }
}