From 62fb8b30975dc4af0e2a62ae6f07c6dc87d4f6fe Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Mon, 21 Apr 2025 10:28:44 +0300 Subject: [PATCH] SP-1441 --- .../widgets/routine_dialogs/ac_dialog.dart | 33 +++++++++---------- .../one_gang_switch_dialog.dart | 4 +-- .../three_gang_switch_dialog.dart | 4 +-- .../two_gang_switch_dialog.dart | 4 +-- .../wps_value_selector_widget.dart | 6 ++-- 5 files changed, 24 insertions(+), 27 deletions(-) diff --git a/lib/pages/routines/widgets/routine_dialogs/ac_dialog.dart b/lib/pages/routines/widgets/routine_dialogs/ac_dialog.dart index 0bba956a..68cf857d 100644 --- a/lib/pages/routines/widgets/routine_dialogs/ac_dialog.dart +++ b/lib/pages/routines/widgets/routine_dialogs/ac_dialog.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; +import 'package:syncrow_web/pages/routines/bloc/functions_bloc/functions_bloc_bloc.dart'; import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart'; import 'package:syncrow_web/pages/routines/models/ac/ac_function.dart'; import 'package:syncrow_web/pages/routines/models/ac/ac_operational_value.dart'; @@ -9,8 +11,6 @@ import 'package:syncrow_web/pages/routines/widgets/dialog_footer.dart'; import 'package:syncrow_web/pages/routines/widgets/dialog_header.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/extension/build_context_x.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:syncrow_web/pages/routines/bloc/functions_bloc/functions_bloc_bloc.dart'; class ACHelper { static Future?> showACFunctionsDialog({ @@ -74,10 +74,8 @@ class ACHelper { child: _buildFunctionsList( context: context, acFunctions: acFunctions, - onFunctionSelected: - (functionCode, operationName) => context - .read() - .add(SelectFunction( + onFunctionSelected: (functionCode, operationName) => + context.read().add(SelectFunction( functionCode: functionCode, operationName: operationName, )), @@ -191,8 +189,9 @@ class ACHelper { required String operationName, bool? removeComparators, }) { + final initialVal = selectedFunction == 'temp_set' ? 200 : -100; if (selectedFunction == 'temp_set' || selectedFunction == 'temp_current') { - final initialValue = selectedFunctionData?.value ?? 250; + final initialValue = selectedFunctionData?.value ?? initialVal; return _buildTemperatureSelector( context: context, initialValue: initialValue, @@ -205,8 +204,7 @@ class ACHelper { ); } - final selectedFn = - acFunctions.firstWhere((f) => f.code == selectedFunction); + final selectedFn = acFunctions.firstWhere((f) => f.code == selectedFunction); final values = selectedFn.getOperationalValues(); return _buildOperationalValuesList( @@ -287,7 +285,9 @@ class ACHelper { functionCode: selectCode, operationName: operationName, condition: conditions[index], - value: selectedFunctionData?.value ?? 0.0, + value: selectedFunctionData?.value ?? selectCode == 'temp_set' + ? 200 + : -100, valueDescription: selectedFunctionData?.valueDescription, ), ), @@ -302,8 +302,7 @@ class ACHelper { minHeight: 40.0, minWidth: 40.0, ), - isSelected: - conditions.map((c) => c == (currentCondition ?? "==")).toList(), + isSelected: conditions.map((c) => c == (currentCondition ?? "==")).toList(), children: conditions.map((c) => Text(c)).toList(), ); } @@ -317,6 +316,7 @@ class ACHelper { DeviceFunctionData? selectedFunctionData, String selectCode, ) { + final initialVal = selectCode == 'temp_set' ? 200 : -100; return Container( padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10), decoration: BoxDecoration( @@ -324,7 +324,7 @@ class ACHelper { borderRadius: BorderRadius.circular(10), ), child: Text( - '${(initialValue ?? 200) / 10}°C', + '${(initialValue ?? initialVal) / 10}°C', style: context.textTheme.headlineMedium!.copyWith( color: ColorsManager.primaryColorWithOpacity, ), @@ -397,9 +397,7 @@ class ACHelper { style: context.textTheme.bodyMedium, ), trailing: Icon( - isSelected - ? Icons.radio_button_checked - : Icons.radio_button_unchecked, + isSelected ? Icons.radio_button_checked : Icons.radio_button_unchecked, size: 24, color: isSelected ? ColorsManager.primaryColorWithOpacity @@ -415,8 +413,7 @@ class ACHelper { operationName: operationName, value: value.value, condition: selectedFunctionData?.condition, - valueDescription: - selectedFunctionData?.valueDescription, + valueDescription: selectedFunctionData?.valueDescription, ), ), ); diff --git a/lib/pages/routines/widgets/routine_dialogs/one_gang_switch_dialog.dart b/lib/pages/routines/widgets/routine_dialogs/one_gang_switch_dialog.dart index 4290be37..e56da833 100644 --- a/lib/pages/routines/widgets/routine_dialogs/one_gang_switch_dialog.dart +++ b/lib/pages/routines/widgets/routine_dialogs/one_gang_switch_dialog.dart @@ -164,7 +164,7 @@ class OneGangSwitchHelper { required bool removeComparetors, }) { if (selectedFunction == 'countdown_1') { - final initialValue = selectedFunctionData?.value ?? 200; + final initialValue = selectedFunctionData?.value ?? 0; return _buildCountDownSelector( context: context, initialValue: initialValue, @@ -250,7 +250,7 @@ class OneGangSwitchHelper { functionCode: selectCode, operationName: operationName, condition: conditions[index], - value: selectedFunctionData?.value ?? 0.0, + value: selectedFunctionData?.value ?? 0, valueDescription: selectedFunctionData?.valueDescription, ), ), diff --git a/lib/pages/routines/widgets/routine_dialogs/three_gang_switch_dialog.dart b/lib/pages/routines/widgets/routine_dialogs/three_gang_switch_dialog.dart index f1cbd6aa..ab62a52c 100644 --- a/lib/pages/routines/widgets/routine_dialogs/three_gang_switch_dialog.dart +++ b/lib/pages/routines/widgets/routine_dialogs/three_gang_switch_dialog.dart @@ -170,7 +170,7 @@ class ThreeGangSwitchHelper { if (selectedFunction == 'countdown_1' || selectedFunction == 'countdown_2' || selectedFunction == 'countdown_3') { - final initialValue = selectedFunctionData?.value ?? 200; + final initialValue = selectedFunctionData?.value ?? 0; return _buildTemperatureSelector( context: context, initialValue: initialValue, @@ -251,7 +251,7 @@ class ThreeGangSwitchHelper { functionCode: selectCode, operationName: operationName, condition: conditions[index], - value: selectedFunctionData?.value, + value: selectedFunctionData?.value ?? 0, valueDescription: selectedFunctionData?.valueDescription, ), ), diff --git a/lib/pages/routines/widgets/routine_dialogs/two_gang_switch_dialog.dart b/lib/pages/routines/widgets/routine_dialogs/two_gang_switch_dialog.dart index d5e7007c..d6715599 100644 --- a/lib/pages/routines/widgets/routine_dialogs/two_gang_switch_dialog.dart +++ b/lib/pages/routines/widgets/routine_dialogs/two_gang_switch_dialog.dart @@ -169,7 +169,7 @@ class TwoGangSwitchHelper { }) { if (selectedFunction == 'countdown_1' || selectedFunction == 'countdown_2') { - final initialValue = selectedFunctionData?.value ?? 200; + final initialValue = selectedFunctionData?.value ?? 0; return _buildTemperatureSelector( context: context, initialValue: initialValue, @@ -250,7 +250,7 @@ class TwoGangSwitchHelper { functionCode: selectCode, operationName: operationName, condition: conditions[index], - value: selectedFunctionData?.value ?? 0.0, + value: selectedFunctionData?.value ?? 0, valueDescription: selectedFunctionData?.valueDescription, ), ), diff --git a/lib/pages/routines/widgets/routine_dialogs/wall_sensor/wps_value_selector_widget.dart b/lib/pages/routines/widgets/routine_dialogs/wall_sensor/wps_value_selector_widget.dart index b07d38a2..30232846 100644 --- a/lib/pages/routines/widgets/routine_dialogs/wall_sensor/wps_value_selector_widget.dart +++ b/lib/pages/routines/widgets/routine_dialogs/wall_sensor/wps_value_selector_widget.dart @@ -36,7 +36,7 @@ class WpsValueSelectorWidget extends StatelessWidget { dialogType: dialogType, sliderRange: sliderRange, displayedValue: getDisplayText, - initialValue: functionData.value ?? 250, + initialValue: functionData.value ?? 0.0, onConditionChanged: (condition) => context.read().add( AddFunction( functionData: DeviceFunctionData( @@ -44,7 +44,7 @@ class WpsValueSelectorWidget extends StatelessWidget { functionCode: selectedFunction, operationName: functionData.operationName, condition: condition, - value: functionData.value ?? 0.0, + value: functionData.value ?? 0, ), ), ), @@ -87,7 +87,7 @@ class WpsValueSelectorWidget extends StatelessWidget { final intValue = int.tryParse('${functionData.value ?? ''}'); return switch (functionData.functionCode) { 'presence_time' => '${intValue ?? '0'}', - 'dis_current' => '${intValue ?? '250'}', + 'dis_current' => '${intValue ?? '0'}', 'illuminance_value' => '${intValue ?? '0'}', _ => '$intValue', };