Added spaces devices

This commit is contained in:
Abdullah Alassaf
2025-01-05 00:21:10 +03:00
parent a98f7e77a3
commit 540f569b1f
3 changed files with 131 additions and 129 deletions

View File

@ -17,8 +17,6 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
String currentProductName = '';
String? currentCommunity;
String? currentUnitName;
String? communityId;
String? spaceId;
DeviceManagementBloc() : super(DeviceManagementInitial()) {
on<FetchDevices>(_onFetchDevices);
@ -34,13 +32,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
Future<void> _onFetchDevices(FetchDevices event, Emitter<DeviceManagementState> emit) async {
emit(DeviceManagementLoading());
try {
if (event.communityId.isNotEmpty) {
communityId = event.communityId;
}
if (event.spaceId.isNotEmpty) {
spaceId = event.spaceId;
}
final devices = await DevicesManagementApi().fetchDevices(communityId ?? '', spaceId ?? '');
final devices = await DevicesManagementApi().fetchDevices(event.communityId, event.spaceId);
_selectedDevices.clear();
_devices = devices;
_filteredDevices = devices;

View File

@ -80,7 +80,7 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
return BlocBuilder<DeviceManagementBloc, DeviceManagementState>(
builder: (context, deviceState) {
if (deviceState is DeviceManagementLoading) {
return const Center(child: CircularProgressIndicator());
return const DeviceManagementBody(devices: []);
} else if (deviceState is DeviceManagementLoaded) {
return DeviceManagementBody(devices: deviceState.devices);
} else if (deviceState is DeviceManagementFiltered) {

View File

@ -69,7 +69,9 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
)),
Flexible(
flex: 3,
child: Column(
child: state is DeviceManagementLoading
? const Center(child: CircularProgressIndicator())
: Column(
children: [
Container(
padding: isLargeScreenSize(context)
@ -83,7 +85,9 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
tabs: tabs,
selectedIndex: selectedIndex,
onTabChanged: (index) {
context.read<DeviceManagementBloc>().add(SelectedFilterChanged(index));
context
.read<DeviceManagementBloc>()
.add(SelectedFilterChanged(index));
},
),
const SizedBox(height: 20),
@ -144,7 +148,9 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
cellDecoration: containerDecoration,
onRowSelected: (index, isSelected, row) {
final selectedDevice = devicesToShow[index];
context.read<DeviceManagementBloc>().add(SelectDevice(selectedDevice));
context
.read<DeviceManagementBloc>()
.add(SelectDevice(selectedDevice));
},
withCheckBox: true,
size: MediaQuery.of(context).size,
@ -163,7 +169,9 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
data: devicesToShow.map((device) {
final combinedSpaceNames = device.spaces != null
? device.spaces!.map((space) => space.spaceName).join(' > ') +
(device.community != null ? ' > ${device.community!.name}' : '')
(device.community != null
? ' > ${device.community!.name}'
: '')
: (device.community != null ? device.community!.name : '');
return [
@ -183,7 +191,9 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
];
}).toList(),
onSelectionChanged: (selectedRows) {
context.read<DeviceManagementBloc>().add(UpdateSelection(selectedRows));
context
.read<DeviceManagementBloc>()
.add(UpdateSelection(selectedRows));
},
initialSelectedIds: context
.read<DeviceManagementBloc>()