diff --git a/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart b/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart index ecb2b207..4c3e5b39 100644 --- a/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart +++ b/lib/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart @@ -348,17 +348,27 @@ class DeviceManagementBloc void _onUpdateDeviceName( UpdateDeviceName event, Emitter emit) { - _devices = _devices.map((device) { + final devices = _devices.map((device) { if (device.uuid == event.deviceId) { return device.copyWith(name: event.newName); } return device; }).toList(); + final filteredDevices = _filteredDevices.map((device) { + if (device.uuid == event.deviceId) { + return device.copyWith(name: event.newName); + } + return device; + }).toList(); + + _devices = devices; + _filteredDevices = filteredDevices; + if (state is DeviceManagementLoaded) { final loaded = state as DeviceManagementLoaded; emit(DeviceManagementLoaded( - devices: _devices, + devices: devices, selectedIndex: loaded.selectedIndex, onlineCount: loaded.onlineCount, offlineCount: loaded.offlineCount, @@ -369,7 +379,7 @@ class DeviceManagementBloc } else if (state is DeviceManagementFiltered) { final filtered = state as DeviceManagementFiltered; emit(DeviceManagementFiltered( - filteredDevices: _filteredDevices, + filteredDevices: filteredDevices, selectedIndex: filtered.selectedIndex, onlineCount: filtered.onlineCount, offlineCount: filtered.offlineCount, @@ -383,10 +393,7 @@ class DeviceManagementBloc void _onUpdateSubSpaceName( UpdateSubSpaceName event, Emitter emit) { _devices = _devices.map((device) { - print('before update: ${device.subspace?.subspaceName}'); if (device.uuid == event.deviceId) { - print('Updating subspace name for device: ${device.uuid}'); - print('New subspace name: ${event.newSubSpaceName}'); final updatedSubspace = device.subspace?.copyWith( subspaceName: event.newSubSpaceName, ); @@ -398,15 +405,6 @@ class DeviceManagementBloc return device; }).toList(); - print('After update:'); - for (final device in _devices) { - if (device.uuid == event.deviceId) { - print( - 'Device: ${device.uuid}, subspace: ${device.subspace?.uuid}, subspaceName: ${device.subspace?.subspaceName}', - ); - } - } - print('Subspace name updated to: $subSpaceName'); if (state is DeviceManagementLoaded) { final loaded = state as DeviceManagementLoaded; emit(DeviceManagementLoaded( diff --git a/lib/pages/device_managment/all_devices/widgets/device_managment_body.dart b/lib/pages/device_managment/all_devices/widgets/device_managment_body.dart index 75dda30b..8d108671 100644 --- a/lib/pages/device_managment/all_devices/widgets/device_managment_body.dart +++ b/lib/pages/device_managment/all_devices/widgets/device_managment_body.dart @@ -254,6 +254,7 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout { child: DeviceSettingsPanel( device: device, onClose: () => Navigator.of(context).pop(), + deviceManagementBloc: context.read(), ), ), ), diff --git a/lib/pages/device_managment/device_setting/device_settings_panel.dart b/lib/pages/device_managment/device_setting/device_settings_panel.dart index 0436b971..96e48f11 100644 --- a/lib/pages/device_managment/device_setting/device_settings_panel.dart +++ b/lib/pages/device_managment/device_setting/device_settings_panel.dart @@ -3,12 +3,12 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; +import 'package:syncrow_web/pages/device_managment/device_setting/bloc/setting_bloc_bloc.dart'; +import 'package:syncrow_web/pages/device_managment/device_setting/bloc/setting_bloc_state.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/device_icon_type_helper.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/device_management_content.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/remove_device_widget.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/device_info_model.dart'; -import 'package:syncrow_web/pages/device_managment/device_setting/bloc/setting_bloc_bloc.dart'; -import 'package:syncrow_web/pages/device_managment/device_setting/bloc/setting_bloc_state.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/sub_space_model.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/constants/assets.dart'; @@ -18,7 +18,13 @@ import 'package:syncrow_web/web_layout/default_container.dart'; class DeviceSettingsPanel extends StatelessWidget { final VoidCallback? onClose; final AllDevicesModel device; - const DeviceSettingsPanel({super.key, this.onClose, required this.device}); + final DeviceManagementBloc deviceManagementBloc; + const DeviceSettingsPanel({ + super.key, + this.onClose, + required this.device, + required this.deviceManagementBloc, + }); @override Widget build(BuildContext context) { @@ -72,10 +78,10 @@ class DeviceSettingsPanel extends StatelessWidget { 'Device Settings', style: context.theme.textTheme.titleLarge! .copyWith( - fontWeight: FontWeight.w700, + fontWeight: FontWeight.w700, color: ColorsManager.vividBlue .withOpacity(0.7), - fontSize: 24), + fontSize: 24), ), ], ), @@ -166,7 +172,7 @@ class DeviceSettingsPanel extends StatelessWidget { onTap: () { _bloc.add( const ChangeNameEvent( - value: true)); + value: true)); }, child: SvgPicture.asset( Assets