Implemented tab to run setting

This commit is contained in:
Abdullah Alassaf
2024-10-28 16:45:59 +03:00
parent 20fdfdde87
commit 3d56f33ec3
18 changed files with 734 additions and 718 deletions

View File

@ -4,6 +4,8 @@ class SceneDetailsModel {
final String id;
final String name;
final String status;
final String? icon;
final bool? showInDevice;
final String type;
final List<Action> actions;
final List<Condition>? conditions;
@ -16,48 +18,44 @@ class SceneDetailsModel {
required this.status,
required this.type,
required this.actions,
this.icon,
this.showInDevice,
this.conditions,
this.decisionExpr,
this.effectiveTime,
});
factory SceneDetailsModel.fromRawJson(String str) =>
SceneDetailsModel.fromJson(json.decode(str));
factory SceneDetailsModel.fromRawJson(String str) => SceneDetailsModel.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());
factory SceneDetailsModel.fromJson(Map<String, dynamic> json) =>
SceneDetailsModel(
id: json["id"],
name: json["name"],
status: json["status"],
type: json["type"],
actions: (json["actions"] as List)
.map((x) => Action.fromJson(x))
.where((x) => x != null)
.toList()
.cast<Action>(),
conditions: json["conditions"] != null
? (json["conditions"] as List)
.map((x) => Condition.fromJson(x))
.toList()
: null,
decisionExpr: json["decisionExpr"],
effectiveTime: json["effectiveTime"] != null
? EffectiveTime.fromJson(json["effectiveTime"])
: null,
);
factory SceneDetailsModel.fromJson(Map<String, dynamic> json) => SceneDetailsModel(
id: json["id"],
name: json["name"],
status: json["status"],
type: json["type"],
actions: (json["actions"] as List)
.map((x) => Action.fromJson(x))
.where((x) => x != null)
.toList()
.cast<Action>(),
conditions: json["conditions"] != null
? (json["conditions"] as List).map((x) => Condition.fromJson(x)).toList()
: null,
decisionExpr: json["decisionExpr"],
effectiveTime:
json["effectiveTime"] != null ? EffectiveTime.fromJson(json["effectiveTime"]) : null,
icon: json["iconUuid"] != null ? json["iconUuid"] ?? '' : '',
showInDevice: json['showInHome'] != null ? json['showInHome'] ?? false : false);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
"status": status,
"type": type,
"actions": List<dynamic>.from(actions.map((x) => x.toJson())),
"conditions": conditions != null
? List<dynamic>.from(conditions!.map((x) => x.toJson()))
: null,
"conditions":
conditions != null ? List<dynamic>.from(conditions!.map((x) => x.toJson())) : null,
"decisionExpr": decisionExpr,
"effectiveTime": effectiveTime?.toJson(),
};
@ -90,7 +88,7 @@ class Action {
);
}
if (json["executorProperty"] == null) {
return null;
return null;
}
return Action(
@ -118,8 +116,7 @@ class ExecutorProperty {
this.delaySeconds,
});
factory ExecutorProperty.fromJson(Map<String, dynamic> json) =>
ExecutorProperty(
factory ExecutorProperty.fromJson(Map<String, dynamic> json) => ExecutorProperty(
functionCode: json["functionCode"] ?? '',
functionValue: json["functionValue"] ?? '',
delaySeconds: json["delaySeconds"] ?? 0,
@ -145,8 +142,7 @@ class Condition {
required this.expr,
});
factory Condition.fromRawJson(String str) =>
Condition.fromJson(json.decode(str));
factory Condition.fromRawJson(String str) => Condition.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());
@ -204,8 +200,7 @@ class EffectiveTime {
required this.loops,
});
factory EffectiveTime.fromRawJson(String str) =>
EffectiveTime.fromJson(json.decode(str));
factory EffectiveTime.fromRawJson(String str) => EffectiveTime.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());