add reset event

This commit is contained in:
ashrafzarkanisala
2024-09-19 09:41:23 +03:00
parent b3807f2980
commit f2504e5f67
2 changed files with 30 additions and 0 deletions

View File

@ -24,6 +24,7 @@ class DeviceManagementBloc
on<SearchDevices>(_onSearchDevices);
on<SelectDevice>(_onSelectDevice);
on<ResetFilters>(_onResetFilters);
on<ResetSelectedDevices>(_onResetSelectedDevices);
}
Future<void> _onFetchDevices(
@ -98,6 +99,33 @@ class DeviceManagementBloc
));
}
void _onResetSelectedDevices(
ResetSelectedDevices event, Emitter<DeviceManagementState> emit) {
_selectedDevices.clear();
if (state is DeviceManagementLoaded) {
emit(DeviceManagementLoaded(
devices: _devices,
selectedIndex: _selectedIndex,
onlineCount: _onlineCount,
offlineCount: _offlineCount,
lowBatteryCount: _lowBatteryCount,
selectedDevice: null,
isControlButtonEnabled: false,
));
} else if (state is DeviceManagementFiltered) {
emit(DeviceManagementFiltered(
filteredDevices: (state as DeviceManagementFiltered).filteredDevices,
selectedIndex: _selectedIndex,
onlineCount: _onlineCount,
offlineCount: _offlineCount,
lowBatteryCount: _lowBatteryCount,
selectedDevice: null,
isControlButtonEnabled: false,
));
}
}
void _onSelectedFilterChanged(
SelectedFilterChanged event, Emitter<DeviceManagementState> emit) {
_selectedIndex = event.selectedIndex;

View File

@ -52,3 +52,5 @@ class SelectDevice extends DeviceManagementEvent {
}
class ResetFilters extends DeviceManagementEvent {}
class ResetSelectedDevices extends DeviceManagementEvent {}