From e06a5fdeb47e79a605c3c583633676fd55d577a3 Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Wed, 25 Aug 2021 16:12:42 +0200 Subject: [PATCH] Fix device with no config --- .../Devices/change_device_info_modal.dart | 33 +++++++++++-------- .../Devices/dropDown_configuration.dart | 3 +- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/lib/Screens/Devices/change_device_info_modal.dart b/lib/Screens/Devices/change_device_info_modal.dart index 25d7791..8698c4a 100644 --- a/lib/Screens/Devices/change_device_info_modal.dart +++ b/lib/Screens/Devices/change_device_info_modal.dart @@ -46,21 +46,26 @@ showChangeInfo (String text, DeviceDTO inputDevice, Function onGetResult, int ma future: getConfigurations(appContext), builder: (context, AsyncSnapshot snapshot) { if (snapshot.connectionState == ConnectionState.done) { - return Row( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: DropDownConfig( - configurations: snapshot.data, - selectedConfigurationId: inputDevice.configurationId, - onChange: (ConfigurationDTO configurationOut) { - inputDevice.configuration = configurationOut.label; - inputDevice.configurationId = configurationOut.id; - }, + if (snapshot.data.length > 0) { + return Row( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: DropDownConfig( + configurations: snapshot.data, + selectedConfigurationId: inputDevice.configurationId, + onChange: (ConfigurationDTO configurationOut) { + inputDevice.configuration = configurationOut.label; + inputDevice.configurationId = configurationOut.id; + }, + ), ), - ), - ], - ); + ], + ); + } else { + return Text("Aucune configuration trouvée"); + } + } else if (snapshot.connectionState == ConnectionState.none) { return Text("No data"); } else { diff --git a/lib/Screens/Devices/dropDown_configuration.dart b/lib/Screens/Devices/dropDown_configuration.dart index 8809df6..c6e49bc 100644 --- a/lib/Screens/Devices/dropDown_configuration.dart +++ b/lib/Screens/Devices/dropDown_configuration.dart @@ -22,7 +22,8 @@ class _DropDownConfigState extends State { @override void initState() { - configurationDTO = widget.configurations.firstWhere((config) => config.id == widget.selectedConfigurationId); + if (widget.selectedConfigurationId != null) + configurationDTO = widget.configurations.firstWhere((config) => config.id == widget.selectedConfigurationId); super.initState(); }