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: {},
));
});
}