mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-15 01:35:25 +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';
|
import 'package:syncrow_web/pages/device_managment/water_heater/models/water_heater_status_model.dart';
|
||||||
|
|
||||||
class BuildScheduleView extends StatelessWidget {
|
class BuildScheduleView extends StatelessWidget {
|
||||||
const BuildScheduleView(
|
const BuildScheduleView({
|
||||||
{super.key, required this.deviceUuid, required this.category});
|
super.key,
|
||||||
|
required this.deviceUuid,
|
||||||
|
required this.category,
|
||||||
|
this.code,
|
||||||
|
this.value,
|
||||||
|
});
|
||||||
final String deviceUuid;
|
final String deviceUuid;
|
||||||
final String category;
|
final String category;
|
||||||
|
final String? code;
|
||||||
|
final String? value;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -59,11 +66,14 @@ class BuildScheduleView extends StatelessWidget {
|
|||||||
context,
|
context,
|
||||||
schedule: null,
|
schedule: null,
|
||||||
isEdit: false,
|
isEdit: false,
|
||||||
|
code: code,
|
||||||
|
value: value,
|
||||||
);
|
);
|
||||||
if (entry != null) {
|
if (entry != null) {
|
||||||
context.read<ScheduleBloc>().add(
|
context.read<ScheduleBloc>().add(
|
||||||
ScheduleAddEvent(
|
ScheduleAddEvent(
|
||||||
category: entry.category,
|
category: entry.category,
|
||||||
|
code: entry.function.code,
|
||||||
time: entry.time,
|
time: entry.time,
|
||||||
functionOn: entry.function.value,
|
functionOn: entry.function.value,
|
||||||
selectedDays: entry.days,
|
selectedDays: entry.days,
|
||||||
@ -74,7 +84,7 @@ class BuildScheduleView extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
if (state.scheduleMode == ScheduleModes.countdown ||
|
if (state.scheduleMode == ScheduleModes.countdown ||
|
||||||
state.scheduleMode == ScheduleModes.inching)
|
state.scheduleMode == ScheduleModes.inching)
|
||||||
CountdownInchingView(
|
CountdownInchingView(
|
||||||
deviceId: deviceUuid,
|
deviceId: deviceUuid,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
|
@ -17,6 +17,8 @@ class ScheduleDialogHelper {
|
|||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
ScheduleEntry? schedule,
|
ScheduleEntry? schedule,
|
||||||
bool isEdit = false,
|
bool isEdit = false,
|
||||||
|
String? code,
|
||||||
|
String? value,
|
||||||
}) {
|
}) {
|
||||||
final initialTime = schedule != null
|
final initialTime = schedule != null
|
||||||
? _convertStringToTimeOfDay(schedule.time)
|
? _convertStringToTimeOfDay(schedule.time)
|
||||||
@ -118,7 +120,9 @@ class ScheduleDialogHelper {
|
|||||||
final entry = ScheduleEntry(
|
final entry = ScheduleEntry(
|
||||||
category: schedule?.category ?? 'switch_1',
|
category: schedule?.category ?? 'switch_1',
|
||||||
time: _formatTimeOfDayToISO(selectedTime),
|
time: _formatTimeOfDayToISO(selectedTime),
|
||||||
function: Status(code: 'switch_1', value: functionOn),
|
function: Status(
|
||||||
|
code: code ?? 'switch_1',
|
||||||
|
value: value ?? functionOn),
|
||||||
days: _convertSelectedDaysToStrings(selectedDays),
|
days: _convertSelectedDaysToStrings(selectedDays),
|
||||||
scheduleId: schedule?.scheduleId,
|
scheduleId: schedule?.scheduleId,
|
||||||
);
|
);
|
||||||
|
@ -393,7 +393,7 @@ class DevicesManagementApi {
|
|||||||
required String deviceId,
|
required String deviceId,
|
||||||
required String time,
|
required String time,
|
||||||
required String code,
|
required String code,
|
||||||
required bool value,
|
required dynamic value,
|
||||||
required List<String> days,
|
required List<String> days,
|
||||||
}) async {
|
}) async {
|
||||||
final response = await HTTPService().post(
|
final response = await HTTPService().post(
|
||||||
@ -416,5 +416,4 @@ class DevicesManagementApi {
|
|||||||
);
|
);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user