mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
name changes in table when changed.
This commit is contained in:
@ -348,17 +348,27 @@ class DeviceManagementBloc
|
|||||||
|
|
||||||
void _onUpdateDeviceName(
|
void _onUpdateDeviceName(
|
||||||
UpdateDeviceName event, Emitter<DeviceManagementState> emit) {
|
UpdateDeviceName event, Emitter<DeviceManagementState> emit) {
|
||||||
_devices = _devices.map((device) {
|
final devices = _devices.map((device) {
|
||||||
if (device.uuid == event.deviceId) {
|
if (device.uuid == event.deviceId) {
|
||||||
return device.copyWith(name: event.newName);
|
return device.copyWith(name: event.newName);
|
||||||
}
|
}
|
||||||
return device;
|
return device;
|
||||||
}).toList();
|
}).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) {
|
if (state is DeviceManagementLoaded) {
|
||||||
final loaded = state as DeviceManagementLoaded;
|
final loaded = state as DeviceManagementLoaded;
|
||||||
emit(DeviceManagementLoaded(
|
emit(DeviceManagementLoaded(
|
||||||
devices: _devices,
|
devices: devices,
|
||||||
selectedIndex: loaded.selectedIndex,
|
selectedIndex: loaded.selectedIndex,
|
||||||
onlineCount: loaded.onlineCount,
|
onlineCount: loaded.onlineCount,
|
||||||
offlineCount: loaded.offlineCount,
|
offlineCount: loaded.offlineCount,
|
||||||
@ -369,7 +379,7 @@ class DeviceManagementBloc
|
|||||||
} else if (state is DeviceManagementFiltered) {
|
} else if (state is DeviceManagementFiltered) {
|
||||||
final filtered = state as DeviceManagementFiltered;
|
final filtered = state as DeviceManagementFiltered;
|
||||||
emit(DeviceManagementFiltered(
|
emit(DeviceManagementFiltered(
|
||||||
filteredDevices: _filteredDevices,
|
filteredDevices: filteredDevices,
|
||||||
selectedIndex: filtered.selectedIndex,
|
selectedIndex: filtered.selectedIndex,
|
||||||
onlineCount: filtered.onlineCount,
|
onlineCount: filtered.onlineCount,
|
||||||
offlineCount: filtered.offlineCount,
|
offlineCount: filtered.offlineCount,
|
||||||
@ -383,10 +393,7 @@ class DeviceManagementBloc
|
|||||||
void _onUpdateSubSpaceName(
|
void _onUpdateSubSpaceName(
|
||||||
UpdateSubSpaceName event, Emitter<DeviceManagementState> emit) {
|
UpdateSubSpaceName event, Emitter<DeviceManagementState> emit) {
|
||||||
_devices = _devices.map((device) {
|
_devices = _devices.map((device) {
|
||||||
print('before update: ${device.subspace?.subspaceName}');
|
|
||||||
if (device.uuid == event.deviceId) {
|
if (device.uuid == event.deviceId) {
|
||||||
print('Updating subspace name for device: ${device.uuid}');
|
|
||||||
print('New subspace name: ${event.newSubSpaceName}');
|
|
||||||
final updatedSubspace = device.subspace?.copyWith(
|
final updatedSubspace = device.subspace?.copyWith(
|
||||||
subspaceName: event.newSubSpaceName,
|
subspaceName: event.newSubSpaceName,
|
||||||
);
|
);
|
||||||
@ -398,15 +405,6 @@ class DeviceManagementBloc
|
|||||||
|
|
||||||
return device;
|
return device;
|
||||||
}).toList();
|
}).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) {
|
if (state is DeviceManagementLoaded) {
|
||||||
final loaded = state as DeviceManagementLoaded;
|
final loaded = state as DeviceManagementLoaded;
|
||||||
emit(DeviceManagementLoaded(
|
emit(DeviceManagementLoaded(
|
||||||
|
@ -254,6 +254,7 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
|
|||||||
child: DeviceSettingsPanel(
|
child: DeviceSettingsPanel(
|
||||||
device: device,
|
device: device,
|
||||||
onClose: () => Navigator.of(context).pop(),
|
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: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/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/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_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/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/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/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/pages/device_managment/device_setting/settings_model/sub_space_model.dart';
|
||||||
import 'package:syncrow_web/utils/color_manager.dart';
|
import 'package:syncrow_web/utils/color_manager.dart';
|
||||||
import 'package:syncrow_web/utils/constants/assets.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 {
|
class DeviceSettingsPanel extends StatelessWidget {
|
||||||
final VoidCallback? onClose;
|
final VoidCallback? onClose;
|
||||||
final AllDevicesModel device;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
Reference in New Issue
Block a user