fix selection for the devices

This commit is contained in:
ashrafzarkanisala
2024-08-27 18:49:59 +03:00
parent 56edcaf788
commit 76b3b6a432
6 changed files with 71 additions and 64 deletions

View File

@ -34,7 +34,7 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
FutureOr<void> _onAcControl(AcControl event, Emitter<AcsState> emit) async {
final oldValue = _getValueByCode(event.code);
_updateLocalValue(event.code, event.value);
_updateLocalValue(event.code, event.value, emit);
emit(ACStatusLoaded(deviceStatus));
@ -75,12 +75,12 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
void _revertValueAndEmit(
String deviceId, String code, dynamic oldValue, Emitter<AcsState> emit) {
_updateLocalValue(code, oldValue);
_updateLocalValue(code, oldValue, emit);
emit(ACStatusLoaded(deviceStatus));
emit(const AcsFailedState(error: 'Failed to control the device.'));
}
void _updateLocalValue(String code, dynamic value) {
void _updateLocalValue(String code, dynamic value, Emitter<AcsState> emit) {
switch (code) {
case 'switch':
if (value is bool) {

View File

@ -1,35 +0,0 @@
// import 'package:flutter/cupertino.dart';
// import 'package:syncrow_web/pages/device_managment/ac/control_list/ac_mode.dart';
// import 'package:syncrow_web/pages/device_managment/ac/control_list/ac_toggle.dart';
// import 'package:syncrow_web/pages/device_managment/ac/control_list/current_temp.dart';
// import 'package:syncrow_web/utils/constants/assets.dart';
// mixin ACHelper {
// Widget acHelperControlWidgets({
// required dynamic value,
// required String code,
// required String deviceId,
// }) {
// switch (code) {
// case 'switch':
// return AcToggle(value: value, code: code, deviceId: deviceId);
// case 'temp_current':
// return CurrentTemp(value: value, code: 'temp_set', deviceId: deviceId);
// case 'temp_set':
// return SizedBox();
// case 'mode':
// return AcMode(value: value, code: code, deviceId: deviceId);
// case 'level':
// return SizedBox();
// case 'child_lock':
// return AcToggle(
// value: value,
// code: code,
// deviceId: deviceId,
// icon: Assets.childLock,
// description: 'Child Lock');
// default:
// return const SizedBox();
// }
// }
// }