removeInlineSlotByCampaignId method

void removeInlineSlotByCampaignId(
  1. String cepCampaignId
)

Clears every inline slot whose payload was triggered by cepCampaignId.

Implementation

void removeInlineSlotByCampaignId(String cepCampaignId) {
  final keys = _slotPayloads.entries
      .where((e) => e.value.cepCampaignId == cepCampaignId)
      .map((e) => e.key)
      .toList();
  if (keys.isEmpty) return;
  final removed = <CEPTriggerPayload>[];
  for (final key in keys) {
    _slotConfigs.remove(key);
    final payload = _slotPayloads.remove(key);
    if (payload != null) removed.add(payload);
  }
  _notifyInlineRemoved(removed);
  notifyListeners();
}