Initial draft
This commit is contained in:
31
lib/widget/operations/bloc/operation_bloc.dart
Normal file
31
lib/widget/operations/bloc/operation_bloc.dart
Normal file
@ -0,0 +1,31 @@
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:hl_lieferservice/widget/operations/bloc/operation_event.dart';
|
||||
import 'package:hl_lieferservice/widget/operations/bloc/operation_state.dart';
|
||||
|
||||
class OperationBloc extends Bloc<OperationEvent, OperationState> {
|
||||
OperationBloc() : super(OperationIdle()) {
|
||||
on<LoadOperation>(_loadOperation);
|
||||
on<FailOperation>(_failOperation);
|
||||
on<FinishOperation>(_finishOperation);
|
||||
}
|
||||
|
||||
Future<void> _loadOperation(LoadOperation event, Emitter<OperationState> emit) async {
|
||||
emit(OperationLoading());
|
||||
}
|
||||
|
||||
Future<void> _failOperation(FailOperation event, Emitter<OperationState> emit) async {
|
||||
emit(OperationFailed(message: event.message));
|
||||
|
||||
await Future.delayed(Duration(seconds: 5));
|
||||
|
||||
emit(OperationIdle());
|
||||
}
|
||||
|
||||
Future<void> _finishOperation(FinishOperation event, Emitter<OperationState> emit) async {
|
||||
emit(OperationFinished(message: event.message));
|
||||
|
||||
await Future.delayed(Duration(seconds: 5));
|
||||
|
||||
emit(OperationIdle());
|
||||
}
|
||||
}
|
||||
15
lib/widget/operations/bloc/operation_event.dart
Normal file
15
lib/widget/operations/bloc/operation_event.dart
Normal file
@ -0,0 +1,15 @@
|
||||
abstract class OperationEvent {}
|
||||
|
||||
class LoadOperation extends OperationEvent {}
|
||||
|
||||
class FailOperation extends OperationEvent {
|
||||
String message;
|
||||
|
||||
FailOperation({required this.message});
|
||||
}
|
||||
|
||||
class FinishOperation extends OperationEvent {
|
||||
String? message;
|
||||
|
||||
FinishOperation({this.message});
|
||||
}
|
||||
17
lib/widget/operations/bloc/operation_state.dart
Normal file
17
lib/widget/operations/bloc/operation_state.dart
Normal file
@ -0,0 +1,17 @@
|
||||
abstract class OperationState {}
|
||||
|
||||
class OperationIdle extends OperationState {}
|
||||
|
||||
class OperationLoading extends OperationState {}
|
||||
|
||||
class OperationFailed extends OperationState {
|
||||
String message;
|
||||
|
||||
OperationFailed({required this.message});
|
||||
}
|
||||
|
||||
class OperationFinished extends OperationState {
|
||||
String? message;
|
||||
|
||||
OperationFinished({this.message});
|
||||
}
|
||||
Reference in New Issue
Block a user