mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
use dynamic instead of bool to accept mant types and fix schedual view to accept curtain code and value
This commit is contained in:
@ -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),
|
||||
|
@ -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,
|
||||
);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user