MapBloc constructor

MapBloc()

Implementation

MapBloc() : super(const MapState(pageType: MapPageType.sender)) {
  on<ChangePage>((event, emit) {
    emit(state.copyWith(pageType: event.pageType));
  });
  on<CancelOrder>((event, emit) {
    // AppRoute.goMap(event.context, replace: true);
  });

  on<ChangeActiveButton>((event, emit) {
    emit(state.copyWith(activeButton: event.active));
  });

  on<SetSenderAndReceiver>((event, emit) {
    if (event.sender) {
      emit(state.copyWith(sender: event.user));
    } else {
      emit(state.copyWith(receiver: event.user));
    }
  });

  on<SetMarker>((event, emit) {
    Map<String, MapObject> markers =
        state.pageType == MapPageType.sender ? {} : Map.from(state.markers);

    markers[event.marker.mapId.value] = event.marker;


    emit(state.copyWith(markers: markers));
  });
  on<RemoveMarker>((event, emit) {
    Map<String, MapObject> markers = Map.from(state.markers);

    markers.remove(event.markerId);

    emit(state.copyWith(markers: markers));
  });

  on<Clear>((event, emit) {
    emit(state.copyWith(
      pageType: MapPageType.sender,
      receiver: null,
      sender: null,
      activeButton: false,
      markers: {},
    ));
  });
}