WT 1.1.26+3 bloc migration
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import 'dart:async';
|
||||
import 'package:aitrainer_app/bloc/timer/timer_bloc.dart';
|
||||
import 'package:aitrainer_app/model/exercise.dart';
|
||||
import 'package:aitrainer_app/repository/exercise_repository.dart';
|
||||
@@ -39,8 +38,14 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
List<Exercise> controlList = [];
|
||||
|
||||
@override
|
||||
ExerciseControlBloc({required this.exerciseRepository, required this.readonly, required this.timerBloc})
|
||||
: super(ExerciseControlInitial()) {
|
||||
ExerciseControlBloc({required this.exerciseRepository, required this.readonly, required this.timerBloc}) : super(ExerciseControlInitial()) {
|
||||
_load();
|
||||
on<ExerciseControlQuantityChange>(_onQuantityChange);
|
||||
on<ExerciseControlUnitQuantityChange>(_onQuantityUnitChange);
|
||||
on<ExerciseControlSubmit>(_onSubmit);
|
||||
}
|
||||
|
||||
void _load() {
|
||||
print("Exercise ${exerciseRepository.exercise!.toJson()}");
|
||||
|
||||
exerciseTypeLocal = ExerciseTypeLocal.oneRepMax;
|
||||
@@ -69,47 +74,46 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
timerBloc.add(TimerStart(duration: 300));
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<ExerciseControlState> mapEventToState(ExerciseControlEvent event) async* {
|
||||
try {
|
||||
if (event is ExerciseControlQuantityChange) {
|
||||
if (event.step == step) {
|
||||
exerciseRepository.setQuantity(event.quantity);
|
||||
quantity = event.quantity;
|
||||
controlList[step - 1].quantity = quantity;
|
||||
}
|
||||
} else if (event is ExerciseControlUnitQuantityChange) {
|
||||
yield ExerciseControlLoading();
|
||||
print("event step ${event.step} quantity ${event.quantity}");
|
||||
if (event.step == step) {
|
||||
this.unitQuantity = event.quantity;
|
||||
exerciseRepository.setUnitQuantity(event.quantity);
|
||||
unitQuantity = event.quantity;
|
||||
quantity = calculateQuantityByUnitQuantity().toDouble();
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
controlList[step - 1].unitQuantity = event.quantity;
|
||||
controlList[step - 1].quantity = quantity;
|
||||
}
|
||||
yield ExerciseControlReady();
|
||||
} else if (event is ExerciseControlSubmit) {
|
||||
yield ExerciseControlLoading();
|
||||
if (event.step == step) {
|
||||
step++;
|
||||
scrollOffset = step * 400.0;
|
||||
|
||||
if (exerciseRepository.exercise!.quantity == null) {
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
}
|
||||
exerciseRepository.end = DateTime.now();
|
||||
await exerciseRepository.addExercise();
|
||||
|
||||
step <= 3 ? timerBloc.add(TimerStart(duration: 300)) : timerBloc.add(TimerEnd(duration: 300));
|
||||
}
|
||||
yield ExerciseControlReady();
|
||||
}
|
||||
} on Exception catch (e) {
|
||||
yield ExerciseControlError(message: e.toString());
|
||||
void _onQuantityChange(ExerciseControlQuantityChange event, Emitter<ExerciseControlState> emit) {
|
||||
emit(ExerciseControlLoading());
|
||||
if (event.step == step) {
|
||||
exerciseRepository.setQuantity(event.quantity);
|
||||
quantity = event.quantity;
|
||||
controlList[step - 1].quantity = quantity;
|
||||
}
|
||||
emit(ExerciseControlReady());
|
||||
}
|
||||
|
||||
void _onQuantityUnitChange(ExerciseControlUnitQuantityChange event, Emitter<ExerciseControlState> emit) {
|
||||
emit(ExerciseControlLoading());
|
||||
print("event step ${event.step} quantity ${event.quantity}");
|
||||
if (event.step == step) {
|
||||
this.unitQuantity = event.quantity;
|
||||
exerciseRepository.setUnitQuantity(event.quantity);
|
||||
unitQuantity = event.quantity;
|
||||
quantity = calculateQuantityByUnitQuantity().toDouble();
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
controlList[step - 1].unitQuantity = event.quantity;
|
||||
controlList[step - 1].quantity = quantity;
|
||||
}
|
||||
emit(ExerciseControlReady());
|
||||
}
|
||||
|
||||
void _onSubmit(ExerciseControlSubmit event, Emitter<ExerciseControlState> emit) async {
|
||||
emit(ExerciseControlLoading());
|
||||
if (event.step == step) {
|
||||
step++;
|
||||
scrollOffset = step * 400.0;
|
||||
|
||||
if (exerciseRepository.exercise!.quantity == null) {
|
||||
exerciseRepository.setQuantity(quantity);
|
||||
}
|
||||
exerciseRepository.end = DateTime.now();
|
||||
await exerciseRepository.addExercise();
|
||||
|
||||
step <= 3 ? timerBloc.add(TimerStart(duration: 300)) : timerBloc.add(TimerEnd(duration: 300));
|
||||
}
|
||||
emit(ExerciseControlReady());
|
||||
}
|
||||
|
||||
double calculate1RM({bool percent75 = true}) {
|
||||
|
||||
Reference in New Issue
Block a user