Always set the values of the selected muscles and categories

Otherwise it's not possible to remove all selections after having clicked on one
This commit is contained in:
Roland Geider
2022-03-12 23:25:23 +01:00
parent 633e7b76d4
commit 4241750708
2 changed files with 18 additions and 31 deletions

View File

@@ -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<Equipment>();
}
addExerciseProvider.equipment = entries.cast<Equipment>();
},
onSaved: (dynamic entries) {
if (entries != null && entries.isNotEmpty) {
addExerciseProvider.equipment = entries.cast<Equipment>();
}
addExerciseProvider.equipment = entries.cast<Equipment>();
},
),
AddExerciseMultiselectButton<Muscle>(
@@ -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<Muscle>();
}
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
onSaved: (dynamic muscles) {
if (muscles != null && muscles.isNotEmpty) {
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
}
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
),
AddExerciseMultiselectButton<Muscle>(
title: AppLocalizations.of(context).musclesSecondary,
items: muscles,
initialItems: addExerciseProvider.secondaryMuscles,
onChange: (dynamic muscles) {
if (muscles != null && muscles.isNotEmpty) {
addExerciseProvider.secondaryMuscles = muscles.cast<Muscle>();
}
},
onSaved: (dynamic muscles) {
if (muscles != null && muscles.isNotEmpty) {
addExerciseProvider.secondaryMuscles = muscles.cast<Muscle>();
}
}),
title: AppLocalizations.of(context).musclesSecondary,
items: muscles,
initialItems: addExerciseProvider.secondaryMuscles,
onChange: (dynamic muscles) {
addExerciseProvider.secondaryMuscles = muscles.cast<Muscle>();
},
onSaved: (dynamic muscles) {
addExerciseProvider.secondaryMuscles = muscles.cast<Muscle>();
},
),
MuscleRowWidget(
muscles: addExerciseProvider.primaryMuscles,
musclesSecondary: addExerciseProvider.secondaryMuscles,

View File

@@ -32,12 +32,10 @@ class _AddExerciseMultiselectButtonState<T> extends State<AddExerciseMultiselect
onSaved: widget.onSaved,
items: widget.items.map((item) => MultiSelectItem<T>(item, item.name)).toList(),
onConfirm: (value) {
if (value.isNotEmpty) {
setState(() {
_selectedItems = value.cast<T>();
widget.onChange(_selectedItems);
});
}
setState(() {
_selectedItems = value.cast<T>();
widget.onChange(_selectedItems);
});
},
chipDisplay: MultiSelectChipDisplay(
//scroll: true,