doc_bloc.dart 894 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:app_flowy/workspace/domain/i_doc.dart';
  2. import 'package:freezed_annotation/freezed_annotation.dart';
  3. import 'package:flutter_bloc/flutter_bloc.dart';
  4. import 'package:dartz/dartz.dart';
  5. part 'doc_bloc.freezed.dart';
  6. class DocBloc extends Bloc<DocEvent, DocState> {
  7. final IDoc iDocImpl;
  8. DocBloc(this.iDocImpl) : super(DocState.initial());
  9. @override
  10. Stream<DocState> mapEventToState(DocEvent event) async* {
  11. yield* event.map(
  12. initial: (e) async* {},
  13. close: (Close value) async* {},
  14. );
  15. }
  16. }
  17. @freezed
  18. abstract class DocEvent with _$DocEvent {
  19. const factory DocEvent.initial() = Initial;
  20. const factory DocEvent.close() = Close;
  21. }
  22. @freezed
  23. abstract class DocState implements _$DocState {
  24. const factory DocState({
  25. required bool isSaving,
  26. }) = _DocState;
  27. factory DocState.initial() => const DocState(
  28. isSaving: false,
  29. );
  30. }