app_bloc.dart 957 B

123456789101112131415161718192021222324252627282930313233
  1. import 'package:app_flowy/home/domain/i_app.dart';
  2. import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  5. import 'package:freezed_annotation/freezed_annotation.dart';
  6. import 'package:flutter_bloc/flutter_bloc.dart';
  7. import 'package:dartz/dartz.dart';
  8. part 'app_event.dart';
  9. part 'app_state.dart';
  10. part 'app_bloc.freezed.dart';
  11. class AppBloc extends Bloc<AppEvent, AppState> {
  12. final IApp iAppImpl;
  13. AppBloc(this.iAppImpl) : super(AppState.initial());
  14. @override
  15. Stream<AppState> mapEventToState(
  16. AppEvent event,
  17. ) async* {
  18. yield* event.map(
  19. initial: (e) async* {
  20. iAppImpl.startWatching(
  21. updatedCallback: (name, desc) {},
  22. addViewCallback: (views) {},
  23. );
  24. },
  25. viewsReceived: (e) async* {
  26. yield state;
  27. },
  28. );
  29. }
  30. }