EntryValuesBloc<T> constructor

EntryValuesBloc<T>({
  1. required List<T> initialValues,
})

Implementation

EntryValuesBloc({required List<T> initialValues})
    : _entryValues = initialValues,
      super(EntryValuesUpdated<T>(initialValues)) {
  on<EntryValuesUpdateValuesSelectedEvent<T>>((event, emit) {
    var newEntryValues = List.of(_entryValues);
    for (var entryValue in event.entryValues) {
      if (newEntryValues.contains(entryValue) && !event.selected) {
        newEntryValues.remove(entryValue);
      } else if (!newEntryValues.contains(entryValue) && event.selected) {
        newEntryValues.add(entryValue);
      }
    }
    _entryValues = newEntryValues;
    emit(EntryValuesUpdated(_entryValues));
  });
}