rsflutterapp

Bahnhofsfoto-App for Android and iOS using Flutter
git clone git://archive.git.mtrnord.blog/MTRNord/rsflutterapp.git
Log | Files | Refs | README

MapBloc.dart (937B)


      1 import 'package:bloc/bloc.dart';
      2 import 'package:flutter/cupertino.dart';
      3 
      4 import '../events/MapEvent.dart';
      5 import '../models/models.dart';
      6 import '../repos/repositories.dart';
      7 import '../states/MapState.dart';
      8 
      9 class MapBloc extends Bloc<MapEvent, MapState> {
     10   final RailwayStationsRepository railwayStationsRepository;
     11 
     12   MapBloc({@required this.railwayStationsRepository})
     13       : assert(railwayStationsRepository != null);
     14 
     15   @override
     16   MapState get initialState => MapLoading();
     17 
     18   @override
     19   Stream<MapState> mapEventToState(MapEvent event) async* {
     20     if (event is FetchStations) {
     21       yield MapLoading();
     22       try {
     23         final List<Station> stations =
     24             await railwayStationsRepository.getStations();
     25         yield MapLoaded(stations: stations);
     26       } catch (e) {
     27         debugPrint(e.toString());
     28         yield MapError();
     29       }
     30     } else if (event is RenderMap) {
     31       yield MapRender();
     32     }
     33   }
     34 }