WT 1.1.13 Test Central bug fixes

This commit is contained in:
bossanyit
2021-04-19 00:16:07 +02:00
parent 4cde174a83
commit cc1117d8a1
39 changed files with 1114 additions and 214 deletions
+1 -1
View File
@@ -136,7 +136,7 @@ class SalesBloc extends Bloc<SalesEvent, SalesState> with Logging {
}
product2Display.sort((a, b) {
return a.sort < b.sort ? a.sort : b.sort;
return a.sort < b.sort ? -1 : 1;
});
productTest.productId = productId;
+32 -23
View File
@@ -8,6 +8,7 @@ import 'package:aitrainer_app/model/exercise_plan.dart';
import 'package:aitrainer_app/model/exercise_plan_detail.dart';
import 'package:aitrainer_app/model/exercise_plan_template.dart';
import 'package:aitrainer_app/model/exercise_type.dart';
import 'package:aitrainer_app/model/workout_menu_tree.dart';
import 'package:aitrainer_app/repository/workout_tree_repository.dart';
import 'package:aitrainer_app/service/exercise_plan_service.dart';
import 'package:aitrainer_app/util/enums.dart';
@@ -28,6 +29,9 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
final List<ExerciseType> _actualExerciseTypes = [];
final HashMap<int, ExerciseType?> _exercisePlanDetails = HashMap();
final HashMap<int, List<ExerciseType>?> _displayPlanDetails = HashMap();
int? sliderIndex;
TestSetEditBloc(
{required this.templateName, required this.templateNameTranslation, required this.workoutTreeRepository, required this.menuBloc})
: super(TestSetEditInitial()) {
@@ -36,12 +40,24 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
final ExercisePlanTemplate template = element as ExercisePlanTemplate;
if (template.name == templateName) {
templateDescription = template.descriptionTranslation;
int index = 0;
template.exerciseTypes.forEach((id) {
final ExerciseType? exerciseType = Cache().getExerciseTypeById(id);
if (exerciseType != null) {
_exerciseTypes.add(exerciseType);
_actualExerciseTypes.add(exerciseType);
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
_exercisePlanDetails[index] = exerciseType;
_displayPlanDetails[index] = [exerciseType];
final WorkoutMenuTree? workoutTree = menuBloc.menuTreeRepository.getMenuItemByExerciseTypeId(exerciseType.exerciseTypeId);
final List<WorkoutMenuTree>? alternativeMenuItems = menuBloc.menuTreeRepository.getWorkoutTreeAlternatives(workoutTree);
if (alternativeMenuItems != null) {
final List<ExerciseType>? actualList = _displayPlanDetails[index];
alternativeMenuItems.forEach((element) {
actualList!.add(element.exerciseType!);
});
}
index++;
}
});
}
@@ -54,32 +70,24 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
try {
if (event is TestSetEditChangeExerciseType) {
yield TestSetEditLoading();
final List<ExerciseType> alternatives = workoutTreeRepository.getExerciseTypeAlternatives(event.exerciseTypeId);
final ExerciseType? exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
if (exerciseType != null) {
if (_exercisePlanDetails[event.exerciseTypeId] == null) {
/// it was skipped
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
} else {
if (event.index == 0) {
_exercisePlanDetails[exerciseType.exerciseTypeId] = exerciseType;
} else {
final changedExerciseType = alternatives[event.index - 1];
_exercisePlanDetails[exerciseType.exerciseTypeId] = changedExerciseType;
}
}
ExerciseType? exerciseType;
if (_exercisePlanDetails[event.indexKey] == null) {
exerciseType = displayPlanDetails[event.indexKey][0];
} else {
exerciseType = displayPlanDetails[event.indexKey][event.index];
}
// to keep the slider accurate
refreshActualPlan();
_exercisePlanDetails[event.indexKey] = exerciseType;
this.sliderIndex = event.index;
yield TestSetEditReady();
} else if (event is TestSetEditDeleteExerciseType) {
yield TestSetEditLoading();
final ExerciseType? exerciseType = Cache().getExerciseTypeById(event.exerciseTypeId);
if (exerciseType != null) {
_exercisePlanDetails[exerciseType.exerciseTypeId] = null;
}
refreshActualPlan();
_exercisePlanDetails[event.indexKey] = null;
yield TestSetEditReady();
} else if (event is TestSetEditAddExerciseType) {
yield TestSetEditLoading();
ExerciseType exerciseType = displayPlanDetails[event.indexKey][0];
_exercisePlanDetails[event.indexKey] = exerciseType;
yield TestSetEditReady();
} else if (event is TestSetEditSubmit) {
yield TestSetEditLoading();
@@ -114,6 +122,7 @@ class TestSetEditBloc extends Bloc<TestSetEditEvent, TestSetEditState> {
List get exerciseTypes => this._exerciseTypes;
List get actualExerciseTypes => this._actualExerciseTypes;
HashMap get exercisePlanDetails => this._exercisePlanDetails;
get displayPlanDetails => this._displayPlanDetails;
void refreshActualPlan() {
_actualExerciseTypes.removeRange(0, _actualExerciseTypes.length - 1);
@@ -13,19 +13,27 @@ class TestSetEditLoad extends TestSetEditEvent {
class TestSetEditChangeExerciseType extends TestSetEditEvent {
final int index;
final int exerciseTypeId;
const TestSetEditChangeExerciseType({required this.index, required this.exerciseTypeId});
final int indexKey;
const TestSetEditChangeExerciseType({required this.index, required this.indexKey});
@override
List<Object> get props => [index, exerciseTypeId];
List<Object> get props => [index, indexKey];
}
class TestSetEditDeleteExerciseType extends TestSetEditEvent {
final int exerciseTypeId;
const TestSetEditDeleteExerciseType({required this.exerciseTypeId});
final int indexKey;
const TestSetEditDeleteExerciseType({required this.indexKey});
@override
List<Object> get props => [exerciseTypeId];
List<Object> get props => [indexKey];
}
class TestSetEditAddExerciseType extends TestSetEditEvent {
final int indexKey;
const TestSetEditAddExerciseType({required this.indexKey});
@override
List<Object> get props => [indexKey];
}
class TestSetEditSkipExerciseType extends TestSetEditEvent {
@@ -37,6 +37,7 @@ class TestSetExecuteBloc extends Bloc<TestSetExecuteEvent, TestSetExecuteState>
void initExercisePlan() {
exercisePlan = Cache().activeExercisePlan;
if (exercisePlan != null) {
print("Ability ${exercisePlan!.type!}");
testName = exercisePlan!.name;
this.miniTestSet = exercisePlan!.type != null && ExerciseAbility.mini_test_set.equalsStringTo(exercisePlan!.type!);
this.paralellTest = exercisePlan!.type != null && ExerciseAbility.paralell_test.equalsStringTo(exercisePlan!.type!);
@@ -265,7 +266,7 @@ class TestSetExecuteBloc extends Bloc<TestSetExecuteEvent, TestSetExecuteState>
HashMap ret = HashMap();
if (exercisePlan != null && ExerciseAbility.mini_test_set.equalsStringTo(exercisePlan!.type!)) {
final String message = "You have an active Test Set!";
final String message2 = "Do you want you to override it?";
final String message2 = "Do you want to override it?";
ret['message'] = message;
ret['message2'] = message2;
ret['canAdd'] = false;