ChatMediumListBloc constructor

ChatMediumListBloc({
  1. FilterChatMediumModels? filter,
  2. bool? paged,
  3. String? orderBy,
  4. bool? descending,
  5. bool? detailed,
  6. EliudQuery? eliudQuery,
  7. required ChatMediumRepository chatMediumRepository,
  8. int chatMediumLimit = 5,
})

Implementation

ChatMediumListBloc(
    {this.filter,
    this.paged,
    this.orderBy,
    this.descending,
    this.detailed,
    this.eliudQuery,
    required ChatMediumRepository chatMediumRepository,
    this.chatMediumLimit = 5})
    : _chatMediumRepository = chatMediumRepository,
      super(ChatMediumListLoading()) {
  on<LoadChatMediumList>((event, emit) {
    if ((detailed == null) || (!detailed!)) {
      _mapLoadChatMediumListToState();
    } else {
      _mapLoadChatMediumListWithDetailsToState();
    }
  });

  on<NewPage>((event, emit) {
    pages = pages +
        1; // it doesn't matter so much if we increase pages beyond the end
    _mapLoadChatMediumListWithDetailsToState();
  });

  on<ChatMediumChangeQuery>((event, emit) {
    eliudQuery = event.newQuery;
    if ((detailed == null) || (!detailed!)) {
      _mapLoadChatMediumListToState();
    } else {
      _mapLoadChatMediumListWithDetailsToState();
    }
  });

  on<AddChatMediumList>((event, emit) async {
    await _mapAddChatMediumListToState(event);
  });

  on<UpdateChatMediumList>((event, emit) async {
    await _mapUpdateChatMediumListToState(event);
  });

  on<DeleteChatMediumList>((event, emit) async {
    await _mapDeleteChatMediumListToState(event);
  });

  on<ChatMediumListUpdated>((event, emit) {
    emit(_mapChatMediumListUpdatedToState(event));
  });
}