From 4241750708956e535fe41e9e58649133bc2bc432 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Sat, 12 Mar 2022 23:25:23 +0100 Subject: [PATCH] Always set the values of the selected muscles and categories Otherwise it's not possible to remove all selections after having clicked on one --- lib/screens/add_exercise_screen.dart | 39 +++++++------------ .../add_exercise_multiselect_button.dart | 10 ++--- 2 files changed, 18 insertions(+), 31 deletions(-) diff --git a/lib/screens/add_exercise_screen.dart b/lib/screens/add_exercise_screen.dart index 48249b0a..432c7033 100644 --- a/lib/screens/add_exercise_screen.dart +++ b/lib/screens/add_exercise_screen.dart @@ -156,14 +156,10 @@ class _BasicStepContent extends StatelessWidget { items: equipment, initialItems: addExerciseProvider.equipment, onChange: (dynamic entries) { - if (entries != null && entries.isNotEmpty) { - addExerciseProvider.equipment = entries.cast(); - } + addExerciseProvider.equipment = entries.cast(); }, onSaved: (dynamic entries) { - if (entries != null && entries.isNotEmpty) { - addExerciseProvider.equipment = entries.cast(); - } + addExerciseProvider.equipment = entries.cast(); }, ), AddExerciseMultiselectButton( @@ -171,30 +167,23 @@ class _BasicStepContent extends StatelessWidget { items: muscles, initialItems: addExerciseProvider.primaryMuscles, onChange: (dynamic muscles) { - if (muscles != null && muscles.isNotEmpty) { - addExerciseProvider.primaryMuscles = muscles.cast(); - } + addExerciseProvider.primaryMuscles = muscles.cast(); }, onSaved: (dynamic muscles) { - if (muscles != null && muscles.isNotEmpty) { - addExerciseProvider.primaryMuscles = muscles.cast(); - } + addExerciseProvider.primaryMuscles = muscles.cast(); }, ), AddExerciseMultiselectButton( - title: AppLocalizations.of(context).musclesSecondary, - items: muscles, - initialItems: addExerciseProvider.secondaryMuscles, - onChange: (dynamic muscles) { - if (muscles != null && muscles.isNotEmpty) { - addExerciseProvider.secondaryMuscles = muscles.cast(); - } - }, - onSaved: (dynamic muscles) { - if (muscles != null && muscles.isNotEmpty) { - addExerciseProvider.secondaryMuscles = muscles.cast(); - } - }), + title: AppLocalizations.of(context).musclesSecondary, + items: muscles, + initialItems: addExerciseProvider.secondaryMuscles, + onChange: (dynamic muscles) { + addExerciseProvider.secondaryMuscles = muscles.cast(); + }, + onSaved: (dynamic muscles) { + addExerciseProvider.secondaryMuscles = muscles.cast(); + }, + ), MuscleRowWidget( muscles: addExerciseProvider.primaryMuscles, musclesSecondary: addExerciseProvider.secondaryMuscles, diff --git a/lib/widgets/add_exercise/add_exercise_multiselect_button.dart b/lib/widgets/add_exercise/add_exercise_multiselect_button.dart index af8d131a..86078f49 100644 --- a/lib/widgets/add_exercise/add_exercise_multiselect_button.dart +++ b/lib/widgets/add_exercise/add_exercise_multiselect_button.dart @@ -32,12 +32,10 @@ class _AddExerciseMultiselectButtonState extends State MultiSelectItem(item, item.name)).toList(), onConfirm: (value) { - if (value.isNotEmpty) { - setState(() { - _selectedItems = value.cast(); - widget.onChange(_selectedItems); - }); - } + setState(() { + _selectedItems = value.cast(); + widget.onChange(_selectedItems); + }); }, chipDisplay: MultiSelectChipDisplay( //scroll: true,