mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 07:07:19 +00:00
name changes in table when changed.
This commit is contained in:
@ -348,17 +348,27 @@ class DeviceManagementBloc
|
||||
|
||||
void _onUpdateDeviceName(
|
||||
UpdateDeviceName event, Emitter<DeviceManagementState> 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<DeviceManagementState> 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(
|
||||
|
@ -254,6 +254,7 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
|
||||
child: DeviceSettingsPanel(
|
||||
device: device,
|
||||
onClose: () => Navigator.of(context).pop(),
|
||||
deviceManagementBloc: context.read<DeviceManagementBloc>(),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user