mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
Improved the search for device in device management
This commit is contained in:
@ -14,3 +14,11 @@ A few resources to get you started if this is your first Flutter project:
|
|||||||
For help getting started with Flutter development, view the
|
For help getting started with Flutter development, view the
|
||||||
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
||||||
samples, guidance on mobile development, and a full API reference.
|
samples, guidance on mobile development, and a full API reference.
|
||||||
|
|
||||||
|
|
||||||
|
## USEFUL COMMANDS
|
||||||
|
|
||||||
|
Run on chrome: flutter run -d chrome --dart-define=FLAVOR='ENV_NAME'
|
||||||
|
|
||||||
|
Build: flutter build web --release --dart-define=FLAVOR='ENV_NAME'
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import 'package:bloc/bloc.dart';
|
|
||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:flutter_bloc/flutter_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/services/devices_mang_api.dart';
|
import 'package:syncrow_web/services/devices_mang_api.dart';
|
||||||
|
|
||||||
part 'device_managment_event.dart';
|
part 'device_managment_event.dart';
|
||||||
part 'device_managment_state.dart';
|
part 'device_managment_state.dart';
|
||||||
|
|
||||||
@ -13,6 +12,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
|
|||||||
int _offlineCount = 0;
|
int _offlineCount = 0;
|
||||||
int _lowBatteryCount = 0;
|
int _lowBatteryCount = 0;
|
||||||
List<AllDevicesModel> _selectedDevices = [];
|
List<AllDevicesModel> _selectedDevices = [];
|
||||||
|
List<AllDevicesModel> _filteredDevices = [];
|
||||||
String productName = '';
|
String productName = '';
|
||||||
|
|
||||||
DeviceManagementBloc() : super(DeviceManagementInitial()) {
|
DeviceManagementBloc() : super(DeviceManagementInitial()) {
|
||||||
@ -29,6 +29,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
|
|||||||
final devices = await DevicesManagementApi().fetchDevices();
|
final devices = await DevicesManagementApi().fetchDevices();
|
||||||
_selectedDevices.clear();
|
_selectedDevices.clear();
|
||||||
_devices = devices;
|
_devices = devices;
|
||||||
|
_filteredDevices = devices;
|
||||||
_calculateDeviceCounts();
|
_calculateDeviceCounts();
|
||||||
emit(DeviceManagementLoaded(
|
emit(DeviceManagementLoaded(
|
||||||
devices: devices,
|
devices: devices,
|
||||||
@ -45,7 +46,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
|
|||||||
|
|
||||||
void _onFilterDevices(FilterDevices event, Emitter<DeviceManagementState> emit) async {
|
void _onFilterDevices(FilterDevices event, Emitter<DeviceManagementState> emit) async {
|
||||||
if (_devices.isNotEmpty) {
|
if (_devices.isNotEmpty) {
|
||||||
final filteredDevices = _devices.where((device) {
|
_filteredDevices = _devices.where((device) {
|
||||||
switch (event.filter) {
|
switch (event.filter) {
|
||||||
case 'Online':
|
case 'Online':
|
||||||
return device.online == true;
|
return device.online == true;
|
||||||
@ -58,7 +59,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
|
|||||||
}
|
}
|
||||||
}).toList();
|
}).toList();
|
||||||
emit(DeviceManagementFiltered(
|
emit(DeviceManagementFiltered(
|
||||||
filteredDevices: filteredDevices,
|
filteredDevices: _filteredDevices,
|
||||||
selectedIndex: _selectedIndex,
|
selectedIndex: _selectedIndex,
|
||||||
onlineCount: _onlineCount,
|
onlineCount: _onlineCount,
|
||||||
offlineCount: _offlineCount,
|
offlineCount: _offlineCount,
|
||||||
@ -141,12 +142,7 @@ class DeviceManagementBloc extends Bloc<DeviceManagementEvent, DeviceManagementS
|
|||||||
}
|
}
|
||||||
|
|
||||||
productName = event.productName ?? '';
|
productName = event.productName ?? '';
|
||||||
|
List<AllDevicesModel> devicesToSearch = _filteredDevices;
|
||||||
List<AllDevicesModel> devicesToSearch = _devices;
|
|
||||||
|
|
||||||
if (state is DeviceManagementFiltered) {
|
|
||||||
devicesToSearch = (state as DeviceManagementFiltered).filteredDevices;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (devicesToSearch.isNotEmpty) {
|
if (devicesToSearch.isNotEmpty) {
|
||||||
_selectedDevices.clear();
|
_selectedDevices.clear();
|
||||||
|
Reference in New Issue
Block a user