use dynamic instead of bool to accept mant types and fix schedual view to accept curtain code and value

This commit is contained in:
Rafeek-Khoudare
2025-06-27 17:55:27 +03:00
parent 0c0bf96c07
commit 26e8ff7ee2
3 changed files with 19 additions and 6 deletions

View File

@ -12,10 +12,17 @@ import 'package:syncrow_web/pages/device_managment/water_heater/helper/add_sched
import 'package:syncrow_web/pages/device_managment/water_heater/models/water_heater_status_model.dart';
class BuildScheduleView extends StatelessWidget {
const BuildScheduleView(
{super.key, required this.deviceUuid, required this.category});
const BuildScheduleView({
super.key,
required this.deviceUuid,
required this.category,
this.code,
this.value,
});
final String deviceUuid;
final String category;
final String? code;
final String? value;
@override
Widget build(BuildContext context) {
@ -59,11 +66,14 @@ class BuildScheduleView extends StatelessWidget {
context,
schedule: null,
isEdit: false,
code: code,
value: value,
);
if (entry != null) {
context.read<ScheduleBloc>().add(
ScheduleAddEvent(
category: entry.category,
code: entry.function.code,
time: entry.time,
functionOn: entry.function.value,
selectedDays: entry.days,
@ -74,7 +84,7 @@ class BuildScheduleView extends StatelessWidget {
),
if (state.scheduleMode == ScheduleModes.countdown ||
state.scheduleMode == ScheduleModes.inching)
CountdownInchingView(
CountdownInchingView(
deviceId: deviceUuid,
),
const SizedBox(height: 20),

View File

@ -17,6 +17,8 @@ class ScheduleDialogHelper {
BuildContext context, {
ScheduleEntry? schedule,
bool isEdit = false,
String? code,
String? value,
}) {
final initialTime = schedule != null
? _convertStringToTimeOfDay(schedule.time)
@ -118,7 +120,9 @@ class ScheduleDialogHelper {
final entry = ScheduleEntry(
category: schedule?.category ?? 'switch_1',
time: _formatTimeOfDayToISO(selectedTime),
function: Status(code: 'switch_1', value: functionOn),
function: Status(
code: code ?? 'switch_1',
value: value ?? functionOn),
days: _convertSelectedDaysToStrings(selectedDays),
scheduleId: schedule?.scheduleId,
);

View File

@ -393,7 +393,7 @@ class DevicesManagementApi {
required String deviceId,
required String time,
required String code,
required bool value,
required dynamic value,
required List<String> days,
}) async {
final response = await HTTPService().post(
@ -416,5 +416,4 @@ class DevicesManagementApi {
);
return response;
}
}