Refactor device name display in RoomPageSwitch widget

This commit is contained in:
mohammad
2025-04-21 15:00:31 +03:00
parent caeed8e73f
commit a51c4d9679
2 changed files with 24 additions and 6 deletions

View File

@ -259,6 +259,7 @@ mixin SceneOperationsDataHelper {
for (var condition in conditions) {
// Create a dummy Action from Condition to reuse _mapExecutorPropertyToSceneFunction
Action dummyAction = Action(
productType: condition.productType,
actionExecutor: 'device_report',
entityId: condition.entityId,
executorProperty: ExecutorProperty(
@ -833,6 +834,7 @@ mixin SceneOperationsDataHelper {
SceneStaticFunction _createSwitch1Function(Action action, bool isAutomation,
String? comparator, String? uniqueCustomId) {
print('action.productType1=${action.productType}');
switch (action.productType) {
case "3G":
return _createSceneFunction(
@ -858,12 +860,24 @@ mixin SceneOperationsDataHelper {
comparator,
uniqueCustomId,
);
default:
case "1G":
return _createSceneFunction(
action,
'1 Gang Button Switch L-L',
Assets.oneGang,
'Light Switch',
'Light 1 Switch',
OperationDialogType.onOff,
_createOnOffOptions(),
isAutomation,
comparator,
uniqueCustomId,
);
default:
return _createSceneFunction(
action,
'None',
Assets.assetsRemoteUnlockReq,
'None',
OperationDialogType.onOff,
_createOnOffOptions(),
isAutomation,
@ -1434,6 +1448,7 @@ mixin SceneOperationsDataHelper {
return [
_mapExecutorPropertyToSceneFunction(
Action(
productType: '',
entityId: deviceId,
executorProperty: ExecutorProperty(
functionCode: taskItem.code,

View File

@ -74,7 +74,7 @@ class Action {
ExecutorProperty? executorProperty;
String? name;
String? type;
String? productType;
final String productType;
Action({
required this.actionExecutor,
@ -82,7 +82,7 @@ class Action {
this.executorProperty,
this.name,
this.type,
this.productType,
required this.productType,
});
String toRawJson() => json.encode(toJson());
@ -94,7 +94,7 @@ class Action {
entityId: json["entityId"] as String,
name: json['name'] as String?,
type: json['type'] as String?,
productType: json['productType'] as String?,
productType: json['productType'] as String,
);
}
if (json["executorProperty"] == null) {
@ -105,7 +105,7 @@ class Action {
actionExecutor: json["actionExecutor"] as String,
entityId: json["entityId"] as String,
executorProperty: ExecutorProperty.fromJson(json["executorProperty"]),
productType: json['productType'] as String?,
productType: json['productType'] as String,
);
}
@ -146,12 +146,14 @@ class Condition {
final String entityId;
final String entityType;
final Expr expr;
final String productType;
Condition({
required this.code,
required this.entityId,
required this.entityType,
required this.expr,
required this.productType,
});
factory Condition.fromRawJson(String str) =>
@ -164,6 +166,7 @@ class Condition {
entityId: json["entityId"],
entityType: json["entityType"],
expr: Expr.fromJson(json["expr"]),
productType: json['productType'] as String,
);
Map<String, dynamic> toJson() => {