put isLoading in existing setState and move mounted check up
This commit is contained in:
@@ -53,37 +53,35 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
|||||||
db.playerDao.getAllPlayers(),
|
db.playerDao.getAllPlayers(),
|
||||||
Future.delayed(minimumSkeletonDuration),
|
Future.delayed(minimumSkeletonDuration),
|
||||||
]).then((results) => results[0] as List<Player>);
|
]).then((results) => results[0] as List<Player>);
|
||||||
_allPlayersFuture.then((loadedPlayers) {
|
if (mounted) {
|
||||||
setState(() {
|
_allPlayersFuture.then((loadedPlayers) {
|
||||||
// If a list of available players is provided, use that list.
|
|
||||||
if (widget.availablePlayers.isNotEmpty) {
|
|
||||||
widget.availablePlayers.sort((a, b) => a.name.compareTo(b.name));
|
|
||||||
allPlayers = [...widget.availablePlayers];
|
|
||||||
suggestedPlayers = [...allPlayers];
|
|
||||||
|
|
||||||
if (widget.initialSelectedPlayers != null) {
|
|
||||||
// Ensures that only players available for selection are pre-selected.
|
|
||||||
selectedPlayers = widget.initialSelectedPlayers!
|
|
||||||
.where(
|
|
||||||
(p) => widget.availablePlayers.any(
|
|
||||||
(available) => available.id == p.id,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Otherwise, use the loaded players from the database.
|
|
||||||
loadedPlayers.sort((a, b) => a.name.compareTo(b.name));
|
|
||||||
allPlayers = [...loadedPlayers];
|
|
||||||
suggestedPlayers = [...loadedPlayers];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (mounted) {
|
|
||||||
setState(() {
|
setState(() {
|
||||||
|
// If a list of available players is provided, use that list.
|
||||||
|
if (widget.availablePlayers.isNotEmpty) {
|
||||||
|
widget.availablePlayers.sort((a, b) => a.name.compareTo(b.name));
|
||||||
|
allPlayers = [...widget.availablePlayers];
|
||||||
|
suggestedPlayers = [...allPlayers];
|
||||||
|
|
||||||
|
if (widget.initialSelectedPlayers != null) {
|
||||||
|
// Ensures that only players available for selection are pre-selected.
|
||||||
|
selectedPlayers = widget.initialSelectedPlayers!
|
||||||
|
.where(
|
||||||
|
(p) => widget.availablePlayers.any(
|
||||||
|
(available) => available.id == p.id,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Otherwise, use the loaded players from the database.
|
||||||
|
loadedPlayers.sort((a, b) => a.name.compareTo(b.name));
|
||||||
|
allPlayers = [...loadedPlayers];
|
||||||
|
suggestedPlayers = [...loadedPlayers];
|
||||||
|
}
|
||||||
isLoading = false;
|
isLoading = false;
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
Reference in New Issue
Block a user