edit_pannel_bloc.dart 878 B

12345678910111213141516171819202122232425262728
  1. import 'package:app_flowy/home/domain/edit_context.dart';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:freezed_annotation/freezed_annotation.dart';
  5. // ignore: import_of_legacy_library_into_null_safe
  6. import 'package:flutter_bloc/flutter_bloc.dart';
  7. part 'edit_pannel_event.dart';
  8. part 'edit_pannel_state.dart';
  9. part 'edit_pannel_bloc.freezed.dart';
  10. class EditPannelBloc extends Bloc<EditPannelEvent, EditPannelState> {
  11. EditPannelBloc() : super(EditPannelState.initial());
  12. @override
  13. Stream<EditPannelState> mapEventToState(
  14. EditPannelEvent event,
  15. ) async* {
  16. yield* event.map(
  17. startEdit: (e) async* {
  18. yield state.copyWith(isEditing: true, editContext: some(e.context));
  19. },
  20. endEdit: (value) async* {
  21. yield state.copyWith(isEditing: false, editContext: none());
  22. },
  23. );
  24. }
  25. }